+
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -226,8 +226,8 @@ public static void ToModelValue(this ViewModels.MixDatabaseDataValues.UpdateView
break;

case MixDataType.Boolean:
item.BooleanValue = property.HasValues ? property.Value<bool?>() : null;
item.StringValue = property.HasValues ? property.Value<string>()?.ToLower() : null;
item.BooleanValue = property.Value<bool?>();
item.StringValue = property.Value<string>()?.ToLower();
break;

case MixDataType.Integer:
Expand Down
55 changes: 32 additions & 23 deletions src/Mix.Cms.Lib/ViewModels/MixDatabaseDatas/FormViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ public FormViewModel(MixDatabaseData model, MixCmsContext _context = null, IDbCo

public override void ExpandView(MixCmsContext _context = null, IDbContextTransaction _transaction = null)
{
Columns ??= MixDatabases.UpdateViewModel.Repository.GetSingleModel(f => f.Id == MixDatabaseId
Columns ??= MixDatabases.UpdateViewModel.Repository.GetSingleModel(f => f.Name == MixDatabaseName
, _context, _transaction).Data.Columns;

if (Obj == null)
Expand Down Expand Up @@ -152,7 +152,9 @@ public override MixDatabaseData ParseModel(
Id = Guid.NewGuid().ToString();
CreatedDateTime = DateTime.UtcNow;
Status = MixContentStatus.Published;
Priority = Repository.Count(m => m.MixDatabaseName == MixDatabaseName && m.Specificulture == Specificulture, _context, _transaction).Data + 1;
Priority = Repository.Count(
m => m.MixDatabaseName == MixDatabaseName && m.Specificulture == Specificulture,
_context, _transaction).Data + 1;
}

if (string.IsNullOrEmpty(MixDatabaseName))
Expand All @@ -164,11 +166,13 @@ public override MixDatabaseData ParseModel(
MixDatabaseId = _context.MixDatabase.First(m => m.Name == MixDatabaseName)?.Id ?? 0;
}
Values ??= MixDatabaseDataValues.UpdateViewModel
.Repository.GetModelListBy(a => a.DataId == Id && a.MixDatabaseName == MixDatabaseName && a.Specificulture == Specificulture
, _context, _transaction)
.Repository.GetModelListBy(
a => a.DataId == Id && a.MixDatabaseName == MixDatabaseName && a.Specificulture == Specificulture,
_context, _transaction)
.Data.OrderBy(a => a.Priority).ToList();
Columns ??= MixDatabaseColumns.UpdateViewModel.Repository.GetModelListBy(f => f.MixDatabaseId == MixDatabaseId
, _context, _transaction).Data;
Columns ??= MixDatabaseColumns.UpdateViewModel.Repository.GetModelListBy(
f => f.MixDatabaseId == MixDatabaseId,
_context, _transaction).Data;
Columns.AddRange(
Values
.Where(v => v.Column != null && !Columns.Any(f => f.Name == v.Column?.Name))
Expand All @@ -184,6 +188,7 @@ public override MixDatabaseData ParseModel(
{
MixDatabaseColumnId = col.Id,
MixDatabaseColumnName = col.Name,
MixDatabaseName = col.MixDatabaseName,
StringValue = col.DefaultValue,
Priority = col.Priority,
Column = col,
Expand Down Expand Up @@ -411,7 +416,7 @@ public async Task<RepositoryResponse<bool>> SaveValues(MixDatabaseData parent, M
result.Data = true;
return result;
}
catch(Exception ex)
catch (Exception ex)
{
result.Errors.Add(ex.Message);
result.Exception = ex;
Expand All @@ -434,25 +439,29 @@ private async Task<RepositoryResponse<bool>> SaveRefDataAsync(MixDatabaseData pa
{
if (result.IsSucceed)
{
item.Specificulture = Specificulture;
item.ParentId = parent.Id;
item.ParentType = MixDatabaseParentType.Set;
item.Status = MixContentStatus.Published;
var saveRef = await item.SaveModelAsync(true, context, transaction);
if (saveRef.IsSucceed)
if (string.IsNullOrEmpty(item.Id))
{
RelatedData.Add(new MixDatabaseDataAssociations.UpdateViewModel()

item.Specificulture = Specificulture;
item.ParentId = parent.Id;
item.ParentType = MixDatabaseParentType.Set;
item.Status = MixContentStatus.Published;
var saveRef = await item.SaveModelAsync(true, context, transaction);
if (saveRef.IsSucceed)
{
DataId = saveRef.Data.Id,
ParentId = Id,
ParentType = MixDatabaseParentType.Set,
MixDatabaseId = saveRef.Data.MixDatabaseId,
MixDatabaseName = saveRef.Data.MixDatabaseName,
CreatedDateTime = DateTime.UtcNow,
Specificulture = Specificulture
});
RelatedData.Add(new MixDatabaseDataAssociations.UpdateViewModel(new()
{
DataId = saveRef.Data.Id,
ParentId = Id,
ParentType = MixDatabaseParentType.Set,
MixDatabaseId = saveRef.Data.MixDatabaseId,
MixDatabaseName = saveRef.Data.MixDatabaseName,
CreatedDateTime = DateTime.UtcNow,
Specificulture = Specificulture
}, context, transaction));
}
ViewModelHelper.HandleResult(saveRef, ref result);
}
ViewModelHelper.HandleResult(saveRef, ref result);
}
else
{
Expand Down
10 changes: 5 additions & 5 deletions src/Mix.Cms.Lib/ViewModels/MixDatabaseDatas/Helper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public static async Task SendMail(string mixDatabase, string culture, JObject da
var edm = getEdmInfo.Data;
bool sendToSender = edm.Property<bool>("sendToSender");
string senderColumnName = edm.Property<string>("senderColumnName");
string recipients = edm.Property<string>("recipients");
var recipients = edm.Property<JArray>("recipients")?.Select(m => m.Value<string>("text"));
string senderEmail = GetJToken(senderColumnName, data)?.Value<string>();

if (sendToSender && !string.IsNullOrEmpty(senderEmail))
Expand All @@ -90,13 +90,13 @@ public static async Task SendMail(string mixDatabase, string culture, JObject da
);
}

if (!string.IsNullOrEmpty(recipients))
if (recipients.Count() > 0)
{
string senderBody = GetEdmBody(edm.Property<string>("adminTemplate"), data);
MixService.SendMail(
edm.Property<string>("title"),
senderBody,
senderEmail,
string.Join(',', recipients),
edm.Property<string>("from")
);
}
Expand Down Expand Up @@ -283,15 +283,15 @@ public static async Task<FormViewModel> GetBlankFormDataAsync(string mixDatabase
};
foreach (var item in result.Columns)
{
if (item.DataType!= MixDataType.Reference)
if (item.DataType != MixDataType.Reference)
{
result.Obj.Add(new JProperty(item.Name, item.DefaultValue ?? string.Empty));
}
else
{
result.Obj.Add(new JProperty(item.Name, new JArray()));
}

}
return result;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Mix.Cms.Lib/ViewModels/MixDatabases/UpdateViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ public override void ExpandView(MixCmsContext _context = null, IDbContextTransac
if (Id > 0)
{
Columns = MixDatabaseColumns.UpdateViewModel
.Repository.GetModelListBy(a => a.MixDatabaseId == Id || a.MixDatabaseName == Name, _context, _transaction).Data?.OrderBy(a => a.Priority).ToList()
.Repository.GetModelListBy(a => a.MixDatabaseName == Name, _context, _transaction).Data?.OrderBy(a => a.Priority).ToList()
?? new List<MixDatabaseColumns.UpdateViewModel>();
}
else
Expand Down
Loading
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载