Beispiel #1
0
        private string getModelError(AdvBanner b)
        {
            string error = null;

            if (string.IsNullOrWhiteSpace(b.Name))
            {
                error = "Ви не вказали назву";
                return(error);
            }

            if (string.IsNullOrWhiteSpace(b.DestUrl))
            {
                error = "Ви не вказали адресу посилання для банеру";
                return(error);
            }

            if (!ZcrlDataValidator.isUrl(b.DestUrl))
            {
                error = "Невірний формат адреси";
                return(error);
            }

            if (b.ViewPriority < 1 || b.ViewPriority > 10000)
            {
                error = "Пріорітет відображення повинен бути від 1 до 10000";
                return(error);
            }

            return(error);
        }
Beispiel #2
0
        private void logChanges(AdvBanner oldBanner, AdvBanner newBanner)
        {
            string changes = null;

            if (oldBanner.Name != newBanner.Name)
            {
                changes += string.Format("Користувач <b>{0} {1}.{2}.</b> змінив назву банера з '{3}' на '{4}'<br />", (string)Profile["LastName"], ((string)Profile["FirstName"]).First(), ((string)Profile["MiddleName"]).First(), oldBanner.Name, newBanner.Name);
            }
            if (oldBanner.DestUrl != newBanner.DestUrl)
            {
                changes += string.Format("Користувач <b>{0} {1}.{2}.</b> змінив адресу посилання банера з '{3}' на '{4}'<br />", (string)Profile["LastName"], ((string)Profile["FirstName"]).First(), ((string)Profile["MiddleName"]).First(), oldBanner.DestUrl, newBanner.DestUrl);
            }

            if (!string.IsNullOrWhiteSpace(changes))
            {
                using (zcrlDbContext = new ZcrlContext())
                {
                    zcrlDbContext.LogJournal.Add(new LogRecord()
                    {
                        СreatedDate = DateTime.Now,
                        RecordType  = LogRecordType.BannerAddEdit,
                        Content     = changes
                    });
                    zcrlDbContext.SaveChanges();
                }
            }
        }
Beispiel #3
0
        public ActionResult AddBanner(AdvBanner banner, HttpPostedFileBase bannerFile)
        {
            string userInputError = getModelError(banner);

            if (!string.IsNullOrWhiteSpace(userInputError))
            {
                TempData["Error"] = userInputError;
                ViewBag.Mode      = CrudMode.Add;
                return(View("AddEditBanner", banner));
            }
            if (!bannerFile.IsImage())
            {
                TempData["Error"] = "Невірний формат файлу для банеру";
                ViewBag.Mode      = CrudMode.Add;
                return(View("AddEditBanner", banner));
            }

            using (zcrlDbContext = new ZcrlContext())
            {
                AdvBanner newBanner = new AdvBanner()
                {
                    Name = banner.Name, DestUrl = banner.DestUrl, ViewPriority = banner.ViewPriority
                };
                try
                {
                    string newFileName = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(bannerFile.FileName);
                    string newFilePath = System.IO.Path.Combine(Server.MapPath(UPLOADFILE_DIR), newFileName);
                    bannerFile.SaveAs(newFilePath);
                    newBanner.ImgName = newFileName;
                    zcrlDbContext.Banners.Add(newBanner);
                    zcrlDbContext.LogJournal.Add(new LogRecord()
                    {
                        СreatedDate = DateTime.Now, RecordType = LogRecordType.BannerAddEdit,
                        Content     = string.Format("Користувач <b>{0} {1}.{2}.</b> створив баннер <b>{3}</b>.", (string)Profile["LastName"], ((string)Profile["FirstName"]).First(), ((string)Profile["MiddleName"]).First(), newBanner.Name)
                    });
                    zcrlDbContext.SaveChanges();
                }
                catch
                {
                    TempData["Error"] = "Помилка при заватаженні файлу, повторіть свою спробу пізніше";
                    ViewBag.Mode      = CrudMode.Edit;
                    return(View("AddEditBanner", banner));
                }

                TempData["SuccessMessage"] = "Баннер успішно додано!";
                return(RedirectToAction("BannersList"));
            }
        }
Beispiel #4
0
        public ActionResult EditBanner(AdvBanner newBanner, HttpPostedFileBase bannerFile)
        {
            string userInputError = getModelError(newBanner);

            if (!string.IsNullOrWhiteSpace(userInputError))
            {
                TempData["Error"] = userInputError;
                ViewBag.Mode      = CrudMode.Edit;
                return(View("AddEditBanner", newBanner));
            }

            using (zcrlDbContext = new ZcrlContext())
            {
                var editableBanner = (from b in zcrlDbContext.Banners where (b.Id == newBanner.Id) select b).FirstOrDefault();

                if (editableBanner == null)
                {
                    return(RedirectToAction("BannersList"));
                }

                if (bannerFile.IsImage())
                {
                    try
                    {
                        string newFileName = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(bannerFile.FileName);
                        string newFilePath = System.IO.Path.Combine(Server.MapPath(UPLOADFILE_DIR), newFileName);
                        bannerFile.SaveAs(newFilePath);

                        if (System.IO.File.Exists(System.IO.Path.Combine(Server.MapPath(UPLOADFILE_DIR), editableBanner.ImgName)))
                        {
                            System.IO.File.Delete(System.IO.Path.Combine(Server.MapPath(UPLOADFILE_DIR), editableBanner.ImgName));
                        }

                        editableBanner.ImgName = newFileName;

                        zcrlDbContext.LogJournal.Add(new LogRecord()
                        {
                            СreatedDate = DateTime.Now,
                            RecordType  = LogRecordType.BannerAddEdit,
                            Content     = string.Format("Користувач <b>{0} {1}.{2}.</b> змінив зображення баннеру <b>{3}</b>.", (string)Profile["LastName"], ((string)Profile["FirstName"]).First(), ((string)Profile["MiddleName"]).First(), editableBanner.Name)
                        });

                        zcrlDbContext.SaveChanges();
                    }
                    catch
                    {
                        TempData["ErrorMessage"] = "Помилка завантаження файлу";
                        ViewBag.Mode             = CrudMode.Edit;
                        return(RedirectToAction("AddEditBanner", editableBanner.Id));
                    }
                }

                logChanges(editableBanner, newBanner);
                editableBanner.Name         = newBanner.Name;
                editableBanner.DestUrl      = newBanner.DestUrl;
                editableBanner.ViewPriority = newBanner.ViewPriority;

                zcrlDbContext.SaveChanges();

                TempData["SuccessMessage"] = "Баннер успішно змінений!";
                return(RedirectToAction("BannersList"));
            }
        }