internal static IncidentListViewModel GetIncidentListViewModel(ref Incident incident, Controller controller) { IncidentListViewModel model = new IncidentListViewModel(); string incidentId = incident.IncidentId; incident = Provider.GetIncident(incidentId); if (string.IsNullOrEmpty(incident.IncidentId)) { model.ContainsPrimaryIncident = false; model.ContainsSecondaryIncident = false; incident = new Incident(); incident.IncidentId = incidentId; if (controller.User.Identity.IsAuthenticated) { incident.Evaluator = Provider.GetDispatcherByUsername(controller.User.Identity.Name); } else { throw new Exception("Must be logged in."); } Provider.CreateIncident(incident); incident = Provider.GetIncident(incidentId); } else { if (null != incident.PrimaryIncident && incident.PrimaryIncident.PrimaryIncidentId != Guid.Empty) { model.ContainsPrimaryIncident = true; } if (null != incident.SecondaryIncident && incident.SecondaryIncident.SecondaryIncidentId != Guid.Empty) { model.ContainsSecondaryIncident = true; } } model.Incidents = new List<Incident>(); model.Incidents.Add(incident); return model; }
public static void CreateIncident(Incident incident) { if (null != incident.PrimaryIncident) { incident.PrimaryIncident.PrimaryIncidentId = Guid.NewGuid(); Data.Provider.PrimaryIncident_Insert(incident.PrimaryIncident); incident.PrimaryIncidentScore = PointSystem.PointTabulationTotalScore(new PrimaryFormPoints(incident.PrimaryIncident)); incident.PrimaryIncidentScorePercent = (float)PointSystem.PointTabulation(new PrimaryFormPoints(incident.PrimaryIncident)); } if (null != incident.SecondaryIncident) { incident.SecondaryIncident.SecondaryIncidentId = Guid.NewGuid(); Data.Provider.SecondaryIncident_Insert(incident.SecondaryIncident); incident.SecondaryIncidentScore = PointSystem.PointTabulationTotalScore(new SecondaryFormPoints(incident.SecondaryIncident)); incident.SecondaryIncidentScorePercent = (float)PointSystem.PointTabulation(new SecondaryFormPoints(incident.SecondaryIncident)); } incident.EntryDate = DateTime.Now; incident.LastUpdated = DateTime.Now; Data.Provider.Incident_Insert(incident); }
private IncidentListViewModel CreateOrUpdatePrimaryIncident(PrimaryIncidentViewModel model) { Incident incident = new Incident(); incident.PrimaryIncident = new PrimaryIncident(); incident.IncidentId = model.CaseNumber; incident.Evaluator = new Dispatcher(); incident.Evaluator.DispatcherId = model.EvaluatorId; incident.PrimaryIncident.PrimaryIncidentId = model.IncidentId; incident.PrimaryIncident.Channel = new Channel(); incident.PrimaryIncident.DateTime = model.IncidentDate; incident.PrimaryIncident.Dispatcher = new Dispatcher(); incident.PrimaryIncident.Dispatcher.DispatcherId = model.DispatcherId; incident.PrimaryIncident.DisplayedServiceAttitude = model.DisplayedServiceAttitude; incident.PrimaryIncident.InfoGivenOutOfOrder = model.InfoGivenOutOfOrder; incident.PrimaryIncident.Location = model.Location; incident.PrimaryIncident.MapGrid = model.MapGrid; incident.PrimaryIncident.NatureOfCall = model.NatureOfCall; incident.PrimaryIncident.PertinentIntRouting = model.PertinentIntRouting; incident.PrimaryIncident.Priority = model.Priority; incident.PrimaryIncident.Shift = new Shift(); incident.PrimaryIncident.Shift.ShiftId = model.ShiftId; incident.PrimaryIncident.SSTacChannel = model.SSTacChannel; incident.PrimaryIncident.Sunstar3DigitUnit = model.Sunstar3DigitUnit; incident.PrimaryIncident.ToneAlertUsed = model.ToneAlertUsed; incident.PrimaryIncident.UsedCorrectVolumeTone = model.UsedCorrectVolumeTone; incident.PrimaryIncident.UsedProhibitedBehavior = model.UsedProhibitedBehavior; //This is channel A incident.PrimaryIncident.Channel.ChannelId = GetChannelAId(); Incident incidentResult = Provider.GetIncident(model.CaseNumber); if (null != incidentResult && !string.IsNullOrEmpty(incidentResult.IncidentId)) { incidentResult.SecondaryIncident = null; incidentResult.PrimaryIncident = incident.PrimaryIncident; Provider.UpdateIncident(incidentResult); } else { incidentResult.SecondaryIncident = null; Provider.CreateIncident(incident); } IncidentListViewModel output = IncidentUtility.GetIncidentListViewModel(ref incident, this); return output; }
public static void Incident_Update(Incident input) { SqlConnection connection = new SqlConnection(_ConnectionString); SqlCommand command = new SqlCommand("Incident_Update", connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("@IncidentId", input.IncidentId); if (null == input.PrimaryIncident) { command.Parameters.AddWithValue("@PrimaryIncidentId", DBNull.Value); } else { command.Parameters.AddWithValue("@PrimaryIncidentId", input.PrimaryIncident.PrimaryIncidentId); } if (null == input.SecondaryIncident) { command.Parameters.AddWithValue("@SecondaryIncidentId", DBNull.Value); } else { command.Parameters.AddWithValue("@SecondaryIncidentId", input.SecondaryIncident.SecondaryIncidentId); } command.Parameters.AddWithValue("@EvaluatorId", input.Evaluator.DispatcherId); command.Parameters.AddWithValue("@EntryDate", input.EntryDate); command.Parameters.AddWithValue("@LastUpdated", input.LastUpdated); command.Parameters.AddWithValue("@PrimaryIncidentScore", input.PrimaryIncidentScore); command.Parameters.AddWithValue("@PrimaryIncidentScorePercent", input.PrimaryIncidentScorePercent); command.Parameters.AddWithValue("@SecondaryIncidentScore", input.SecondaryIncidentScore); command.Parameters.AddWithValue("@SecondaryIncidentScorePercent", input.SecondaryIncidentScorePercent); SqlUtility.ExecuteNonQuery(command); }
private static Incident CreateOrEditSecondaryIncident(SecondaryIncidentViewModel model) { Incident incident = new Incident(); incident.SecondaryIncident = new SecondaryIncident(); incident.IncidentId = model.CaseNumber; incident.Evaluator = new Dispatcher(); incident.Evaluator.DispatcherId = model.EvaluatorId; incident.SecondaryIncident.Dispatcher = new Dispatcher(); incident.SecondaryIncident.Dispatcher.DispatcherId = model.DispatcherId; incident.SecondaryIncident.SecondaryIncidentId = model.IncidentId; incident.SecondaryIncident.Channel = new Channel(); incident.SecondaryIncident.Channel.ChannelId = model.ChannelId; incident.SecondaryIncident.Shift = new Shift(); incident.SecondaryIncident.Shift.ShiftId = model.ShiftId; incident.SecondaryIncident.DateTime = model.IncidentDate; incident.SecondaryIncident.Sunstar3DigitUnit = model.Sunstar3DigitUnit; incident.SecondaryIncident.NatureOfCall = model.NatureOfCall; incident.SecondaryIncident.Location = model.Location; incident.SecondaryIncident.MapGrid = model.MapGrid; incident.SecondaryIncident.FDUnitsAndTacCh = model.FDUnitsAndTacCh; incident.SecondaryIncident.ScriptingDocumented = model.ScriptingDocumented; incident.SecondaryIncident.SevenMin = model.SevenMin; incident.SecondaryIncident.TwelveMin = model.TwelveMin; incident.SecondaryIncident.ETALocationAsked = model.ETALocationAsked; incident.SecondaryIncident.ETADocumented = model.ETADocumented; incident.SecondaryIncident.ProactiveRoutingGiven = model.ProactiveRoutingGiven; incident.SecondaryIncident.CorrectRouting = model.CorrectRouting; incident.SecondaryIncident.RoutingDocumented = model.RoutingDocumented; incident.SecondaryIncident.PreArrivalGiven = model.PreArrivalGiven; incident.SecondaryIncident.EMDDocumented = model.EMDDocumented; incident.SecondaryIncident.DisplayedServiceAttitude = model.DisplayedServiceAttitude; incident.SecondaryIncident.UsedCorrectVolumeTone = model.UsedCorrectVolumeTone; incident.SecondaryIncident.UsedProhibitedBehavior = model.UsedProhibitedBehavior; incident.SecondaryIncident.PatchedChannels = model.PatchedChannels; incident.SecondaryIncident.Phone = model.Phone; Incident incidentResult = Provider.GetIncident(model.CaseNumber); if (null != incidentResult && !string.IsNullOrEmpty(incidentResult.IncidentId)) { incident.PrimaryIncident = null; incidentResult.SecondaryIncident = incident.SecondaryIncident; Provider.UpdateIncident(incidentResult); } else { incident.SecondaryIncident = null; Provider.CreateIncident(incident); } return incident; }
public ActionResult List(Incident incident) { IncidentListViewModel model = IncidentUtility.GetIncidentListViewModel(ref incident, this); return View("Create", model); }
public static Incident GetIncident(string incidentId) { Incident returnValue = new Incident(); DataSet incidentDataSet = Data.Provider.Incident_SelectById(incidentId); if (incidentDataSet.Tables[0].Rows.Count > 0) { returnValue.IncidentId = incidentDataSet.Tables[0].Rows[0]["IncidentId"].ToString(); returnValue.PrimaryIncident = new PrimaryIncident(); if (null != incidentDataSet.Tables[0].Rows[0]["PrimaryIncidentId"] && !string.IsNullOrEmpty(incidentDataSet.Tables[0].Rows[0]["PrimaryIncidentId"].ToString())) { returnValue.PrimaryIncident.PrimaryIncidentId = new Guid(incidentDataSet.Tables[0].Rows[0]["PrimaryIncidentId"].ToString()); returnValue.PrimaryIncident = GetPrimaryIncident(returnValue.PrimaryIncident.PrimaryIncidentId); } returnValue.SecondaryIncident = new SecondaryIncident(); if (null != incidentDataSet.Tables[0].Rows[0]["SecondaryIncidentId"] && !string.IsNullOrEmpty(incidentDataSet.Tables[0].Rows[0]["SecondaryIncidentId"].ToString())) { returnValue.SecondaryIncident.SecondaryIncidentId = new Guid(incidentDataSet.Tables[0].Rows[0]["SecondaryIncidentId"].ToString()); returnValue.SecondaryIncident = GetSecondaryIncident(returnValue.SecondaryIncident.SecondaryIncidentId); } returnValue.Evaluator = new Dispatcher(); returnValue.Evaluator.DispatcherId = incidentDataSet.Tables[0].Rows[0]["EvaluatorId"].ToString(); returnValue.Evaluator = GetDispatcher(returnValue.Evaluator.DispatcherId); returnValue.EntryDate = DateTime.Parse(incidentDataSet.Tables[0].Rows[0]["EntryDate"].ToString()); returnValue.LastUpdated = DateTime.Parse(incidentDataSet.Tables[0].Rows[0]["LastUpdated"].ToString()); if (null != incidentDataSet.Tables[0].Rows[0]["PrimaryIncidentScore"] && !string.IsNullOrEmpty(incidentDataSet.Tables[0].Rows[0]["PrimaryIncidentScore"].ToString())) { returnValue.PrimaryIncidentScore = int.Parse(incidentDataSet.Tables[0].Rows[0]["PrimaryIncidentScore"].ToString()); } if (null != incidentDataSet.Tables[0].Rows[0]["PrimaryIncidentScorePercent"] && !string.IsNullOrEmpty(incidentDataSet.Tables[0].Rows[0]["PrimaryIncidentScorePercent"].ToString())) { returnValue.PrimaryIncidentScorePercent = float.Parse(incidentDataSet.Tables[0].Rows[0]["PrimaryIncidentScorePercent"].ToString()); } if (null != incidentDataSet.Tables[0].Rows[0]["SecondaryIncidentScore"] && !string.IsNullOrEmpty(incidentDataSet.Tables[0].Rows[0]["SecondaryIncidentScore"].ToString())) { returnValue.SecondaryIncidentScore = int.Parse(incidentDataSet.Tables[0].Rows[0]["SecondaryIncidentScore"].ToString()); } if (null != incidentDataSet.Tables[0].Rows[0]["SecondaryIncidentScorePercent"] && !string.IsNullOrEmpty(incidentDataSet.Tables[0].Rows[0]["SecondaryIncidentScorePercent"].ToString())) { returnValue.SecondaryIncidentScorePercent = float.Parse(incidentDataSet.Tables[0].Rows[0]["SecondaryIncidentScorePercent"].ToString()); } } return returnValue; }