public DynamicForm <FormValues <TFormDetailViewModel> > GetForm(long?entityId, string requestLanguage = null) { var formInputLanguage = requestLanguage ?? _localizationOptions.Value.DefaultRequestCulture.Culture.Name; var form = new DynamicForm <FormValues <TFormDetailViewModel> > { Title = _localizer["Create a new"], Details = FormUtitities.ViewModelTypeToFormField(typeof(TFormDetailViewModel), _localizer), }; if (entityId != null) { form.Title = _localizer["Update"]; form.Languages = _localizationOptions.Value.SupportedUICultures.ToDictionary(c => c.Name, c => c.NativeName); form.RequestLanguage = formInputLanguage; form.InitialValues = this.GetEntityValues(entityId ?? 0, formInputLanguage); } if (form.InitialValues != null) { form.InitialValues.Language = formInputLanguage; } else { form.InitialValues = new FormValues <TFormDetailViewModel>() { Language = formInputLanguage } }; return(form); }
public DynamicForm GetEntityForm(long entityTypeId) { var taxonomyTypesViewModels = _taxonomyHelper.GetTaxonomiesTypeViewModels(entityTypeId, true); return(new DynamicForm { Details = FormUtitities.ViewModelTypeToFormField(typeof(ImageViewModel), _stringLocalizer), TaxonomyTypes = taxonomyTypesViewModels.Select(o => new FormTaxonomyType(o)) }); }
public override JsonResult Update(FormValues <TFormDetailViewModel> formValues) { var entityDetails = FormUtitities.ViewModelToEntityDetails <TEntityDetail>(formValues.Details, formValues.Language); var result = _entityController.Update(long.Parse(formValues.Meta["id"]), entityDetails.ToArray(), formValues.GetTaxonomuTypeIdTaxonomyId(), _userManager.FindByNameAsync(User.Identity.Name).Result); return(Json( result > 0 ? new BaseAjaxResult(JsonResultState.Success, "Update successuly") : new BaseAjaxResult(JsonResultState.Failed, "Update failed"))); }
public async Task <JsonResult> Update(FormValues <ImageViewModel> formValues) { var user = await _userManager.FindByNameAsync(User.Identity.Name); var fileId = long.Parse(formValues.GetMetaValue("id")); Dictionary <long, long[]> taxonomyTypeTaxonomies = formValues.TaxonomyTypes?.ToDictionary(o => o.Key, o => o.Value.Keys.ToArray()); var entityDetails = FormUtitities.ViewModelToEntityDetails <FileEntityDetail>(formValues.Details, formValues.Language); var result = _mediaHelper.Update(fileId, entityDetails, taxonomyTypeTaxonomies, user); return(Json(result)); }
public virtual JsonResult Create(FormValues <TFormDetailViewModel> formValues) { var entityDetails = FormUtitities.ViewModelToEntityDetails <TEntityDetail>(formValues.Details, formValues.Language); var entity = new TEntity { Name = formValues.Details.Title, }; entity = _entityController.Create(entity, entityDetails.ToArray(), _userManager.FindByNameAsync(User.Identity.Name).Result); return(Json(new BaseAjaxResult(JsonResultState.Success, _entityController.GetLocalizationString("Create successfuly."), Url.Action("update", new { id = entity.Id })))); }
private ImageViewModel FileEntityToViewModel(FileEntity fileEntity) { fileEntity.Details = _entityHelper.GetDetails(fileEntity).ToList() as IList <FileEntityDetail>; foreach (var detail in fileEntity.Details) { detail.Suffix = detail.Field; } var viewModel = FormUtitities.CreateObjectFormEntityDetails(typeof(ImageViewModel), fileEntity.Details) as ImageViewModel; viewModel.SetId(fileEntity.Id); viewModel.FileName = fileEntity.Name; return(viewModel); }
public FormValues <TFormDetailViewModel> GetEntityValues(long entityId, string language) { var result = new FormValues <TFormDetailViewModel>(); var entity = EntityHelper.Entity(entityId); var details = EntityHelper.GetDetails(entity, language, _localizationOptions.Value.DefaultRequestCulture.Culture.Name).ToList(); var localizationFieldNames = details.Where(o => o.Language != null).Select(o => o.Field); var localizationFilteredDetails = details.AsEnumerable().Where(o => !(localizationFieldNames.Contains(o.Field) && o.Language == null)).ToList(); //kiểm tra Detail trong list có móc vào file(chứa "Suffix" == "url") //thêm các Detail vào list để bổ sung chi tiết(dimension, size,..etc) var tempDetails = new List <TEntityDetail>(); foreach (var detail in localizationFilteredDetails.Where(o => o.Suffix == AppKey.FileUrlPropertyName)) { var fileEntity = _mediaHelper.Entity(detail.Value, true); if (fileEntity != null) { foreach (var fileDetail in fileEntity.Details) { if (fileDetail.Field == AppKey.FileUrlPropertyName) { continue; } var tempDetail = detail.Clone() as TEntityDetail; tempDetail.Suffix = fileDetail.Field; tempDetail.Value = fileDetail.Value; tempDetails.Add(tempDetail); } } } localizationFilteredDetails.AddRange(tempDetails); result.Meta = new Dictionary <string, string>() { { "id", entityId.ToString() }, { "name", entity.Name.ToString() }, { "entityTypeId", entity.EntityTypeId?.ToString() } }; result.Details = FormUtitities.EntityDetailsToFieldValues <TEntityDetail, TFormDetailViewModel>(localizationFilteredDetails); return(result); }