/// <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); }
/// <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); }
/// <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)); }
/// <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)); }
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)); }
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)); }