예제 #1
0
        public async Task <OmsJsonResult> UpdatePartner(PartnerFormData partnerFormData)
        {
            PartnerRequestData request = partnerFormData.ToRequestData();
            PartnerResultData  result  = await WebApiClient.PostFormJsonAsync <PartnerRequestData, PartnerResultData>(Constant.WebApiControllerPartners, Constant.WebApiUpdatePartner, request);

            JsonReturnData data = new JsonReturnData();

            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/Partners/" + partnerFormData.PartnerId + $"/")))
                {
                    Directory.CreateDirectory(
                        Server.MapPath($"~/Images/Partners/" + partnerFormData.PartnerId));
                }

                partnerFormData.PartnerImage?.SaveAs(
                    Server.MapPath($"~/Images/Partners/" + partnerFormData.PartnerId + $"/") +
                    partnerFormData.PartnerImage.FileName);

                data.SuccessMessage   = UserResources.Ok;
                data.OperationSuccess = true;
            }
            return(new OmsJsonResult(data));
        }
예제 #2
0
        public async Task <OmsJsonResult> UpdateSheet(SheetFormData sheetFormData)
        {
            JsonReturnData data = new JsonReturnData();

            if (ModelState.IsValid)
            {
                SheetRequestData request = sheetFormData.ToRequestData();
                SheetResultData  result  = await WebApiClient.PostFormJsonAsync <SheetRequestData, SheetResultData>(Constant.WebApiControllerOffices, Constant.WebApiUpdateSheet, request);

                if (result != null && result.OperationSuccess)
                {
                    SheetTranslationRequestData translationRequest = new SheetTranslationRequestData
                    {
                        SheetTranslationDtoList = sheetFormData.TranslationsList.ToItemDataList()
                    };

                    SheetTranslationResultData sheetTranslationResultData = await WebApiClient.PostFormJsonAsync <SheetTranslationRequestData, SheetTranslationResultData>(Constant.WebApiControllerOffices, Constant.WebApiUpdateSheetTranslationRange, translationRequest);

                    if (sheetTranslationResultData == null)
                    {
                        data.ErrorMessage     = SharedResources.ServerError;
                        data.OperationSuccess = false;
                    }
                    else if (sheetTranslationResultData.Errors != null && (!sheetTranslationResultData.OperationSuccess || sheetTranslationResultData.Errors != null || sheetTranslationResultData.Errors.Count > 0))
                    {
                        data.ErrorMessage     = sheetTranslationResultData.Errors.FirstOrDefault();
                        data.OperationSuccess = false;
                    }
                    else if (sheetTranslationResultData.OperationSuccess)
                    {
                        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 if (result.OperationSuccess)
                {
                    data.SuccessMessage   = UserResources.Ok;
                    data.OperationSuccess = true;
                }
            }
            else
            {
                data = new JsonReturnData
                {
                    ErrorMessage     = CountryResources.RequiredFields,
                    OperationSuccess = false
                };
            }
            return(new OmsJsonResult(data));
        }
예제 #3
0
        public async Task <OmsJsonResult> CreateSubscribe(SubscriberFormData subscriberFormData)
        {
            JsonReturnData data = new JsonReturnData();

            if (ModelState.IsValid)
            {
                SubscriberRequestData request = subscriberFormData.ToRequestData();
                SubscriberResultData  result  =
                    await WebApiClient.PostFormJsonAsync <SubscriberRequestData, SubscriberResultData>(
                        Constant.WebApiControllerNewsletters, Constant.WebApiCreateSubscriber, request);

                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)
                {
                    data.SuccessMessage   = NewsletterResources.ResourceManager.GetString("Ok", Thread.CurrentThread.CurrentCulture);
                    data.OperationSuccess = true;
                }
                return(new OmsJsonResult(data));
            }
            data = new JsonReturnData
            {
                OperationSuccess = false,
                ErrorMessage     = SharedResources.ValidationErrors
            };
            return(new OmsJsonResult(data));
        }
예제 #4
0
        public async Task <OmsJsonResult> UpdateLanguage(UpdateLanguageFormData languageFormData)
        {
            LanguageRequestData request = languageFormData.ToUpdateRequestData();
            LanguageResultData  result  = await WebApiClient.PostFormJsonAsync <LanguageRequestData, LanguageResultData>(Constant.WebApiControllerLanguages, Constant.WebApiUpdateLanguage, request);

            JsonReturnData data = new JsonReturnData();

            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/Languages/" + languageFormData.LanguageId)))
                {
                    Directory.CreateDirectory(
                        Server.MapPath($"~/Images/Languages/" + languageFormData.LanguageId));
                }
                languageFormData.LanguagePicture?.SaveAs(
                    Server.MapPath($"~/Images/Languages/" + languageFormData.LanguageId + $"/") +
                    languageFormData.LanguagePicture.FileName);

                data.SuccessMessage   = LanguageResources.ok;
                data.OperationSuccess = true;
            }
            return(new OmsJsonResult(data));
        }
예제 #5
0
        public async Task <OmsJsonResult> DeleteRule(int ruleId)
        {
            JsonReturnData data = new JsonReturnData();

            if (ruleId > 0)
            {
                string         param  = $"{nameof(ruleId)}={ruleId}";
                RuleResultData result = await WebApiClient.DeleteAsync <RuleResultData>(Constant.WebApiControllerRule, Constant.WebApiRemoveRule, 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)
                {
                    data.SuccessMessage   = RuleResources.Ok;
                    data.OperationSuccess = true;
                }
            }
            else
            {
                data.ErrorMessage     = RuleResources.RequiredId;
                data.OperationSuccess = false;
            }
            return(new OmsJsonResult(data));
        }
예제 #6
0
        /// <summary>
        /// Activate user.
        /// </summary>
        /// <param name="userId">the user to activate.</param>
        /// <returns></returns>
        public async Task <OmsJsonResult> ActivateUser(int?userId)
        {
            JsonReturnData data = new JsonReturnData();

            if (userId.HasValue)
            {
                //find user.
                UserRequestData findRequest = new UserRequestData
                {
                    UserDto = new UserItemData()
                    {
                        UserId = userId.Value
                    },
                    FindUserDto = FindUserItemData.UserId
                };

                UserResultData result = await WebApiClient.PostFormJsonAsync <UserRequestData, UserResultData>(Constant.WebApiControllerUser, Constant.WebApiFindUser, findRequest);

                if (result != null && result.OperationSuccess && result.UserDto != null)
                {
                    result.UserDto.UserStatut = !result.UserDto.UserStatut;

                    //update user.
                    UserResultData updatedResult = await WebApiClient.PostFormJsonAsync <UserRequestData, UserResultData>(Constant.WebApiControllerUser, Constant.WebApiUpdateUser, result.ToUserRequestData());

                    if (updatedResult == null)
                    {
                        data.ErrorMessage     = SharedResources.ServerError;
                        data.OperationSuccess = false;
                    }
                    else if (!updatedResult.OperationSuccess && updatedResult.Errors != null &&
                             updatedResult.Errors.Count > 0)
                    {
                        data.ErrorMessage     = updatedResult.Errors.First();
                        data.OperationSuccess = false;
                    }
                    else if (updatedResult.OperationSuccess)
                    {
                        data.SuccessMessage   = UserResources.Ok;
                        data.OperationSuccess = true;
                    }
                }
                else
                {
                    data.SuccessMessage   = UserResources.NotFound;
                    data.OperationSuccess = false;
                }
            }
            else
            {
                data.ErrorMessage     = UserResources.RequiredUserId;
                data.OperationSuccess = false;
            }
            return(new OmsJsonResult(data));
        }
예제 #7
0
        public async Task <OmsJsonResult> CreateUser(ManageUserFormData userFormData)
        {
            UserRequestData userRequestData = userFormData.ToRequestData();

            if (userRequestData.UserDto.UserPicture == null)
            {
                userRequestData.UserDto.UserPicture = "default-user.png";
            }
            else
            {
                userFormData.UserPicture.SaveAs(Server.MapPath($"~/Images/Users/" + userFormData.UserPicture.FileName));
            }

            UserResultData result =
                await WebApiClient.PostFormJsonAsync <UserRequestData, UserResultData>(Constant.WebApiControllerUser,
                                                                                       Constant.WebApiCreateUser, userRequestData);

            JsonReturnData data = new JsonReturnData();

            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)
            {
                //send mail :
                string bodyText = System.IO.File.ReadAllText(Server.MapPath($"/Templates/NewUserMail.html"));
                bodyText = bodyText.Replace("{passe}", result.UserDto.UserPassword);
                bodyText = bodyText.Replace("{login}", result.UserDto.UserMail);

                Thread mailThread = new Thread(() =>
                                               MaillingService.SendMail(result.UserDto.UserMail, SharedResources.SubjectUserMail, bodyText, true));
                mailThread.Start();

                data.SuccessMessage   = UserResources.Ok;
                data.OperationSuccess = true;
            }

            return(new OmsJsonResult(data));
        }
예제 #8
0
        public OmsJsonResult SendMessage(ContactFormData contactFormData)
        {
            JsonReturnData data = new JsonReturnData();

            if (ModelState.IsValid)
            {
                data.SuccessMessage   = ContactResources.ResourceManager.GetString("Ok", Thread.CurrentThread.CurrentCulture);
                data.OperationSuccess = true;
                return(new OmsJsonResult(data));
            }
            data = new JsonReturnData
            {
                ErrorMessage     = SharedResources.ResourceManager.GetString("ValidationErrors", Thread.CurrentThread.CurrentCulture),
                OperationSuccess = false,
            };
            return(new OmsJsonResult(data));
        }
예제 #9
0
        /// <summary>
        /// Delete NewsletterMail
        /// </summary>
        /// <param name="newsletterMailId"></param>
        /// <returns></returns>
        public async Task <ActionResult> DeleteNewsletterMail(int newsletterMailId)
        {
            JsonReturnData data = new JsonReturnData();

            if (newsletterMailId > 0)
            {
                string param = $"{nameof(newsletterMailId)}={newsletterMailId}";
                NewsletterMailResultData result = await WebApiClient.DeleteAsync <NewsletterMailResultData>(Constant.WebApiControllerNewsletters, Constant.WebApiRemoveNewsletterMail, 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/Newsletters/" + newsletterMailId)))

                    {
                        Directory.Delete(Server.MapPath($"~/Images/Newsletters/" + newsletterMailId), true);
                    }

                    data.SuccessMessage   = UserResources.Ok;
                    data.OperationSuccess = true;
                }
            }
            else
            {
                data.ErrorMessage     = UserResources.RequiredUserId;
                data.OperationSuccess = false;
            }
            return(new OmsJsonResult(data));
        }
예제 #10
0
        public async Task <OmsJsonResult> UpdateProfile(ManageUserFormData userForm)
        {
            UserResultData result = await WebApiClient.PostFormJsonAsync <UserRequestData, UserResultData>(Constant.WebApiControllerUser, Constant.WebApiUpdateUser, userForm.ToRequestData());

            JsonReturnData data = new JsonReturnData();

            if (result != null && result.OperationSuccess)
            {
                data.SuccessMessage   = UserResources.Ok;
                data.OperationSuccess = true;
            }
            else if (result != null && result.OperationSuccess == false && result.Errors != null && result.Errors.Any())
            {
                data.ErrorMessage     = result.Errors.First();
                data.OperationSuccess = false;
            }
            else if (result == null)
            {
                data.ErrorMessage     = SharedResources.ServerError;
                data.OperationSuccess = false;
            }
            return(new OmsJsonResult(data));
        }
예제 #11
0
        public async Task <OmsJsonResult> DeleteLanguage(int languageId)
        {
            JsonReturnData data = new JsonReturnData();

            if (languageId > 0)
            {
                string             param  = $"{nameof(languageId)}={languageId}";
                LanguageResultData result = await WebApiClient.DeleteAsync <LanguageResultData>(Constant.WebApiControllerLanguages, Constant.WebApiRemoveLanguage, 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/Languages/" + languageId)))
                    {
                        Directory.Delete(Server.MapPath($"~/Images/Languages/" + languageId), true);
                    }

                    data.SuccessMessage   = LanguageResources.ok;
                    data.OperationSuccess = true;
                }
            }
            else
            {
                data.ErrorMessage     = LanguageResources.RequiredId;
                data.OperationSuccess = false;
            }
            return(new OmsJsonResult(data));
        }
예제 #12
0
        /// <summary>
        /// update user rule
        /// </summary>
        /// <param name="manageUserRulesFormData">the user rule form data</param>
        /// <returns>result updating user rule</returns>
        public async Task <OmsJsonResult> SetUserRules(ManageUserRulesFormData manageUserRulesFormData)
        {
            UserRuleRequestData userRuleRequestData = new UserRuleRequestData
            {
                UserRuleDtoList = new List <UserRuleItemData>()
            };

            foreach (var userRule in manageUserRulesFormData.Rules)
            {
                UserRuleItemData userRuleItemData = userRule.ToUserRuleItemData();
                userRuleItemData.UserId = manageUserRulesFormData.UserId;
                userRuleRequestData.UserRuleDtoList.Add(userRuleItemData);
            }


            UserRuleResultData userRuleResultData = await WebApiClient.PostFormJsonAsync <UserRuleRequestData, UserRuleResultData>(Constant.WebApiControllerUser, Constant.WebApiUpdateUserRuleRange, userRuleRequestData);

            JsonReturnData data = new JsonReturnData();

            if (userRuleResultData == null)
            {
                data.ErrorMessage     = SharedResources.ServerError;
                data.OperationSuccess = false;
            }
            else if (!userRuleResultData.OperationSuccess && userRuleResultData.Errors != null && userRuleResultData.Errors.Count > 0)
            {
                data.ErrorMessage     = userRuleResultData.Errors.First();
                data.OperationSuccess = false;
            }
            else if (userRuleResultData.OperationSuccess)
            {
                data.SuccessMessage   = UserResources.Ok;
                data.OperationSuccess = true;
            }
            return(new OmsJsonResult(data));
        }
예제 #13
0
        public async Task <OmsJsonResult> UpdateSubscriber(SubscriberFormData subscriberFormData)
        {
            SubscriberRequestData request = subscriberFormData.ToRequestData();
            SubscriberResultData  result  = await WebApiClient.PostFormJsonAsync <SubscriberRequestData, SubscriberResultData>(Constant.WebApiControllerNewsletters, Constant.WebApiUpdateSubscriber, request);

            JsonReturnData data = new JsonReturnData();

            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)
            {
                data.SuccessMessage   = UserResources.Ok;
                data.OperationSuccess = true;
            }
            return(new OmsJsonResult(data));
        }
예제 #14
0
        public async Task <OmsJsonResult> UpdateRule(ManageRuleFormData ruleFormData)
        {
            RuleRequestData request = ruleFormData.ToRequestData();
            RuleResultData  result  = await WebApiClient.PostFormJsonAsync <RuleRequestData, RuleResultData>(Constant.WebApiControllerRule, Constant.WebApiUpdateRule, request);

            JsonReturnData data = new JsonReturnData();

            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)
            {
                data.SuccessMessage   = RuleResources.Ok;
                data.OperationSuccess = true;
            }
            return(new OmsJsonResult(data));
        }
예제 #15
0
        public async Task <OmsJsonResult> UpdateOccurrence(OccurrenceFormData occurrenceFormData)
        {
            JsonReturnData data = new JsonReturnData();

            if (ModelState.IsValid)
            {
                OccurrenceRequestData request          = occurrenceFormData.ToRequestData();
                OccurrenceResultData  occurrenceResult =
                    await WebApiClient.PostFormJsonAsync <OccurrenceRequestData, OccurrenceResultData>(
                        Constant.WebApiControllerOccurrences, Constant.WebApiUpdateOccurrence, request);

                if (occurrenceResult != null && occurrenceResult.OperationSuccess)
                {
                    OccurrenceTranslationRequestData occurrenceTranslationRequestData = new OccurrenceTranslationRequestData
                    {
                        OccurrenceTranslationDtoList = occurrenceFormData.TranslationsList.ToItemDataList()
                    };

                    OccurrenceTranslationResultData occurrenceTranslationResultData =
                        await WebApiClient
                        .PostFormJsonAsync <OccurrenceTranslationRequestData, OccurrenceTranslationResultData>(
                            Constant.WebApiControllerOccurrences, Constant.WebApiUpdateOccurrenceTranslationRange,
                            occurrenceTranslationRequestData);

                    if (occurrenceTranslationResultData == null)
                    {
                        data.ErrorMessage     = SharedResources.ServerError;
                        data.OperationSuccess = false;
                    }
                    else if (!occurrenceTranslationResultData.OperationSuccess && occurrenceTranslationResultData.Errors != null && occurrenceTranslationResultData.Errors.Count > 0)
                    {
                        data.ErrorMessage     = occurrenceTranslationResultData.Errors.First();
                        data.OperationSuccess = false;
                    }
                    else if (occurrenceTranslationResultData.OperationSuccess)
                    {
                        data.SuccessMessage   = UserResources.Ok;
                        data.OperationSuccess = true;
                    }
                }
                else if (occurrenceResult == null)
                {
                    data.ErrorMessage     = SharedResources.ServerError;
                    data.OperationSuccess = false;
                }
                else if (!occurrenceResult.OperationSuccess && occurrenceResult.Errors != null && occurrenceResult.Errors.Count > 0)
                {
                    data.ErrorMessage     = occurrenceResult.Errors.First();
                    data.OperationSuccess = false;
                }
                else if (occurrenceResult.OperationSuccess)
                {
                    data.SuccessMessage   = UserResources.Ok;
                    data.OperationSuccess = true;
                }
            }
            else
            {
                data = new JsonReturnData
                {
                    ErrorMessage     = OccurrenceResources.RequiredFields,
                    OperationSuccess = false
                };
            }
            return(new OmsJsonResult(data));
        }
예제 #16
0
        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));
        }
예제 #17
0
        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));
        }
예제 #18
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));
        }
예제 #19
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));
        }