public IViewComponentResult Invoke() { var data = IncidentProcessor.LoadIncidents(); List <IncidentModel> incidents = new List <IncidentModel>(); foreach (var row in data) { incidents.Add(new IncidentModel { ID = row.ID, Title = row.Title, Context = row.Context, Customer = row.Customer, Employee_ID_CreatedBy = row.Employee_ID_CreatedBy, Employee_ID_EndedBy = row.Employee_ID_EndedBy, CustomerEmail = row.CustomerEmail, DateTimeStart = row.DateTimeStart, DateTimeEnded = row.DateTimeEnd, Status = row.Status } ); } var sortedIncidents = incidents.Where(q => q.Status == "open").Take(3); return(View(sortedIncidents)); }
public IActionResult ViewIncidents() { var data = IncidentProcessor.LoadIncidents(); List <IncidentModel> incidents = new List <IncidentModel>(); foreach (var row in data) { incidents.Add(new IncidentModel { ID = row.ID, Title = row.Title, Context = row.Context, Customer = row.Customer, Employee_ID_CreatedBy = row.Employee_ID_CreatedBy, Employee_ID_EndedBy = row.Employee_ID_EndedBy, CustomerEmail = row.CustomerEmail, DateTimeStart = row.DateTimeStart, DateTimeEnded = row.DateTimeEnd, Status = row.Status } ); } var sortedIncidents = incidents.OrderBy(q => q.Status.ToString().Length).ThenByDescending(q => q.DateTimeStart); return(View(sortedIncidents)); }
public IActionResult CloseIncident(int id) { IncidentProcessor.CloseIncident( id, HttpContext.GetCurrentEmployeeModel().Id ); MailSender.CreateAndSendIncidentComplete(); return(RedirectToAction("ViewIncidents", "Incident")); }
public IActionResult DetailsIncident(int id) { int count = 0; var incidentData = IncidentProcessor.LoadIncidentById(id); var incidentEmployeeData = IncidentEmployeeProcessor.LoadEmployeesByIncidentId(id); var incidentStepData = IncidentStepProcessor.LoadStepsByIncidentId(id); List <IncidentStepModel> steps = new List <IncidentStepModel>(); List <EmployeeModel> employees = new List <EmployeeModel>(); foreach (var step in incidentStepData) { count++; steps.Add(new IncidentStepModel { title = step.title, context = step.context, datetimeEnd = step.datetimeEnd, datetimeStart = step.datetimeStart, employee_id_createdby = step.employee_id_createdby, employee_id_endedby = step.employee_id_endedby, id = step.id, incident_id = step.incident_id, status = step.status, stepnumber = count } ); } foreach (var employee in incidentEmployeeData) { var data = EmployeeProcessor.GetUserById(employee.Employee_Id); employees.Add(new EmployeeModel { Firstname = data.Firstname, Lastname = data.Lastname, ProfilePicturePath = data.ProfilePicturePath, Id = data.ID } ); } IncidentDetailsViewModel incidentDetails = new IncidentDetailsViewModel { id = id, Context = incidentData.Context, Customer = incidentData.Customer, CustomerEmail = incidentData.CustomerEmail, Title = incidentData.Title, Status = incidentData.Status, steps = steps, employees = employees }; ViewData["webroot"] = _env.WebRootPath; return(View(incidentDetails)); }
public IActionResult EditIncident(int id) { var incidentData = IncidentProcessor.LoadIncidentById(id); IncidentModel data = new IncidentModel { Context = incidentData.Context, Customer = incidentData.Customer, CustomerEmail = incidentData.CustomerEmail, Title = incidentData.Title, ID = id }; return(View(data)); }
public IActionResult CreateIncident(IncidentModel incident) { if (ModelState.IsValid) { IncidentProcessor.CreateIncident( incident.Title, incident.Context, incident.Customer, incident.CustomerEmail, HttpContext.GetCurrentEmployeeModel().Id ); MailSender.CreateAndSendIncidentStart(); return(RedirectToAction("ViewIncidents")); } return(View()); }
public IActionResult DeleteIncident(int id) { var steps = IncidentStepProcessor.LoadStepsByIncidentId(id); var incidentEmployees = IncidentEmployeeProcessor.LoadEmployeesByIncidentId(id); foreach (var employee in incidentEmployees) { IncidentEmployeeProcessor.RemoveEmployeeFromIncident(id, employee.Employee_Id); } foreach (var step in steps) { IncidentStepProcessor.DeleteStep(step.id); } IncidentProcessor.DeleteIncident(id); return(RedirectToAction("ViewIncidents")); }
public IActionResult EditIncident(IncidentModel model) { IncidentProcessor.EditIncident(model.ID, model.Title, model.Context, model.Customer, model.CustomerEmail); return(RedirectToAction("DetailsIncident", new { model.ID })); }