Exemplo n.º 1
0
        public async Task <string> InsertAdminPromotionalDetails(InsertAdminPromotionalDto InsertAdminPromotionalDto)
        {
            DateTime Presentdate = Convert.ToDateTime(GetPresentdate);

            if (InsertAdminPromotionalDto.IsDefault == "0")
            {
                DateTime Timezone = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(Presentdate, TimeZoneInfo.Local.Id, InsertAdminPromotionalDto.CountryTimezone);
                if (InsertAdminPromotionalDto.StartDate > Timezone && InsertAdminPromotionalDto.EndDate > InsertAdminPromotionalDto.StartDate)
                {
                    await Repository.InsertAsync(new AdminPromotional
                    {
                        Promotionalcountries   = InsertAdminPromotionalDto.Countries,
                        EnglishImage           = InsertAdminPromotionalDto.EnglishImage,
                        ArabicImage            = InsertAdminPromotionalDto.ArabicImage,
                        PromotionalURL         = InsertAdminPromotionalDto.AdminPromotionalURL,
                        Promotionaldescription = InsertAdminPromotionalDto.AdminPromotionalDescription,
                        StartDate = InsertAdminPromotionalDto.StartDate,
                        EndDate   = InsertAdminPromotionalDto.EndDate,
                        TimeZone  = InsertAdminPromotionalDto.CountryTimezone,
                        Status    = 1
                    });

                    return("Admin Promotional created successfully");
                }
                else if (InsertAdminPromotionalDto.StartDate < Timezone)
                {
                    return("Please select the start date is greater then present date");
                }
                else
                {
                    return("Please select the end date is greater then start date.");
                }
            }
            else
            {
                int DefaultID = await CheckAdminPromotionalDefault();

                if (DefaultID == 0)
                {
                    await Repository.InsertAsync(new AdminPromotional
                    {
                        EnglishImage           = InsertAdminPromotionalDto.EnglishImage,
                        ArabicImage            = InsertAdminPromotionalDto.ArabicImage,
                        PromotionalURL         = InsertAdminPromotionalDto.AdminPromotionalURL,
                        Promotionaldescription = InsertAdminPromotionalDto.AdminPromotionalDescription,
                        StartDate = Presentdate,
                        EndDate   = Presentdate,
                        Status    = 1,
                        IsDefault = InsertAdminPromotionalDto.IsDefault,
                        TimeZone  = InsertAdminPromotionalDto.CountryTimezone,
                    });

                    return("Admin Promotional created successfully");
                }
                else
                {
                    return("Admin Promotional is not created, we allow only one Default AdminPromotional");
                }
            }
            return("Admin Promotional created successfully");
        }
        public async Task <IActionResult> insertAdminPromotionals([FromBody] InsertAdminPromotionalDto InsertAdminPromotionalDto)
        {
            string AdminPromotionalstatus = "";

            try
            {
                strImagePath = _configuration["FilePath:ImagePath"] + "AdminPromotional/";
                if (!Directory.Exists(strImagePath))
                {
                    Directory.CreateDirectory(strImagePath);
                }
                if (InsertAdminPromotionalDto.EnglishImage != "")
                {
                    Byte[] EnglishimageByteData = Convert.FromBase64String(InsertAdminPromotionalDto.EnglishImage);
                    var    Englishfs            = new BinaryWriter(new FileStream(strImagePath + AdminPromotionalEnglishImages + ".jpg", FileMode.Append, FileAccess.Write));
                    Englishfs.Write(EnglishimageByteData);
                    Englishfs.Close();
                    InsertAdminPromotionalDto.EnglishImage = AdminPromotionalEnglishImages + ".jpg";
                }
                else
                {
                    InsertAdminPromotionalDto.EnglishImage = "";
                }
                if (InsertAdminPromotionalDto.ArabicImage != "")
                {
                    Byte[] ArabicimageByteData = Convert.FromBase64String(InsertAdminPromotionalDto.ArabicImage);
                    var    Arabicfs            = new BinaryWriter(new FileStream(strImagePath + AdminPromotionalArabicImages + ".jpg", FileMode.Append, FileAccess.Write));
                    Arabicfs.Write(ArabicimageByteData);
                    Arabicfs.Close();
                    InsertAdminPromotionalDto.ArabicImage = AdminPromotionalArabicImages + ".jpg";
                }
                else
                {
                    InsertAdminPromotionalDto.ArabicImage = "";
                }
                AdminPromotionalstatus = await _AdminPromotionalService.InsertAdminPromotionalDetails(InsertAdminPromotionalDto);

                if (InsertAdminPromotionalDto.IsDefault == "0")
                {
                    int AdminPromotionalid = await _AdminPromotionalService.GetAdminPromotionalid(InsertAdminPromotionalDto.ArabicImage, InsertAdminPromotionalDto.EnglishImage);

                    if (AdminPromotionalstatus == "Admin Promotional created successfully" && AdminPromotionalid > 0)
                    {
                        await _AdminPromotionalCountriesService.InsertAdminPromotionalCountriesDetails(InsertAdminPromotionalDto.Countries, AdminPromotionalid);

                        return(Ok(new GenericResultDto <string> {
                            Result = AdminPromotionalstatus
                        }));
                    }
                    ;
                }
                else if (InsertAdminPromotionalDto.IsDefault == "1" && AdminPromotionalstatus == "AdminPromotional created successfully")
                {
                    return(Ok(new GenericResultDto <string> {
                        Result = AdminPromotionalstatus
                    }));
                }
                return(BadRequest(new GenericResultDto <string> {
                    Result = AdminPromotionalstatus
                }));
            }

            catch (Exception err)
            {
                return(BadRequest(new GenericResultDto <string> {
                    Result = err.Message
                }));
            }
        }