Esempio n. 1
0
        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));
        }