public ActionResult DeleteConfirmed(Guid id)
        {
            ProjectDetailPromoter projectDetailPromoter = db.ProjectDetailPromoters.Find(id);

            projectDetailPromoter.IsDeleted    = true;
            projectDetailPromoter.DeletionDate = DateTime.Now;

            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #2
0
        public ActionResult Create(Guid id)
        {
            ProjectDetailPromoter projectDetailPromoter = db.ProjectDetailPromoters.Find(id);

            ViewBag.Title = "افزودن به برنامه روزانه " + projectDetailPromoter.User.FullName + " در فروشگاه " +
                            projectDetailPromoter.ProjectDetail.Store.Title;


            ViewBag.ProjectDetailPromoterId = id;
            return(View());
        }
Example #3
0
        public ActionResult Index(Guid id)
        {
            var dailyPromoterPlans = db.DailyPromoterPlans.Include(d => d.ProjectDetailPromoter).Where(d => d.ProjectDetailPromoterId == id && d.IsDeleted == false).OrderByDescending(d => d.ShiftDate);

            ProjectDetailPromoter projectDetailPromoter = db.ProjectDetailPromoters.Find(id);

            ViewBag.Title = "برنامه روزانه " + projectDetailPromoter.User.FullName + " در فروشگاه " +
                            projectDetailPromoter.ProjectDetail.Store.Title;

            return(View(dailyPromoterPlans.ToList()));
        }
 public ActionResult Edit(ProjectDetailPromoter projectDetailPromoter)
 {
     if (ModelState.IsValid)
     {
         projectDetailPromoter.IsDeleted       = false;
         db.Entry(projectDetailPromoter).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ProjectDetailId = new SelectList(db.ProjectDetails, "Id", "Description", projectDetailPromoter.ProjectDetailId);
     ViewBag.UserId          = new SelectList(db.Users, "Id", "FullName", projectDetailPromoter.UserId);
     return(View(projectDetailPromoter));
 }
        public ActionResult Delete(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProjectDetailPromoter projectDetailPromoter = db.ProjectDetailPromoters.Find(id);

            if (projectDetailPromoter == null)
            {
                return(HttpNotFound());
            }
            return(View(projectDetailPromoter));
        }
        public ActionResult Edit(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProjectDetailPromoter projectDetailPromoter = db.ProjectDetailPromoters.Find(id);

            if (projectDetailPromoter == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ProjectDetailId = new SelectList(db.ProjectDetails, "Id", "Description", projectDetailPromoter.ProjectDetailId);
            ViewBag.UserId          = new SelectList(db.Users, "Id", "FullName", projectDetailPromoter.UserId);
            return(View(projectDetailPromoter));
        }
        public ActionResult Create(ProjectDetailPromoter projectDetailPromoter)
        {
            if (ModelState.IsValid)
            {
                projectDetailPromoter.IsDeleted    = false;
                projectDetailPromoter.CreationDate = DateTime.Now;
                projectDetailPromoter.Id           = Guid.NewGuid();
                db.ProjectDetailPromoters.Add(projectDetailPromoter);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ProjectDetailId = new SelectList(db.ProjectDetails, "Id", "Description", projectDetailPromoter.ProjectDetailId);
            ViewBag.UserId          = new SelectList(db.Users, "Id", "FullName", projectDetailPromoter.UserId);
            return(View(projectDetailPromoter));
        }
        public ActionResult CreatePromoter(ProjectDetailPromoterViewModel input)
        {
            if (db.ProjectDetailPromoters.Any(c =>
                                              c.UserId == input.UserId && c.ProjectDetailId == input.ProjectDetailId && c.IsDeleted == false))
            {
                TempData["invalidPromoter"] = "پروموتر انتخابی قبلا برای این پروژه انتخاب شده است. پروموتر دیگری را انتخاب کنید.";
                return(RedirectToAction("index", new { id = input.ProjectDetailId }));
            }

            ProjectDetailPromoter projectDetailPromoter = new ProjectDetailPromoter()
            {
                Id              = Guid.NewGuid(),
                IsActive        = true,
                IsDeleted       = false,
                IsFullTime      = true,
                ProjectDetailId = input.ProjectDetailId,
                UserId          = input.UserId.Value,
                CreationDate    = DateTime.Now,
            };

            db.ProjectDetailPromoters.Add(projectDetailPromoter);

            var projectDetail = db.ProjectDetails.Find(input.ProjectDetailId);

            string totalTimeSpan = (projectDetail.Project.EndDate.Value - projectDetail.Project.StartDate).ToString();

            int totalDays = Convert.ToInt32(totalTimeSpan.Split('.')[0]);

            for (int i = 0; i <= totalDays; i++)
            {
                DailyPromoterPlan dailyPromoterPlan = new DailyPromoterPlan()
                {
                    Id = Guid.NewGuid(),
                    ProjectDetailPromoterId = projectDetailPromoter.Id,
                    ShiftDate    = projectDetail.Project.StartDate.AddDays(i),
                    CreationDate = DateTime.Now,
                    IsDeleted    = false,
                    IsActive     = true,
                };

                db.DailyPromoterPlans.Add(dailyPromoterPlan);
            }

            db.SaveChanges();
            return(RedirectToAction("index", new { id = input.ProjectDetailId }));
        }