public double SlaRestTime(int ticketId) { var dateTicket = UnitOfTicket.Where(x => x.TicketId == ticketId) .Select(x => x.SlaExpiration).FirstOrDefault(); var diffTime = dateTicket.Subtract(DateTime.Now.ToLocalTime()).TotalHours; return(diffTime); }
public List <ViewModelTicket> ListItens() { var ticketClosedValid = Repository._status.Where(x => x.StatusId == 04).Select(x => x.StatusId).FirstOrDefault(); var ticketClosedInValid = Repository._status.Where(x => x.StatusId == 05).Select(x => x.StatusId).FirstOrDefault(); return(UnitOfTicket.Where(x => x.StatusId != ticketClosedValid && x.StatusId != ticketClosedInValid && x.AnalystDesignated == null ).ToList()); }
public ActionResult CompanyTickets() { //var list = UnitOfTicket.GetAll().ToList(); var company = UnitOfTicket.Where(x => x.UserId == User.Identity.GetUserName() && x.StatusId != 05 && x.StatusId != 06).Select(x => x.CompanyId).FirstOrDefault(); var list = UnitOfTicket.Where(x => x.CompanyId == company).ToList(); return(View(list)); }
public ContentResult UploadFiles(int ticketId) { var r = new List <UploadFilesResult>(); foreach (string file in Request.Files) { HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase; if (hpf.ContentLength == 0) { continue; } //"~/App_Data/Uploads/Tickets/" //string savedFileName = Path.Combine(Server.MapPath("~/App_Data"), Path.GetFileName(hpf.FileName)); //string path = "~/App_Data/Uploads/Tickets/"+ticketId.ToString(); var path = "C:/Users/lorran.palmeira/Source/Repos/XRTTicket/XRTTicket/App_Data/Uploads/Tickets/" + ticketId.ToString(); //var path = "C:/Users/lorran.palmeira/Downloads/Arquivos/" + ticketId.ToString() +"/"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string savedFileName = Path.Combine(Server.MapPath("~/App_Data/Uploads/Tickets/" + ticketId.ToString()), Path.GetFileName(hpf.FileName)); hpf.SaveAs(savedFileName); var actions = new Models.Ticket.Action { TicketId = ticketId, ActionDescription = "Sucess UpLoaded file by " + User.Identity.Name + " " + DateTime.Now.ToLocalTime(), Date = DateTime.Now.ToLocalTime(), StatusId = UnitOfTicket.Where(x => x.TicketId == ticketId).Select(x => x.StatusId).FirstOrDefault(), PriorityId = UnitOfTicket.Where(x => x.TicketId == ticketId).Select(x => x.PriorityId).FirstOrDefault(), AlteredBy = User.Identity.Name, SendToUser = true, Files = path + "/" + hpf.FileName, IterationId = UnitOfTicketAction.Where(x => x.TicketId == ticketId).Max(x => x.IterationId) + 1 }; UnitOfTicketAction.Save(actions); /* * r.Add(new UploadFilesResult() * { * Name = hpf.FileName, * Length = hpf.ContentLength, * Type = hpf.ContentType * }); */ } return(Content("{\"name\":\"" + r[0].Name + "\",\"type\":\"" + r[0].Type + "\",\"size\":\"" + string.Format("{0} bytes", r[0].Length) + "\"}", "application/json")); //return Json("Sucess",JsonRequestBehavior.AllowGet); }
public ActionResult NewTicket() { ViewBag.PriorityId = new SelectList(Permissions.PriorityUser(), "PriorityId", "PriorityLevel"); ViewBag.TicketTypeId = new SelectList(Repository._ticketType, "TicketTypeId", "TicketTypeName"); ViewBag.ProductId = new SelectList(Repository._product_list, "ProductId", "Name"); ViewBag.SubProductId = new SelectList(new List <SubProduct>(), "SubProductId", "Name"); ViewBag.TaskId = new SelectList(new List <Task>(), "TaskId", "Name"); ViewBag.VersionId = new SelectList(new List <Models.Ticket.Version>(), "VersionId", "VersionName"); ViewBag.NextTicket = Convert.ToInt32(UnitOfTicket.Next()); return(View()); }
public ActionResult SearchTicket() { var Status = Repository._status.ToList(); ViewBag.Status = Status; var designated = UnitOfTicket.Where(x => x.TicketId == x.TicketId).Select(x => x.AnalystDesignated).ToList(); ViewBag.Designated = Repository.GetRolesToUsers("Analyst").ToList(); ViewBag.OpenBy = Repository.GetAllUsers(); ViewBag.TicketType = Repository._ticketType.ToList(); ViewBag.Priority = Repository._priority.ToList(); ViewBag.Company = Repository.company.ToList(); return(View(new List <ViewModelTicket>())); }
public ActionResult ClosedTickets() { //var list = UnitOfTicket.GetAll().ToList(); var userName = User.Identity.GetUserName(); var list = UnitOfTicket.Where(x => x.UserId == userName && x.StatusId == 06 || x.StatusId == 07).OrderByDescending(x => x.ClosedDateTime).Take(10).ToList(); ViewBag.QuantMaxLinhasPorPagina = 10; ViewBag.PaginaAtual = 1; var quant = list.Count(); var difQuantPaginas = (quant % ViewBag.QuantMaxLinhasPorPagina) > 0 ? 1 : 0; ViewBag.QuantPages = (quant / ViewBag.QuantMaxLinhasPorPagina) + difQuantPaginas; return(View("MyTickets", list)); }
public ActionResult MyTickets() { //var list = UnitOfTicket.GetAll().ToList(); var userName = User.Identity.GetUserName(); var list = UnitOfTicket.Where(x => x.UserId == userName && x.StatusId != 06 && x.StatusId != 07).ToList(); ViewBag.QuantMaxLinhasPorPagina = 10; ViewBag.PaginaAtual = 1; var quant = list.Count(); var difQuantPaginas = (quant % ViewBag.QuantMaxLinhasPorPagina) > 0 ? 1 : 0; ViewBag.QuantPages = (quant / ViewBag.QuantMaxLinhasPorPagina) + difQuantPaginas; return(View(list)); }
public JsonResult GetListItensSeachTicket(int page, int sizePage) { /* * var listItens = pagination.ListItens(); * * var result = (((page == 1 ? page = 0 : page-1) * sizePage)); * var list = listItens.Skip(result ==0?result:result-1).Take(sizePage); * * return Json(list,JsonRequestBehavior.AllowGet); */ var ticket = new ViewModelTicket(); var listItens = ListItensSeachTicket(ticket, null, null, null, null, null); var result = (((page == 1 ? page = 0 : page - 1) * sizePage)); var list = UnitOfTicket.GetAll().Skip(result == 0 ? result : result - 1).Take(sizePage); return(Json(list, JsonRequestBehavior.AllowGet)); }
public ActionResult Queue() { var userName = User.Identity.GetUserName(); var ticketClosedValid = Repository._status.Where(x => x.StatusId == 06).Select(x => x.StatusId).FirstOrDefault(); var ticketClosedInValid = Repository._status.Where(x => x.StatusId == 07).Select(x => x.StatusId).FirstOrDefault(); var list = UnitOfTicket.Where(x => x.StatusId != ticketClosedValid && x.StatusId != ticketClosedInValid && x.AnalystDesignated == userName) .ToList(); ViewBag.QuantMaxLinhasPorPagina = 10; ViewBag.PaginaAtual = 1; var quant = list.Count(); var difQuantPaginas = (quant % ViewBag.QuantMaxLinhasPorPagina) > 0 ? 1 : 0; ViewBag.QuantPages = (quant / ViewBag.QuantMaxLinhasPorPagina) + difQuantPaginas; //var list = UnitOfTicket.GetAll().ToList(); return(View(list)); }
public ActionResult SaveTicket(Models.Ticket.ViewModelTicket ticket, string description, HttpPostedFileBase file) { if (ModelState.IsValid) { ticket.TicketId = Convert.ToInt32(UnitOfTicket.Next()); ticket.OpenDateAndTime = DateTime.Now.ToLocalTime(); ticket.UserId = User.Identity.GetUserName(); var user = (System.Security.Claims.ClaimsIdentity)User.Identity; ticket.CompanyId = Convert.ToInt32(user.FindFirstValue("CompanyId")); ticket.StatusId = 1; var ret = Repository._priorityTime.Where(x => x.PriorityId == ticket.PriorityId) .Select(x => x.SlaTime).FirstOrDefault(); ticket.SlaExpiration = CalculateSla.AddWithinWorkingHours(ticket.OpenDateAndTime, TimeSpan.FromHours(ret), 9, 8); this.UnitOfTicket.Save(ticket); // Chech if exists files var path = string.Empty; if (file != null) { path = UploadAndDownload.Upload(file, ticket.TicketId); } var actions = new Models.Ticket.Action { TicketId = ticket.TicketId, ActionDescription = description, StatusId = ticket.StatusId, Date = DateTime.Now.ToLocalTime(), AlteredBy = User.Identity.Name, SendToUser = true, SlaRest = TimeSpan.FromHours( Repository._priorityTime .Where(x => x.PriorityId == ticket.PriorityId) .Select(x => x.SlaTime).FirstOrDefault()), Files = path, IterationId = 1 }; this.UnitOfTicketAction.Save(actions); //return RedirectToAction(nameof(NewTicket)); if (User.IsInRole("User") || User.IsInRole("SuperUser")) { return(RedirectToAction(nameof(MyTickets))); } else { return(RedirectToAction(nameof(TicketList))); } } else { return(View(nameof(NewTicket), ticket)); } }
public List <ViewModelTicket> ListItensSeachTicket(ViewModelTicket ticket, DateTime?opendatefrom, DateTime?opendateto, DateTime?closedatefrom, DateTime?closedateto, string description) { var query = UnitOfTicket.Where(x => x.ProductId > 0); if (opendatefrom != null && opendateto != null) { query = query.Where(c => c.OpenDateAndTime >= opendatefrom && c.OpenDateAndTime.Date.AddHours(23).AddMinutes(59).AddSeconds(59) <= opendateto); } if (closedatefrom != null && closedateto != null) { query = query.Where(c => c.ClosedDateTime >= closedatefrom && c.ClosedDateTime <= closedateto.Value.AddHours(23).AddMinutes(59).AddSeconds(59)); } if (!string.IsNullOrEmpty(ticket.Title)) { query = query.Where(c => c.Title.Contains(ticket.Title)); } if (ticket.TicketId > 0) { query = query.Where(c => c.TicketId == ticket.TicketId); } if (ticket.StatusId > 0) { query = query.Where(c => c.StatusId == ticket.StatusId); } if (ticket.IdExternal > 0) { query = query.Where(c => c.IdExternal == ticket.IdExternal); } if (ticket.TicketTypeId > 0) { query = query.Where(c => c.TicketTypeId == ticket.TicketTypeId); } if (ticket.CompanyId > 0) { query = query.Where(c => c.CompanyId == ticket.CompanyId); } if (ticket.PriorityId > 0) { query = query.Where(c => c.PriorityId == ticket.PriorityId); } if (!string.IsNullOrEmpty(description)) { query = query.Where(c => c.Title.Contains(ticket.Title)); } if (!string.IsNullOrEmpty(ticket.UserId)) { query = query.Where(c => c.UserId == ticket.UserId); } if (!string.IsNullOrEmpty(ticket.AnalystDesignated)) { query = query.Where(c => c.AnalystDesignated == ticket.AnalystDesignated); } if (User.IsInRole("User")) { query = query.Where(c => c.UserId == User.Identity.GetUserName()); } if (User.IsInRole("SuperUser")) { var user = (System.Security.Claims.ClaimsIdentity)User.Identity; var companyId = Convert.ToInt32(user.FindFirstValue("CompanyId")); query = query.Where(x => x.CompanyId == companyId); } var list = query.ToList(); return(list); }
public JsonResult LikeTicketAjax(string title, int ticketId) { var result = UnitOfTicket.Where(x => x.Title.Contains(title) && x.TicketId != ticketId).Take(4); return(Json(result, JsonRequestBehavior.AllowGet)); }