Beispiel #1
0
        public async Task <OmsJsonResult> UpdateNews(NewsFormData newsFormData)
        {
            JsonReturnData data = new JsonReturnData();

            if (ModelState.IsValid)
            {
                NewsRequestData request    = newsFormData.ToRequestData();
                NewsResultData  newsResult = await WebApiClient.PostFormJsonAsync <NewsRequestData, NewsResultData>(Constant.WebApiControllerNews, Constant.WebApiUpdateNews, request);

                if (newsResult != null && newsResult.OperationSuccess)
                {
                    NewsTranslationRequestData newsTranslationRequestData = new NewsTranslationRequestData
                    {
                        NewsTranslationDtoList = newsFormData.TranslationsList.ToItemDataList()
                    };

                    NewsTranslationResultData newsTranslationResultData = await WebApiClient.PostFormJsonAsync <NewsTranslationRequestData, NewsTranslationResultData>(Constant.WebApiControllerNews, Constant.WebApiUpdateNewsTranslationRange, newsTranslationRequestData);

                    if (newsTranslationResultData == null)
                    {
                        data.ErrorMessage     = SharedResources.ServerError;
                        data.OperationSuccess = false;
                    }
                    else if (!newsTranslationResultData.OperationSuccess && newsTranslationResultData.Errors != null && newsTranslationResultData.Errors.Count > 0)
                    {
                        data.ErrorMessage     = newsTranslationResultData.Errors.First();
                        data.OperationSuccess = false;
                    }
                    else if (newsTranslationResultData.OperationSuccess)
                    {
                        if (!Directory.Exists(Server.MapPath($"~/Images/News/" +
                                                             newsFormData.NewsId)))
                        {
                            Directory.CreateDirectory(
                                Server.MapPath($"~/Images/News/" + newsFormData.NewsId));
                        }

                        newsFormData.NewsImage?.SaveAs(
                            Server.MapPath($"~/Images/News/" + newsFormData.NewsId + $"/") +
                            newsFormData.NewsImage.FileName);

                        data.SuccessMessage   = UserResources.Ok;
                        data.OperationSuccess = true;
                    }
                }
                else if (newsResult == null)
                {
                    data.ErrorMessage     = SharedResources.ServerError;
                    data.OperationSuccess = false;
                }
                else if (!newsResult.OperationSuccess && newsResult.Errors != null && newsResult.Errors.Count > 0)
                {
                    data.ErrorMessage     = newsResult.Errors.First();
                    data.OperationSuccess = false;
                }
                else if (newsResult.OperationSuccess)
                {
                    data.SuccessMessage   = UserResources.Ok;
                    data.OperationSuccess = true;
                }
            }
            else
            {
                data = new JsonReturnData
                {
                    ErrorMessage     = NewsResources.RequiredFields,
                    OperationSuccess = false
                };
            }
            return(new OmsJsonResult(data));
        }
Beispiel #2
0
        public async Task <OmsJsonResult> CreateNews(NewsFormData newsFormData)
        {
            JsonReturnData data = new JsonReturnData();

            if (ModelState.IsValid)
            {
                NewsRequestData request = newsFormData.ToRequestData();

                if (request.NewsDto.NewsImage == null)
                {
                    request.NewsDto.NewsImage = "default-image-news.jpg";
                }

                NewsResultData result =
                    await WebApiClient.PostFormJsonAsync <NewsRequestData, NewsResultData>(Constant.WebApiControllerNews,
                                                                                           Constant.WebApiCreateNews, request);

                if (result != null && result.OperationSuccess && result.NewsDto != null)
                {
                    foreach (var translation in newsFormData.TranslationsList.ToList())
                    {
                        translation.NewsId = result.NewsDto.NewsId;
                    }
                    NewsTranslationRequestData translationRequest = new NewsTranslationRequestData
                    {
                        NewsTranslationDtoList = newsFormData.TranslationsList.ToItemDataList()
                    };

                    NewsTranslationResultData newsTranslationResultData =
                        await WebApiClient.PostFormJsonAsync <NewsTranslationRequestData, NewsTranslationResultData>(
                            Constant.WebApiControllerNews, Constant.WebApiCreateNewsTranslationRange,
                            translationRequest);

                    if (newsTranslationResultData == null)
                    {
                        data.ErrorMessage     = SharedResources.ServerError;
                        data.OperationSuccess = false;
                    }
                    else if (!newsTranslationResultData.OperationSuccess && newsTranslationResultData.Errors != null && newsTranslationResultData.Errors.Count > 0)
                    {
                        data.ErrorMessage     = newsTranslationResultData.Errors.First();
                        data.OperationSuccess = false;
                    }
                    else if (newsTranslationResultData.OperationSuccess)
                    {
                        Directory.CreateDirectory(
                            Server.MapPath($"~/Images/News/" + result.NewsDto.NewsId));

                        newsFormData.NewsImage?.SaveAs(
                            Server.MapPath($"~/Images/News/" + result.NewsDto.NewsId + $"/") +
                            newsFormData.NewsImage.FileName);

                        System.IO.File.Copy(Server.MapPath($"~/Images/Default/default-image-news.jpg"),
                                            Server.MapPath($"~/Images/News/" + result.NewsDto.NewsId +
                                                           $"/default-image-news.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     = NewsResources.RequiredFields,
                    OperationSuccess = false
                };
            }
            return(new OmsJsonResult(data));
        }