コード例 #1
0
        /// <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));
        }
コード例 #2
0
 /// <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()
     });
 }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        /// <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);
        }
コード例 #6
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));
        }