Beispiel #1
0
        /// <summary>
        /// Find country by id.
        /// </summary>
        /// <param name="countryId">The country name.</param>
        /// <returns>The CountryViewData.</returns>
        private async Task <CountryViewData> FindCountries(int countryId)
        {
            CountryRequestData request = new CountryRequestData
            {
                CountryDto = new CountryItemData {
                    CountryId = countryId
                },
                FindCountryDto = FindCountryItemData.CountryId
            };
            CountryResultData result =
                await WebApiClient.PostFormJsonAsync <CountryRequestData, CountryResultData>(
                    Constant.WebApiControllerOffices, Constant.WebApiFindCountries, request);


            CountryViewData countryViewData = new CountryViewData();

            if (result == null || !result.OperationSuccess ||
                result.CountryDtoList == null)
            {
                return(countryViewData);
            }

            countryViewData = new CountryViewData
            {
                TranslationsList = await GetCountryTranslations(result.CountryDto.CountryId),
                Country          = result.CountryDto
            };
            return(countryViewData);
        }
Beispiel #2
0
        /// <summary>
        /// Get the list of the countrises.
        /// </summary>
        /// <returns></returns>
        private async Task <List <CountryViewData> > GetCountries()
        {
            CountryResultData countryResultData =
                await WebApiClient.GetAsync <CountryResultData>(Constant.WebApiControllerOffices,
                                                                Constant.WebApiCountryList);

            List <CountryViewData> countriesList = new List <CountryViewData>();

            if (countryResultData == null || !countryResultData.OperationSuccess ||
                countryResultData.CountryDtoList == null)
            {
                return(countriesList);
            }
            foreach (var countryDto in countryResultData.CountryDtoList)
            {
                CountryViewData country = new CountryViewData
                {
                    TranslationsList = new List <CountryTranslationItemData>(),
                    Country          = countryDto
                };
                country.TranslationsList = await GetCountryTranslations(countryDto.CountryId);

                countriesList.Add(country);
            }
            return(countriesList);
        }
Beispiel #3
0
        /// <summary>
        /// Get Country Model for Update
        /// </summary>
        /// <param name="countryId"></param>
        /// <returns></returns>
        public async Task <ActionResult> GetUpdateCountry(int?countryId)
        {
            UpdateCountryFormData countryFormData = new UpdateCountryFormData
            {
                TranslationsList = new List <CountryTranslationFormData>()
            };

            if (countryId.HasValue)
            {
                CountryRequestData findCountryRequest = new CountryRequestData
                {
                    CountryDto = new CountryItemData {
                        CountryId = countryId.Value
                    },
                    FindCountryDto = FindCountryItemData.CountryId
                };
                CountryResultData resultCountry =
                    await WebApiClient.PostFormJsonAsync <CountryRequestData, CountryResultData>(
                        Constant.WebApiControllerOffices, Constant.WebApiFindCountries, findCountryRequest);

                if (resultCountry != null && resultCountry.OperationSuccess && resultCountry.CountryDto != null)
                {
                    countryFormData = resultCountry.CountryDto.ToUpdateFormData();
                    CountryTranslationRequestData findCountryTranslationRequest = new CountryTranslationRequestData()
                    {
                        CountryTranslationDto = new CountryTranslationItemData {
                            CountryId = countryId.Value
                        },
                        FindCountryTranslationDto = FindCountryTranslationItemData.CountryId
                    };
                    CountryTranslationResultData resultCountryTranslation =
                        await WebApiClient
                        .PostFormJsonAsync <CountryTranslationRequestData, CountryTranslationResultData>(
                            Constant.WebApiControllerOffices, Constant.WebApiFindCountryTranslations,
                            findCountryTranslationRequest);

                    if (resultCountryTranslation != null && resultCountryTranslation.OperationSuccess && resultCountryTranslation.CountryTranslationDtoList != null)
                    {
                        countryFormData.TranslationsList = resultCountryTranslation.CountryTranslationDtoList.ToFormDataList();
                    }
                }
            }
            ViewBag.Action = "UpdateCountry";
            return(PartialView("Partials/_UpdateCountry", countryFormData));
        }
Beispiel #4
0
        /// <summary>
        /// Delete Country
        /// </summary>
        /// <param name="countryId"></param>
        /// <returns></returns>
        public async Task <ActionResult> DeleteCountry(int countryId)
        {
            JsonReturnData data = new JsonReturnData();

            if (countryId > 0)
            {
                string            param  = $"{nameof(countryId)}={countryId}";
                CountryResultData result =
                    await WebApiClient.DeleteAsync <CountryResultData>(Constant.WebApiControllerOffices,
                                                                       Constant.WebApiRemoveCountry, param);

                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 if (result.OperationSuccess)
                {
                    if (Directory.Exists(Server.MapPath($"~/Images/Countries/" + countryId)))
                    {
                        Directory.Delete(Server.MapPath($"~/Images/Countries/" + countryId), true);
                    }
                    data.SuccessMessage   = UserResources.Ok;
                    data.OperationSuccess = true;
                }
            }
            else
            {
                data.ErrorMessage     = UserResources.RequiredUserId;
                data.OperationSuccess = false;
            }
            return(new OmsJsonResult(data));
        }
Beispiel #5
0
        public async Task <OmsJsonResult> UpdateCountry(UpdateCountryFormData countryFormData)
        {
            JsonReturnData data = new JsonReturnData();

            if (ModelState.IsValid)
            {
                CountryRequestData request       = countryFormData.ToRequestData();
                CountryResultData  countryResult =
                    await WebApiClient.PostFormJsonAsync <CountryRequestData, CountryResultData>(
                        Constant.WebApiControllerOffices, Constant.WebApiUpdateCountry, request);

                if (countryResult != null && countryResult.OperationSuccess)
                {
                    CountryTranslationRequestData countryTranslationRequestData = new CountryTranslationRequestData
                    {
                        CountryTranslationDtoList = countryFormData.TranslationsList.ToItemDataList()
                    };

                    CountryTranslationResultData countryTranslationResultData =
                        await WebApiClient
                        .PostFormJsonAsync <CountryTranslationRequestData, CountryTranslationResultData>(
                            Constant.WebApiControllerOffices, Constant.WebApiUpdateCountryTranslationRange,
                            countryTranslationRequestData);

                    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)
                    {
                        if (!Directory.Exists(Server.MapPath($"~/Images/Countries/" + countryFormData.CountryId)))
                        {
                            Directory.CreateDirectory(
                                Server.MapPath($"~/Images/Countries/" + countryFormData.CountryId));
                        }

                        countryFormData.CountryImage?.SaveAs(
                            Server.MapPath($"~/Images/Countries/" + countryFormData.CountryId + $"/") +
                            countryFormData.CountryImage?.FileName);

                        data.SuccessMessage   = UserResources.Ok;
                        data.OperationSuccess = true;
                    }
                }
                else if (countryResult == null)
                {
                    data.ErrorMessage     = SharedResources.ServerError;
                    data.OperationSuccess = false;
                }
                else if (!countryResult.OperationSuccess && countryResult.Errors != null && countryResult.Errors.Count > 0)
                {
                    data.ErrorMessage     = countryResult.Errors.First();
                    data.OperationSuccess = false;
                }
            }
            else
            {
                data = new JsonReturnData
                {
                    ErrorMessage     = CountryResources.RequiredFields,
                    OperationSuccess = false
                };
            }
            return(new OmsJsonResult(data));
        }
Beispiel #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));
        }