// GET: ProductTicket public ActionResult Index(int pageNo = 1, int id = 0) { var model = new ProductTicket(); if (id > 0) { model = db.ProductTickets.Find(id); //ViewBag.TicketStatuses = new SelectList(db.TicketStatuses.Where(t => t.Id >=model.TicketStatusId).ToList(), "Id", "Text", model.TicketStatusId); } else { model.TicketStatusId = 1; //ViewBag.TicketStatuses = new SelectList(db.TicketStatuses.Where(t=>t.Id==1).ToList(), "Id", "Text", model.TicketStatusId); } BindList(pageNo); ViewBag.TicketStatuses = new SelectList(db.TicketStatuses.ToList(), "Id", "Text", model.TicketStatusId); ViewBag.Categories = new SelectList(db.Categories.OrderBy(p => p.Name).ToList(), "Id", "Name", model.CategoryId); int deptID = Request.GetUser().DepartmentId; //if (Request.GetUser().RoleName !="Administrators") //ViewBag.Employees = new SelectList(db.Employees.Where(e => e.DepartmentId == deptID).ToList(), "Id", "Name", model.EmployeeId); //else ViewBag.Employees = new SelectList(db.Employees.Select(e => new { Id = e.Id, Name = e.Name + (e.Department != null ? (" - " + e.Department.Name) : "") }).OrderBy(p => p.Name).ToList(), "Id", "Name", model.EmployeeId); ViewBag.ProductStatuses = new SelectList(db.ProductStatuses.ToList(), "Id", "Text"); ViewBag.StockDiaryReasons = new SelectList(db.StockDiaryReasons.Where(p => p.Type == 2).ToList(), "Id", "Text"); return(View(model)); }
// GET: ProductTicket/Edit/5 public ActionResult Edit(ProductTicket model, int pageNo = 1) { var upModel = db.ProductTickets.Find(model.Id); upModel.CategoryId = model.CategoryId; upModel.EmployeeId = model.EmployeeId; upModel.Reason = model.Reason; upModel.Description = model.Description; db.Entry(upModel).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index", new { PageNo = pageNo })); }
// GET: ProductTicket/Create public ActionResult Create(ProductTicket model, int pageNo = 1) { model.Code = AutoNumberHelper.GenerateNumber(ObjectType.ProductTicket, db); model.RequestOn = DateTime.Now; model.RequestById = Request.GetUser().Id; model.TicketStatusId = 1; if (ModelState.IsValid) { db.ProductTickets.Add(model); db.SaveChanges(); //try //{ var proname = (from a in db.Categories where a.Id == model.CategoryId select a.Name).FirstOrDefault(); var emp = (from b in db.Employees where b.Id == model.EmployeeId select b.Name).FirstOrDefault(); var empre = (from d in db.Users where d.Id == model.RequestById select d.DisplayName).FirstOrDefault(); var status = (from c in db.TicketStatuses where c.Id == model.TicketStatusId select c.Text).FirstOrDefault(); //Send Email //get file html string html = System.IO.File.ReadAllText(Server.MapPath("~/Files/Email Templates/RequestTicket.html")); html = html.Replace("@product", proname); html = html.Replace("@employee", emp); html = html.Replace("@reason", model.Reason); html = html.Replace("@empRequest", empre); html = html.Replace("@dateRequest", model.RequestOn.ToString()); html = html.Replace("@description", model.Description); string[] email = (from a in db.ReceiveEmails select a.Email).ToArray(); var configEmail = (db.ConfigEmails.Where(c => c.Id.Equals(1))).FirstOrDefault(); MailHelper.Send(configEmail.Host, 25, configEmail.EmailFrom, configEmail.Password, configEmail.Name, email, null, null, configEmail.Subject, html, null, true); //MailHelper.sendExchange(configEmail.Host, configEmail.EmailFrom, configEmail.Username, configEmail.Password, configEmail.Name, email, null, null, configEmail.Subject, html, true); //} //catch { } } return(RedirectToAction("Index", new { PageNo = pageNo })); }
// GET: ProductTicket/Edit/5 public ActionResult Export(ProductTicket model, int pageNo = 1) { var upModel = db.ProductTickets.Find(model.Id); upModel.TicketStatusId = 3; upModel.ExportById = Request.GetUser().Id; upModel.ExportOn = DateTime.Now; upModel.CategoryId = model.CategoryId; upModel.EmployeeId = model.EmployeeId; upModel.Reason = model.Reason; upModel.Description = model.Description; db.Entry(upModel).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index", new { PageNo = pageNo })); }