Пример #1
0
        public BusinessResponse <List <CountryResponseData> > GetCountriesByName(string countryName)
        {
            CountryRequestData countryRequestData = new CountryRequestData();

            countryRequestData.countryName = countryName;
            String endpointurl = "https://restcountries.eu/rest/v2/name/" + countryName + "?fullText=true";
            var    response    = GetAsync(endpointurl, null, null).Result;

            if (response.IsSuccessStatusCode)
            {
                var retresponse = JsonConvert.DeserializeObject <List <CountryResponseData> >(response.Result);
                return(new BusinessResponse <List <CountryResponseData> >()
                {
                    IsSuccessful = retresponse != null ? true : false,
                    ResponseObject = retresponse
                });
            }
            else
            {
                return(new BusinessResponse <List <CountryResponseData> >()
                {
                    IsSuccessful = false,
                    Message = $"{response.StatusCode}"
                });
            }
        }
Пример #2
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);
        }
Пример #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));
        }
Пример #4
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));
        }
Пример #5
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));
        }