public ActionResult InsertFirstResponderAnnotation(Event_Equipment_RootCauseModelView model, FormCollection collection)
        {
            using (MOMSEventFrameInterfaceEntities db = new MOMSEventFrameInterfaceEntities())
            {
                try
                {
                    var result = UpdateMasterDowntimeTable(model.eventModelView.uniqueID);

                    var annotation = new tbl_factMaintenanceAnnotations();
                    annotation.UniqueID = model.eventModelView.uniqueID;
                    annotation.FailureTypeDescription = model.rootCauseModelView.contType;
                    annotation.FailureDescription     = model.rootCauseModelView.contRootCause;
                    annotation.EquipmentType          = model.equipModelView.equipType;
                    annotation.EquipmentName          = model.equipModelView.equipName;
                    annotation.EquipmentNumber        = model.equipModelView.equipNumber;

                    annotation.ModifyStamp = DateTime.Now;

                    db.tbl_factMaintenanceAnnotations.Add(annotation);

                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw ex;
                }

                return(RedirectToAction("Events"));
            }
        }
        public ActionResult SetFirstResponderPartial(string EventID, string Site)
        {
            using (MOMSEventFrameInterfaceEntities db = new MOMSEventFrameInterfaceEntities())
            {
                //ViewBag.equipTypeList = new SelectList(GetEquipmentTypeList(Site), "elementID", "equipType");
                //ViewBag.contCategoryList = new SelectList(GetContributingDowntimeCategoryList(), "", "contCategory");

                var dtEvent = db.tbl_factFailureDowntimeCMMS.SingleOrDefault(x => x.UniqueID == EventID);

                Event_Equipment_RootCauseModelView parent = new Event_Equipment_RootCauseModelView
                {
                    eventModelView     = new EventModelView(),
                    equipModelView     = new EquipmentModelView(),
                    rootCauseModelView = new RootCauseModelView()
                };

                parent.equipModelView.equipTypeList        = new SelectList(GetEquipmentTypeList(Site), "", "equipType");
                parent.rootCauseModelView.contCategoryList = new SelectList(GetContributingDowntimeCategoryList(), "", "contCategory");

                parent.equipModelView.equipNumberList       = new SelectList("");
                parent.equipModelView.equipNameList         = new SelectList("");
                parent.rootCauseModelView.contTypeList      = new SelectList("");
                parent.rootCauseModelView.contRootCauseList = new SelectList("");

                parent.eventModelView.uniqueID        = dtEvent.UniqueID;
                parent.eventModelView.equipmentName   = dtEvent.EquipmentName;
                parent.eventModelView.equipmentNumber = dtEvent.EquipmentNumber;
                parent.eventModelView.startTime       = dtEvent.StartTime;
                parent.eventModelView.endTime         = dtEvent.EndTime;
                parent.eventModelView.duration        = dtEvent.Duration;
                parent.eventModelView.site            = dtEvent.Site;

                return(PartialView("EventAndRootCausePartialGrid", parent));
            }
        }
        public List <RootCauseModelView> GetContributingDowntimeCategoryList()
        {
            using (MOMSEventFrameInterfaceEntities db = new MOMSEventFrameInterfaceEntities())
            {
                List <RootCauseModelView> contDowntimeCategoryList = db.tbl_DimNonWorkOrderDowntimeAnnnotations.Select(x => new RootCauseModelView {
                    contCategory = x.Category
                }).Distinct().ToList();

                return(contDowntimeCategoryList);
            }
        }
        //public ActionResult GetEquipmentNameList(string EquipmentNumber)
        //{
        //    using (MOMSEventFrameInterfaceEntities db = new MOMSEventFrameInterfaceEntities())
        //    {
        //        List<EquipmentModelView> equipmentNameList = db.tbl_DimSiteEquipment.Where(x => x.EquipmentNumber== EquipmentNumber).Select(x => new EquipmentModelView { equipName = x.EquipmentName }).Distinct().ToList();

        //        //ViewBag.equipmentNameList = new SelectList(equipmentNameList, "equipNumber", "equipName");

        //        Event_Equipment_RootCauseModelView parent = new Event_Equipment_RootCauseModelView();

        //        parent.equipModelView = new EquipmentModelView();

        //        parent.equipModelView.equipNameList = new SelectList(equipmentNameList, "equipNumber", "equipName");

        //        return PartialView("EquipmentNamePartial");
        //    }
        //}

        public JsonResult GetEquipmentNameList(string EquipmentNumber)
        {
            using (MOMSEventFrameInterfaceEntities db = new MOMSEventFrameInterfaceEntities())
            {
                List <EquipmentModelView> equipmentNameList = db.tbl_DimSiteEquipment.Where(x => x.EquipmentNumber == EquipmentNumber).Select(x => new EquipmentModelView {
                    equipName = x.EquipmentName
                }).Distinct().ToList();

                return(Json(equipmentNameList, JsonRequestBehavior.AllowGet));
            }
        }
        public List <EquipmentModelView> GetEquipmentTypeList(string Site)
        {
            using (MOMSEventFrameInterfaceEntities db = new MOMSEventFrameInterfaceEntities())
            {
                List <EquipmentModelView> equipType = db.tbl_DimSiteEquipment.Where(x => x.Site == Site).Select(x => new EquipmentModelView {
                    equipType = x.EquipmentType
                }).Distinct().ToList();

                return(equipType);
            }
        }
        public ActionResult GetEvents() //All the events which have not been escalated
        {
            using (MOMSEventFrameInterfaceEntities db = new MOMSEventFrameInterfaceEntities())
            {
                List <EventModelView> dtList = db.tbl_factFailureDowntimeCMMS.Where(x => x.IsEscalated == false).OrderByDescending(x => x.StartTime).Select(x => new EventModelView {
                    equipmentName = x.EquipmentName, startTime = x.StartTime, endTime = x.EndTime, duration = x.Duration, equipmentNumber = x.EquipmentNumber, site = x.Site, uniqueID = x.UniqueID
                }).ToList();

                return(Json(new { data = dtList }, JsonRequestBehavior.AllowGet));
            }
        }
        public int UpdateMasterDowntimeTable(string uniqueId)
        {
            using (MOMSEventFrameInterfaceEntities db = new MOMSEventFrameInterfaceEntities())
            {
                try
                {
                    var eventToUpdate = db.tbl_factFailureDowntimeCMMS.Find(uniqueId);

                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw ex;
                }

                return(0);
            }
        }
        public ActionResult GetContributingDowntimeRootCauseList(string ContDowntimeCategory, string ContDowntimeType)
        {
            using (MOMSEventFrameInterfaceEntities db = new MOMSEventFrameInterfaceEntities())
            {
                List <RootCauseModelView> contDowntimeRootCauseList = db.tbl_DimNonWorkOrderDowntimeAnnnotations.Where(x => x.Category == ContDowntimeCategory && x.DowntimeType == ContDowntimeType).Select(x => new RootCauseModelView {
                    contRootCause = x.RootCause
                }).Distinct().ToList();

                //ViewBag.contDowntimeRootCauseList = new SelectList(contDowntimeRootCauseList, "contCkey", "contRootCause");

                //Event_Equipment_RootCauseModelView parent = new Event_Equipment_RootCauseModelView();

                //parent.rootCauseModelView = new RootCauseModelView();

                //parent.rootCauseModelView.contRootCauseList = new SelectList(contDowntimeRootCauseList, "", "contRootCause");

                return(Json(contDowntimeRootCauseList, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult SetWorkOrderPartial(string EventID, string Site)
        {
            using (MOMSEventFrameInterfaceEntities db = new MOMSEventFrameInterfaceEntities())
            {
                Event_Equipment_RootCauseModelView parent = new Event_Equipment_RootCauseModelView();

                ViewBag.equipTypeList = new SelectList(GetEquipmentTypeList(Site), "equipNumber", "equipType");

                parent.eventModelView = new EventModelView();

                tbl_factFailureDowntimeCMMS dtEvent = db.tbl_factFailureDowntimeCMMS.SingleOrDefault(x => x.UniqueID == EventID);

                parent.eventModelView.uniqueID        = dtEvent.UniqueID;
                parent.eventModelView.equipmentName   = dtEvent.EquipmentName;
                parent.eventModelView.equipmentNumber = dtEvent.EquipmentNumber;
                parent.eventModelView.startTime       = dtEvent.StartTime;
                parent.eventModelView.endTime         = dtEvent.EndTime;
                parent.eventModelView.duration        = dtEvent.Duration;
                parent.eventModelView.site            = dtEvent.Site;

                return(PartialView("AnnotationWorkOrderPartial", parent));
            }
        }