Example #1
0
        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;
        }
Example #2
0
        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;
        }
Example #4
0
        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);
        }
Example #7
0
        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;
        }