public override MixProduct ParseModel(MixCmsContext _context = null, IDbContextTransaction _transaction = null) { if (Id == 0) { Id = Repository.Max(c => c.Id, _context, _transaction).Data + 1; CreatedDateTime = DateTime.UtcNow; } if (Properties != null && Properties.Count > 0) { JArray arrProperties = new JArray(); foreach (var p in Properties.Where(p => !string.IsNullOrEmpty(p.Value) && !string.IsNullOrEmpty(p.Name)).OrderBy(p => p.Priority)) { arrProperties.Add(JObject.FromObject(p)); } ExtraProperties = arrProperties.ToString(Formatting.None); } Template = View != null?string.Format(@"{0}/{1}{2}", View.FolderType, View.FileName, View.Extension) : Template; if (ThumbnailFileStream != null) { string folder = CommonHelper.GetFullPath(new string[] { MixConstants.Folder.UploadFolder, "Products", DateTime.UtcNow.ToString("dd-MM-yyyy") }); string filename = CommonHelper.GetRandomName(ThumbnailFileStream.Name); bool saveThumbnail = CommonHelper.SaveFileBase64(folder, filename, ThumbnailFileStream.Base64); if (saveThumbnail) { CommonHelper.RemoveFile(Thumbnail); Thumbnail = CommonHelper.GetFullPath(new string[] { folder, filename }); } } if (ImageFileStream != null) { string folder = CommonHelper.GetFullPath(new string[] { MixConstants.Folder.UploadFolder, "Products", DateTime.UtcNow.ToString("dd-MM-yyyy") }); string filename = CommonHelper.GetRandomName(ImageFileStream.Name); bool saveImage = CommonHelper.SaveFileBase64(folder, filename, ImageFileStream.Base64); if (saveImage) { CommonHelper.RemoveFile(Image); Image = CommonHelper.GetFullPath(new string[] { folder, filename }); } } Tags = ListTag.ToString(Newtonsoft.Json.Formatting.None); NormalPrice = MixCmsHelper.ReversePrice(StrNormalPrice); DealPrice = MixCmsHelper.ReversePrice(StrDealPrice); ImportPrice = MixCmsHelper.ReversePrice(StrImportPrice); GenerateSEO(); return(base.ParseModel(_context, _transaction)); }