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