/// <summary> /// Get NewsletterMail Model for Update /// </summary> /// <param name="newsletterMailId"></param> /// <returns></returns> public async Task <ActionResult> GetUpdateNewsletterMail(int?newsletterMailId) { NewsletterMailFormData newsletterMailFormData = new NewsletterMailFormData { TranslationsList = new List <NewsletterMailTranslationFormData>() }; if (newsletterMailId.HasValue) { NewsletterMailRequestData findNewsletterMailRequest = new NewsletterMailRequestData { NewsletterMailDto = new NewsletterMailItemData { NewsletterMailId = newsletterMailId.Value }, FindNewsletterMailDto = FindNewsletterMailItemData.NewsletterMailId }; NewsletterMailResultData resultNewsletterMail = await WebApiClient.PostFormJsonAsync <NewsletterMailRequestData, NewsletterMailResultData>(Constant.WebApiControllerNewsletters, Constant.WebApiFindNewsletterMails, findNewsletterMailRequest); if (resultNewsletterMail != null && resultNewsletterMail.OperationSuccess && resultNewsletterMail.NewsletterMailDto != null) { newsletterMailFormData.NewsletterMailId = resultNewsletterMail.NewsletterMailDto.NewsletterMailId; NewsletterMailTranslationRequestData findNewsletterMailTranslationRequest = new NewsletterMailTranslationRequestData() { NewsletterMailTranslationDto = new NewsletterMailTranslationItemData { NewsletterMailId = newsletterMailId.Value }, FindNewsletterMailTranslationDto = FindNewsletterMailTranslationItemData.NewsletterMailId }; NewsletterMailTranslationResultData resultNewsletterMailTranslation = await WebApiClient.PostFormJsonAsync <NewsletterMailTranslationRequestData, NewsletterMailTranslationResultData>(Constant.WebApiControllerNewsletters, Constant.WebApiFindNewsletterMailTranslations, findNewsletterMailTranslationRequest); if (resultNewsletterMailTranslation != null && resultNewsletterMailTranslation.OperationSuccess && resultNewsletterMailTranslation.NewsletterMailTranslationDtoList != null) { newsletterMailFormData.TranslationsList = resultNewsletterMailTranslation.NewsletterMailTranslationDtoList.ToFormDataList(); } } } ViewBag.Action = "UpdateNewsletterMail"; return(PartialView("Partials/_ManageNewsletterMail", newsletterMailFormData)); }
public async Task <OmsJsonResult> UpdateNewsletterMail(NewsletterMailFormData newsletterMailFormData) { JsonReturnData data = new JsonReturnData(); if (ModelState.IsValid) { NewsletterMailRequestData request = newsletterMailFormData.ToRequestData(); NewsletterMailResultData newsletterMailResult = await WebApiClient.PostFormJsonAsync <NewsletterMailRequestData, NewsletterMailResultData>(Constant.WebApiControllerNewsletters, Constant.WebApiUpdateNewsletterMail, request); if (newsletterMailResult != null && newsletterMailResult.OperationSuccess) { NewsletterMailTranslationRequestData newsletterMailTranslationRequestData = new NewsletterMailTranslationRequestData { NewsletterMailTranslationDtoList = newsletterMailFormData.TranslationsList.ToItemDataList() }; NewsletterMailTranslationResultData newsletterMailTranslationResultData = await WebApiClient.PostFormJsonAsync <NewsletterMailTranslationRequestData, NewsletterMailTranslationResultData>(Constant.WebApiControllerNewsletters, Constant.WebApiUpdateNewsletterMailTranslationRange, newsletterMailTranslationRequestData); if (newsletterMailTranslationResultData == null) { data.ErrorMessage = SharedResources.ServerError; data.OperationSuccess = false; } else if (!newsletterMailTranslationResultData.OperationSuccess && newsletterMailTranslationResultData.Errors != null && newsletterMailTranslationResultData.Errors.Count > 0) { data.ErrorMessage = newsletterMailTranslationResultData.Errors.First(); data.OperationSuccess = false; } else if (newsletterMailTranslationResultData.OperationSuccess) { data.SuccessMessage = UserResources.Ok; data.OperationSuccess = true; } } else if (newsletterMailResult == null) { data.ErrorMessage = SharedResources.ServerError; data.OperationSuccess = false; } else if (!newsletterMailResult.OperationSuccess && newsletterMailResult.Errors != null && newsletterMailResult.Errors.Count > 0) { data.ErrorMessage = newsletterMailResult.Errors.First(); data.OperationSuccess = false; } else if (newsletterMailResult.OperationSuccess) { foreach (var translation in newsletterMailFormData.TranslationsList) { translation.NewsletterMailSource?.SaveAs( Server.MapPath( $"~/Images/Newsletters/" + translation.NewsletterMailId + $"/") + translation.NewsletterMailSource.FileName); } data.SuccessMessage = UserResources.Ok; data.OperationSuccess = true; } } else { data = new JsonReturnData { ErrorMessage = NewsletterMailResources.RequiredFields, OperationSuccess = false }; } return(new OmsJsonResult(data)); }