/// <summary> /// Get country form to create. /// </summary> /// <returns></returns> public async Task <ActionResult> GetCreateCountry() { CreateCountryFormData countryFormData = new CreateCountryFormData { TranslationsList = new List <CountryTranslationFormData>() }; LanguageResultData result = await WebApiClient.GetAsync <LanguageResultData>(Constant.WebApiControllerLanguages, Constant.WebApiLanguageList); if (result != null && result.OperationSuccess && result.LanguageDtoList != null) { foreach (var language in result.LanguageDtoList) { var translation = new CountryTranslationFormData { LanguagePrefix = language.LanguagePrefix, LanguageId = language.LanguageId, }; countryFormData.TranslationsList.Add(translation); } } ViewBag.Action = "CreateCountry"; return(PartialView("Partials/_CreateCountry", countryFormData)); }
/// <summary> /// From FORMDATA To REQUESTDATA /// </summary> /// <param name="countryFormData"></param> /// <returns></returns> public static CountryRequestData ToRequestData(this CreateCountryFormData countryFormData) { if (countryFormData == null) { return(new CountryRequestData()); } return(new CountryRequestData { CountryDto = countryFormData.ToItemData() }); }
/// <summary> /// FROM ITEM DATA TO FORM DATA. /// </summary> /// <param name="itemData">the itemData to convert</param> /// <returns>the formdata result</returns> public static CreateCountryFormData ToCreateFormData(this CountryItemData itemData) { if (itemData == null) { return(new CreateCountryFormData()); } CreateCountryFormData formData = new CreateCountryFormData { CountryShortName = itemData.CountryShortName, CountryCode = itemData.CountryCode, CountryId = itemData.CountryId }; return(formData); }
/// <summary> /// FROM FROMDATA TO ITEMDATA. /// </summary> /// <param name="formData">the formdata to convert</param> /// <returns>the item data.</returns> public static CountryItemData ToItemData(this CreateCountryFormData formData) { if (formData == null) { return(new CountryItemData()); } CountryItemData itemData = new CountryItemData { CountryImage = formData.CountryImage?.FileName, CountryShortName = formData.CountryShortName, CountryCode = formData.CountryCode, CountryId = formData.CountryId }; return(itemData); }
/// <summary> /// validate create country. /// </summary> /// <param name="countryFormData">the countryFormData to validate.</param> /// <returns>true if the proportises are valide.</returns> public bool ValidateCreateCountryFormData(CreateCountryFormData countryFormData) { List <string> errors = new List <string>(); if (countryFormData == null) { errors.Add(SharedResources.NullFormData); } else { if (string.IsNullOrEmpty(countryFormData.CountryImageValue)) { errors.Add(CountryResources.RequiredCountryImage); } errors.AddRange(GenericValidationAttribute <CreateCountryFormData> .ValidateAttributes("CountryShortName", countryFormData.CountryShortName)); errors.AddRange(GenericValidationAttribute <CreateCountryFormData> .ValidateAttributes("CountryCode", countryFormData.CountryCode.ToString())); } return(errors.Count == 0); }
public async Task <OmsJsonResult> CreateCountry(CreateCountryFormData countryFormData) { JsonReturnData data = new JsonReturnData(); if (ModelState.IsValid) { CountryRequestData request = countryFormData.ToRequestData(); if (request.CountryDto.CountryImage == null) { request.CountryDto.CountryImage = "default-image-country.jpg"; } CountryResultData result = await WebApiClient.PostFormJsonAsync <CountryRequestData, CountryResultData>( Constant.WebApiControllerOffices, Constant.WebApiCreateCountry, request); if (result != null && result.OperationSuccess && result.CountryDto != null) { foreach (var translation in countryFormData.TranslationsList.ToList()) { translation.CountryId = result.CountryDto.CountryId; } CountryTranslationRequestData translationRequest = new CountryTranslationRequestData { CountryTranslationDtoList = countryFormData.TranslationsList.ToItemDataList() }; CountryTranslationResultData countryTranslationResultData = await WebApiClient .PostFormJsonAsync <CountryTranslationRequestData, CountryTranslationResultData>( Constant.WebApiControllerOffices, Constant.WebApiCreateCountryTranslationRange, translationRequest); if (countryTranslationResultData == null) { data.ErrorMessage = SharedResources.ServerError; data.OperationSuccess = false; } else if (!countryTranslationResultData.OperationSuccess && countryTranslationResultData.Errors != null && countryTranslationResultData.Errors.Count > 0) { data.ErrorMessage = countryTranslationResultData.Errors.First(); data.OperationSuccess = false; } else if (countryTranslationResultData.OperationSuccess) { Directory.CreateDirectory( Server.MapPath($"~/Images/Countries/" + result.CountryDto.CountryId)); countryFormData.CountryImage?.SaveAs( Server.MapPath($"~/Images/Countries/" + result.CountryDto.CountryId + $"/") + countryFormData.CountryImage?.FileName); System.IO.File.Copy(Server.MapPath($"~/Images/Default/default-image-country.jpg"), Server.MapPath($"~/Images/Countries/" + result.CountryDto.CountryId + $"/default-image-country.jpg")); data.SuccessMessage = UserResources.Ok; data.OperationSuccess = true; } } else if (result == null) { data.ErrorMessage = SharedResources.ServerError; data.OperationSuccess = false; } else if (!result.OperationSuccess && result.Errors != null && result.Errors.Count > 0) { data.ErrorMessage = result.Errors.First(); data.OperationSuccess = false; } } else { data = new JsonReturnData { ErrorMessage = CountryResources.RequiredFields, OperationSuccess = false }; } return(new OmsJsonResult(data)); }