예제 #1
0
        public IEnumerable <Tbl_Perfume> Get_BestSellers()
        {
            List <int> perfume_IDs = new List <int>();

            string connectionString = ConfigurationManager.ConnectionStrings["PD_DB1"].ConnectionString;

            DataTable dt          = new DataTable();
            string    commandText = "select TOP 4 Tbl_Perfume.Perfume_ID ,sum(Tbl_InterimBill.InterimBill_Count) as num"
                                    + " from Tbl_Perfume, Tbl_InterimBill "
                                    + " where Tbl_Perfume.Perfume_ID = Tbl_InterimBill.InterimBill_Perfume_ID"
                                    + " group by Tbl_Perfume.Perfume_ID"
                                    + " order by num desc";

            using (SqlConnection conn = new SqlConnection(connectionString))
                using (SqlCommand cmd = new SqlCommand(commandText, conn))
                    using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                    {
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        int rows_returned = sda.Fill(dt);
                        foreach (DataRow dr in dt.Rows)
                        {
                            perfume_IDs.Add((int)dr[0]);
                        }
                        conn.Close();
                    }

            List <Tbl_Perfume> perfumes = new List <Tbl_Perfume>();
            Tbl_Perfume        p        = new Tbl_Perfume();

            foreach (var id in perfume_IDs)
            {
                p = db.Tbl_Perfume.Where(a => a.Perfume_ID == id).SingleOrDefault();
                perfumes.Add(p);
            }
            return(perfumes.AsEnumerable());
        }
예제 #2
0
        public ActionResult AddPerfume(Tbl_Perfume perfume, int?spring, int?summer, int?autumn, int?winter,
                                       IEnumerable <HttpPostedFileBase> files)
        {
            String Message = "";

            if (Session["UserName"] == null)
            {
                Message = "Access denied. need login.";
                log.addLog(Message, "AddPerfume", "DashboardPerfume", logStatus.EventLog);
                return(RedirectToAction("Index", "Account", new { returnUrl = "/DashboardPerfume/Index" }));
            }

            else if (Session["RoleName"].ToString() == "Admin")
            {
                try
                {
                    var validImageTypes = new string[]
                    {
                        "image/gif",
                        "image/jpg",
                        "image/jpeg",
                        "image/pjpeg",
                        "image/png"
                    };

                    InitDropdownLists();
                    Tbl_Perfume p = new Tbl_Perfume();

                    p.Perfume_Brand_ID        = perfume.Perfume_Brand_ID;
                    p.Perfume_Gender          = perfume.Perfume_Gender;
                    p.Perfume_Country         = perfume.Perfume_Country;
                    p.Perfume_Name            = perfume.Perfume_Name;
                    p.Perfume_Notes           = perfume.Perfume_Notes;
                    p.Perfume_OlfactionGroups = perfume.Perfume_OlfactionGroups;
                    p.Perfume_Perfumer        = perfume.Perfume_Perfumer;
                    p.Perfume_Description     = perfume.Perfume_Description;

                    p.Perfume_SpecialOffer    = perfume.Perfume_SpecialOffer;
                    p.Perfume_TemperOfPerfume = perfume.Perfume_TemperOfPerfume;
                    p.Perfume_Type_ID         = perfume.Perfume_Type_ID;

                    if (perfume.Perfume_ImageIndex != null && perfume.Perfume_ImageIndex != "")
                    {
                        var    uploadFiles = Request.Files[0];
                        Random rnd         = new Random();

                        if (!validImageTypes.Contains(uploadFiles.ContentType))
                        {
                            Message = "invalid image format.";
                            log.addLog(Message, "AddPerfume", "DashboardPerfume", logStatus.EventLog);
                            ViewBag.Error = "عکس آپلود شده باید از نوع jpg ویا png باشد.";
                            return(View());
                        }
                        else if (uploadFiles != null && uploadFiles.ContentLength > 0)
                        {
                            var fileName = rnd.Next().ToString() + ".jpg";
                            p.Perfume_ImageIndex = fileName;

                            var path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("/Uploads/PerfumeImages/"), fileName);
                            uploadFiles.SaveAs(path);
                            Message = "Image save successfully for Perfumes with title " + p.Perfume_Name + ".";
                            log.addLog(Message, "AddPerfume", "DashboardPerfume", logStatus.EventLog);
                            //return View();
                            db.Tbl_Perfume.Add(p);
                            if (Convert.ToBoolean(db.SaveChanges() > 0))
                            {
                                //////add season////////
                                List <Tbl_PerfumeSeason> seasons = new List <Tbl_PerfumeSeason>();

                                if (spring == 1)
                                {
                                    Tbl_PerfumeSeason ps = new Tbl_PerfumeSeason();
                                    int springID         = db.Tbl_Season.Where(a => a.Season_Title == "مناسب فصل بهار").SingleOrDefault().Season_ID;
                                    ps.PerfumeSeason_Season_ID  = springID;
                                    ps.PerfumeSeason_Perfume_ID = p.Perfume_ID;
                                    seasons.Add(ps);
                                }
                                if (summer == 1)
                                {
                                    Tbl_PerfumeSeason ps = new Tbl_PerfumeSeason();
                                    int summerID         = db.Tbl_Season.Where(a => a.Season_Title == "مناسب فصل تابستان").SingleOrDefault().Season_ID;
                                    ps.PerfumeSeason_Season_ID  = summerID;
                                    ps.PerfumeSeason_Perfume_ID = p.Perfume_ID;
                                    seasons.Add(ps);
                                }
                                if (autumn == 1)
                                {
                                    Tbl_PerfumeSeason ps = new Tbl_PerfumeSeason();
                                    int autumnID         = db.Tbl_Season.Where(a => a.Season_Title == "مناسب فصل پاییز").SingleOrDefault().Season_ID;
                                    ps.PerfumeSeason_Season_ID  = autumnID;
                                    ps.PerfumeSeason_Perfume_ID = p.Perfume_ID;
                                    seasons.Add(ps);
                                }
                                if (winter == 1)
                                {
                                    Tbl_PerfumeSeason ps = new Tbl_PerfumeSeason();
                                    int winterID         = db.Tbl_Season.Where(a => a.Season_Title == "مناسب فصل زمستان").SingleOrDefault().Season_ID;
                                    ps.PerfumeSeason_Season_ID  = winterID;
                                    ps.PerfumeSeason_Perfume_ID = p.Perfume_ID;
                                    seasons.Add(ps);
                                }
                                db.Tbl_PerfumeSeason.AddRange(seasons);
                                if (Convert.ToBoolean(db.SaveChanges() > 0))
                                {
                                    List <Tbl_PerfumeImages> images       = new List <Tbl_PerfumeImages>();
                                    Tbl_PerfumeImages        imageIndexes = new Tbl_PerfumeImages();

                                    foreach (var file in files)
                                    {
                                        if (file.ContentLength > 0)
                                        {
                                            var fileName1 = rnd.Next().ToString() + ".jpg";
                                            var path1     = Path.Combine(Server.MapPath("/Uploads/PerfumeImages/"), fileName1);
                                            file.SaveAs(path1);

                                            imageIndexes = new Tbl_PerfumeImages();
                                            imageIndexes.PerfumeImages_Perfume_ID = p.Perfume_ID;
                                            imageIndexes.PerfumeImages_ImageIndex = fileName1;
                                            images.Add(imageIndexes);
                                        }
                                    }
                                    db.Tbl_PerfumeImages.AddRange(images);
                                    if (Convert.ToBoolean(db.SaveChanges() > 0))
                                    {
                                        Message = "Perfume with title " + perfume.Perfume_Name + " added successfully.";
                                        log.addLog(Message, "AddPerfume", "DashboardPerfume", logStatus.EventLog);
                                        return(RedirectToAction("Index", "DashboardPerfume"));
                                    }
                                    else
                                    {
                                        db.Tbl_Perfume.Remove(p);
                                        db.SaveChanges();
                                        Message = "added Perfume with title " + perfume.Perfume_Name + " failed.";
                                        log.addLog(Message, "AddPerfume", "DashboardPerfume", logStatus.ErrorLog);
                                        ViewBag.Error = "محصول جدید ثبت نشد، لطفا دوباره تلاش کنید.";
                                        return(View());
                                    }
                                }
                                else
                                {
                                    db.Tbl_Perfume.Remove(p);
                                    db.SaveChanges();
                                    Message = "added Perfume with title " + perfume.Perfume_Name + " failed.";
                                    log.addLog(Message, "AddPerfume", "DashboardPerfume", logStatus.ErrorLog);
                                    ViewBag.Error = "محصول جدید ثبت نشد، لطفا دوباره تلاش کنید.";
                                    return(View());
                                }
                            }
                            else
                            {
                                Message = "added Perfume with title " + perfume.Perfume_Name + " failed.";
                                log.addLog(Message, "AddPerfume", "DashboardPerfume", logStatus.EventLog);
                                ViewBag.Error = "محصول جدید ثبت نشد، لطفا دوباره تلاش کنید.";
                                return(View());
                            }
                        }
                        else
                        {
                            Message = "Image save for Perfuem with title " + p.Perfume_Name + " failed.";
                            log.addLog(Message, "AddPerfume", "DashboardPerfume", logStatus.EventLog);
                            ViewBag.EmptyImage = "آپلود عکس با خطا مواجه شده است.";
                            return(View());
                        }
                    }
                    else
                    {
                        Message = "added Perfume with title " + perfume.Perfume_Name + " failed.";
                        log.addLog(Message, "AddPerfume", "DashboardPerfume", logStatus.EventLog);
                        ViewBag.Error = "محصول جدید ثبت نشد، لطفا دوباره تلاش کنید.";
                        return(View());
                    }
                }
                catch
                {
                    Message = "added Perfume with title " + perfume.Perfume_Name + " failed.";
                    log.addLog(Message, "AddPerfume", "DashboardPerfume", logStatus.ErrorLog);
                    ViewBag.Error = "محصول جدید ثبت نشد، لطفا دوباره تلاش کنید.";
                    return(View());
                }
            }
            else
            {
                Message = "You do not have access to this page.";
                log.addLog(Message, "AddUser", "DashboardUser", logStatus.EventLog);
                return(RedirectToAction("Error404", "Home"));
            }
        }
예제 #3
0
        public ActionResult EditPerfume(Tbl_Perfume perfume, int?spring, int?summer, int?autumn, int?winter,
                                        IEnumerable <HttpPostedFileBase> files)
        {
            if (Session["UserName"] == null)
            {
                Message = "Access denied. need login.";
                log.addLog(Message, "EditPerfume", "DashboardPerfume", logStatus.EventLog);
                return(RedirectToAction("Index", "Account", new { returnUrl = "/DashboardPerfume/Index" }));
            }

            else if (Session["RoleName"].ToString() == "Admin")
            {
                Tbl_Perfume p = new Tbl_Perfume();
                try
                {
                    InitDropdownLists();
                    p = db.Tbl_Perfume.Where(a => a.Perfume_ID == perfume.Perfume_ID).SingleOrDefault();
                    string oldImageName = p.Perfume_ImageIndex;
                    if (p == null)
                    {
                        Message = "perfume with ID" + perfume.Perfume_ID + "not found.";
                        log.addLog(Message, "EditPerfume", "DashboardPerfume", logStatus.EventLog);
                        ViewBag.Error = "محصول پیدا نشد، لطفا دوباره تلاش کنید.";
                        return(RedirectToAction("Index", "DashboardPerfume"));
                    }

                    p.Perfume_Brand_ID        = perfume.Perfume_Brand_ID;
                    p.Perfume_Gender          = perfume.Perfume_Gender;
                    p.Perfume_Country         = perfume.Perfume_Country;
                    p.Perfume_Name            = perfume.Perfume_Name;
                    p.Perfume_Notes           = perfume.Perfume_Notes;
                    p.Perfume_OlfactionGroups = perfume.Perfume_OlfactionGroups;
                    p.Perfume_Perfumer        = perfume.Perfume_Perfumer;
                    p.Perfume_Description     = perfume.Perfume_Description;
                    p.Perfume_SpecialOffer    = perfume.Perfume_SpecialOffer;
                    p.Perfume_TemperOfPerfume = perfume.Perfume_TemperOfPerfume;
                    p.Perfume_Type_ID         = perfume.Perfume_Type_ID;

                    if (Request.Files.Count > 0)
                    {
                        var    uploadFiles = Request.Files[0];
                        Random rnd         = new Random();
                        if (uploadFiles != null && uploadFiles.ContentLength > 0)
                        {
                            if (!validImageTypes.Contains(uploadFiles.ContentType))
                            {
                                Message = "invalid image format.";
                                log.addLog(Message, "EditPerfume", "DashboardPerfume", logStatus.EventLog);
                                ViewBag.Error = "عکس آپلود شده باید از نوع jpg ویا png باشد.";
                                return(View(p));
                            }

                            //add new image
                            var fileName = rnd.Next().ToString() + ".jpg";
                            p.Perfume_ImageIndex = fileName;
                            var path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("/Uploads/PerfumeImages/"), fileName);
                            //var path = Path.Combine(Server.MapPath("/Uploads/PerfumeImages/"), fileName);
                            uploadFiles.SaveAs(path);
                            Message = "Image save successfully for Perfumes with title " + p.Perfume_Name + ".";
                            log.addLog(Message, "EditPerfume", "DashboardPerfume", logStatus.EventLog);
                        }
                        else
                        {
                            p.Perfume_ImageIndex = perfume.Perfume_ImageIndex;
                        }
                    }
                    db.Tbl_Perfume.Attach(p);
                    db.Entry(p).State = System.Data.Entity.EntityState.Modified;
                    if (Convert.ToBoolean(db.SaveChanges() > 0))
                    {
                        /////////////addnewimages/////////////////////
                        bool isAdd = AddNewImages(files, p.Perfume_ID);
                        if (!isAdd)
                        {
                            return(View(p.Perfume_ID));
                        }

                        if (Request.Files[0].FileName != "")
                        {
                            //delete old image
                            var oldFile = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("/Uploads/PerfumeImages/"), oldImageName);
                            if (System.IO.File.Exists(oldFile))
                            {
                                System.IO.File.Delete(oldFile);
                                Message = "Delete image for perfumes with ID " + p.Perfume_ID + " Done successfully.";
                                log.addLog(Message, "EditPerfume", "DashboardPerfume", logStatus.EventLog);
                            }
                        }
                        //edit seasons//
                        bool IsEditSeasons = EditSeasons(spring, summer, autumn, winter, p.Perfume_ID);
                        if (IsEditSeasons)
                        {
                            return(RedirectToAction("Index", "DashboardPerfume"));
                        }
                        else
                        {
                            return(View(p.Perfume_ID));
                        }
                    }
                    else
                    {
                        Message = "edited Perfume with title " + perfume.Perfume_Name + " failed.";
                        log.addLog(Message, "EditPerfume", "DashboardPerfume", logStatus.EventLog);
                        ViewBag.Error = "محصول ویرایش نشد، لطفا دوباره تلاش کنید.";
                        return(View(p));
                    }
                }
                catch
                {
                    Message = "edited Perfume with title " + perfume.Perfume_Name + " failed.";
                    log.addLog(Message, "محصول ویرایش نشد", "DashboardPerfume", logStatus.ErrorLog);
                    ViewBag.Error = "محصول ویرایش نشد، لطفا دوباره تلاش کنید.";
                    return(View(p));
                }
            }
            else
            {
                Message = "You do not have access to this page.";
                log.addLog(Message, "AddUser", "DashboardUser", logStatus.EventLog);
                return(RedirectToAction("Error404", "Home"));
            }
        }