Exemplo n.º 1
0
        public ActionResult ChecklistObserversUpdatePartial(ChecklistObserverGridRowModel rowModel)
        {
            ChecklistObserverGridModel model = (ChecklistObserverGridModel)Session["checklistObserverGridModel"];

            if (ModelState.IsValid)
            {
                UserModel user = ServiceSystem.GetUser((int)rowModel.PassportId);
                rowModel.Company  = user.Company;
                rowModel.Position = user.Position;
                var observer = model.Observers.Find(o => o.Id == rowModel.Id);
                model.Observers.Remove(observer);
                model.Observers.Add(rowModel);
            }
            else
            {
                ViewData["UpdateError"] = true;
            }

            return(PartialView("ChecklistObserversPartial", model));
        }
Exemplo n.º 2
0
        public ActionResult ChecklistObserversAddPartial(ChecklistObserverGridRowModel rowModel)
        {
            ChecklistObserverGridModel model = (ChecklistObserverGridModel)Session["checklistObserverGridModel"];

            //IFSOServiceDataModel fSOServiceDataModel = new FSOServiceDataModel();

            if (ModelState.IsValid)
            {
                UserModel user = ServiceSystem.GetUser((int)rowModel.PassportId);
                rowModel.Id       = model.Observers.Count + 1; // Temp ID
                rowModel.Company  = user.Company;
                rowModel.Position = user.Position;
                model.Observers.Add(rowModel);
            }
            else
            {
                ViewData["UpdateError"] = true;
            }

            return(PartialView("ChecklistObserversPartial", model));
        }
Exemplo n.º 3
0
        private IList <OIMDashboardOAPGridViewModel> GenerateChecklistViewModelList(ObservableCollection <RigOapChecklist> checklistList)
        {
            IList <OIMDashboardOAPGridViewModel> viewModelList = new List <OIMDashboardOAPGridViewModel>();


            foreach (var checklist in checklistList)
            {
                var           leadAssessor         = checklist.Assessors?.FirstOrDefault(a => a.IsLead);
                UserModel     assessor             = null;
                PositionModel leadAssessorPosition = null;

                if (leadAssessor != null && leadAssessor.UserId != 0)
                {
                    assessor             = ServiceSystem.GetUser(leadAssessor.UserId);
                    leadAssessorPosition = ServiceSystem.GetUserPosition(leadAssessor.UserId);
                }


                int nonConformityCount = 0;
                foreach (var question in checklist.Questions)
                {
                    nonConformityCount += question.Answers.Count(a => a.Value == "N");
                }

                var viewModel = new OIMDashboardOAPGridViewModel()
                {
                    Id            = checklist.RigChecklistUniqueId,
                    ChecklistGuid = checklist.Id,
                    Assessor      = assessor?.DisplayName,
                    Position      = leadAssessorPosition?.Name,
                    Title         = checklist.Title,
                    Date          = checklist.ChecklistDateTime,
                    Location      = checklist.LocationName,
                    NonConformity = nonConformityCount
                };
                viewModelList.Add(viewModel);
            }

            return(viewModelList);
        }
Exemplo n.º 4
0
        public static LessonLearnedModel GetLessonLearned(int id)
        {
            var dataModel = GetServiceModel(OAPDataModelType.LessonLearned);
            LessonLearnedModel lessonLearned = dataModel.GetItem(string.Format("Id={0}", id), "Id");

            IIrmaServiceDataModel approvalDataModel = IrmaServiceSystem.GetServiceModel(IrmaConstants.IrmaPobModels.Approval);

            var approvals = approvalDataModel.GetItems(
                string.Format("RequestItemId={0}", lessonLearned.Id), "Id").Cast <ApprovalModel>().ToList();

            foreach (var approver in approvals)
            {
                var user = ServiceSystem.GetUser((int)approver.Approver);
                approver.Position = (int)user.Position;
                approver.Initialize();
            }
            lessonLearned.Approvals = approvals;

            dataModel = OAPServiceSystem.GetServiceModel(OAPDataModelType.LessonLearnedType);
            LessonLearnedType lessonType = (LessonLearnedType)dataModel.GetItem(string.Format("Id={0}", lessonLearned.TypeId), "Id");

            lessonLearned.Type = lessonType;

            lessonLearned.Attachments = ServiceSystem.GetAttachments("Lessons Learned", lessonLearned.Id.ToString());

            dataModel = GetServiceModel(OAPDataModelType.LessonLearnedOriginator);
            var originators = dataModel.GetItems(string.Format("LessonId={0}", lessonLearned.Id), "Id").Cast <LessonLearnedOriginatorModel>().ToList();

            foreach (var originator in originators)
            {
                var user = ServiceSystem.GetUser(originator.PassportId);
                originator.Position = (int)user.Position;
            }
            lessonLearned.Originators = originators;

            return(lessonLearned);
        }
Exemplo n.º 5
0
        public ActionResult RigAdminListsPartial(RigAdminManageModel model)
        {
            RigAdminManageModel manageRigModel = (RigAdminManageModel)Session["manageRigModel"];

            if (ModelState.IsValid)
            {
                IrmaServiceSystem.SaveMaxPOB(model.MaxPOB);
                //UtilitySystem.Settings.ConfigSettings["DateFormat"] = model.DateFormat;
                //UtilitySystem.Settings.ConfigSettings["DateTimeFormat"] = model.DateTimeFormat;
                //UtilitySystem.SaveConfigSettings();
                IrmaServiceSystem.UpdateAdminCustomValue("DateFormat", model.DateFormat);
                IrmaServiceSystem.UpdateAdminCustomValue("DateTimeFormat", model.DateTimeFormat);
                UtilitySystem.Settings.ConfigSettings["DateFormat"]     = model.DateFormat;
                UtilitySystem.Settings.ConfigSettings["DateTimeFormat"] = model.DateTimeFormat;

                IIrmaServiceDataModel emailDataModel = IrmaServiceSystem.GetServiceModel(IrmaConstants.IrmaPobModels.Emails);
                PobEmailModel         emailModel     = emailDataModel.GetItem(string.Format("Name=\"PobSummaryReport\""), "Name");
                emailModel.Recipients = (model.PobSummaryEmailList != null) ? string.Join(";", model.PobSummaryEmailList) : null;
                emailDataModel.Update(emailModel);

                emailModel            = emailDataModel.GetItem(string.Format("Name=\"DailySummaryReport\""), "Name");
                emailModel.Recipients = (model.DailySummaryEmailList != null) ? string.Join(";", model.DailySummaryEmailList) : null;
                emailDataModel.Update(emailModel);

                string dailyEmails = "";
                if (model.DailySummaryEmailList != null)
                {
                    char[] sep = { ';' };
                    foreach (string sid in model.DailySummaryEmailList)
                    {
                        int id = 0;
                        if (!int.TryParse(sid, out id))
                        {
                            continue;
                        }

                        UserModel user = ServiceSystem.GetUser(id);
                        if (user != null && user.Email != null && user.Email.Length > 0)
                        {
                            dailyEmails += user.Email + ";";
                        }
                    }
                    dailyEmails = dailyEmails.Trim(sep);
                }

                UserModel userOIM    = ServiceSystem.GetUser(model.CurrentOIM);
                UserModel userMaster = ServiceSystem.GetUser(model.CurrentMaster);

                // Phase 1 parameters
                IrmaServiceSystem.UpdateAdminCustomValue("EmailTime", model.EmailTime.ToString("HH:mm"));

                IrmaServiceSystem.UpdateAdminCustomValue("Brazil", string.Format("{0}", model.IsRigInBrazil ? "1" : "0"));
                IrmaServiceSystem.UpdateAdminCustomValue("RequireClientSignature", string.Format("{0}", model.ChooseClientSignAtTimeOfPermit ? "1" : "0"));
                IrmaServiceSystem.UpdateAdminCustomValue("ClientHotWork", string.Format("{0}", model.IsClientRequireSignHotWorkPermit ? "1" : "0"));
                IrmaServiceSystem.UpdateAdminCustomValue("ClientColdWork", string.Format("{0}", model.IsClientRequireSignColdWorkPermit ? "1" : "0"));
                IrmaServiceSystem.UpdateAdminCustomValue("ClientConfinedSpace", string.Format("{0}", model.IsClientRequireSignConfinedWorkPermit ? "1" : "0"));
                IrmaServiceSystem.UpdateAdminCustomValue("DailySummaryEmails", dailyEmails);
                if (userOIM != null)
                {
                    IrmaServiceSystem.UpdateAdminCustomValue("OIM", userOIM.Passport);
                    IrmaServiceSystem.UpdateAdminCustomValue("OIMName", userOIM.DisplayName);
                }
                if (userMaster != null)
                {
                    IrmaServiceSystem.UpdateAdminCustomValue("Master", userMaster.Passport);
                    IrmaServiceSystem.UpdateAdminCustomValue("MasterName", userMaster.DisplayName);
                }

                manageRigModel = model;
            }
            ControllerContext.HttpContext.Response.Redirect("RigRequirements");
            ViewBag.Flag = "Save";
            return(null);

            return(PartialView("RigAdminListsPartial", manageRigModel));
        }
Exemplo n.º 6
0
        public ActionResult CapBookReport(string passportId)
        {
            CAP_BookReportModel model = new CAP_BookReportModel();

            model.CapBookEnscoLogo = HttpContext.Server.MapPath("~/Images/CapEnscoLogo.png");
            model.CapBookImage1    = HttpContext.Server.MapPath("~/Images/CapBook1.png");
            model.CapBookImage2    = HttpContext.Server.MapPath("~/Images/CapBook2.png");
            model.CapBookTlcLogo   = HttpContext.Server.MapPath("~/Images/TlcLogo.png");

            model.CapBookPage1  = HttpContext.Server.MapPath("~/Images/CapBookPage1.png");
            model.CapBookPage2  = HttpContext.Server.MapPath("~/Images/CapBookPage2.png");
            model.CapBookPage3  = HttpContext.Server.MapPath("~/Images/CapBookPage3.png");
            model.CapBookPage4  = HttpContext.Server.MapPath("~/Images/CapBookPage4.png");
            model.CapBookPage5  = HttpContext.Server.MapPath("~/Images/CapBookPage5.png");
            model.CapBookPage6  = HttpContext.Server.MapPath("~/Images/CapBookPage6.png");
            model.CapBookPage7  = HttpContext.Server.MapPath("~/Images/CapBookPage7.png");
            model.CapBookPage8  = HttpContext.Server.MapPath("~/Images/CapBookPage8.png");
            model.CapBookPage9  = HttpContext.Server.MapPath("~/Images/CapBookPage9.png");
            model.CapBookPage10 = HttpContext.Server.MapPath("~/Images/CapBookPage10.png");

            // Get User Information
            LookupListModel <dynamic> lkpPosition = LookupListSystem.GetLookupList("Position");
            LookupListModel <dynamic> lkpDept     = LookupListSystem.GetLookupList("Department");
            LookupListModel <dynamic> lkpBU       = LookupListSystem.GetLookupList("BusinessUnit");

            UserModel user = ServiceSystem.GetUserFromPassport(passportId);

            model.Passport     = passportId;
            model.Name         = user.DisplayName;
            model.Position     = (string)lkpPosition.GetDisplayValue(user.Position);
            model.Department   = (string)lkpPosition.GetDisplayValue(user.Department);
            model.BusinessUnit = (string)lkpPosition.GetDisplayValue(user.BusinessUnit);
            model.RigFacility  = UtilitySystem.Settings.RigName;
            if (user.Manager != null)
            {
                UserModel manager = ServiceSystem.GetUser((int)user.Manager);
                if (manager != null)
                {
                    model.Supervisor = manager.DisplayName;
                }
            }
            model.OIM = IrmaServiceSystem.GetAdminCustomValue("OIMName");

            CapBookReport report = new CapBookReport();

            RigCapService RigCapService             = new RigCapService();
            IQueryable <CAP_BookModel> capBookItems = RigCapService.GetCAPBookQueryable().Where(x => x.EnscoPassportNo == passportId).OrderBy(x => x.CompId);
            int           compNo   = 1;
            int           ksaNo    = 1;
            CAP_BookModel lastItem = null;

            foreach (CAP_BookModel item in capBookItems)
            {
                if (lastItem != null)
                {
                    if (lastItem.CompId != item.CompId)
                    {
                        compNo++;
                        ksaNo = 0;
                    }
                    ksaNo++;
                }
                item.CompetencyNumber = string.Format("{0}.0", compNo);
                item.KSANumber        = string.Format("{0}.{1}", compNo, ksaNo);

                model.Items.Add(item);

                lastItem = (lastItem == null || lastItem.CompId != item.CompId) ? item : lastItem;
            }
            List <CAP_BookReportModel> list = new List <CAP_BookReportModel>();

            list.Add(model);
            report.DataSource = list;

            Session["currentReport"] = report;

            return(RedirectToAction("ShowReport", "Report"));
        }
Exemplo n.º 7
0
        private List <TrainedObserversViewModel> GetTrainedObservers(OapChecklist corpFSOChecklist)
        {
            IIrmaServiceDataModel           pobDataModel = IrmaServiceSystem.GetServiceModel(IrmaConstants.IrmaPobModels.RigPersonnel); //.RigPersonnelHistory);
            IEnumerable <RigPersonnelModel> currentPob   = pobDataModel.GetItems("Status = 1", "Id").Cast <RigPersonnelModel>();

            IEnumerable <RigOapChecklist> fsoChecklistsLast40Days =
                RigOapChecklistClient.GetFsoChecklistByMinDateAsync(DateTime.Now.AddDays(-40).Date, corpFSOChecklist.Id).Result?.Result?.Data;

            List <TrainedObserversViewModel> trainedObservers = new List <TrainedObserversViewModel>();

            foreach (RigPersonnelModel person in currentPob)
            {
                UserModel userRecord = ServiceSystem.GetUser(person.PassportId);

                if (userRecord == null || !person.DateStart.HasValue)
                {
                    continue;
                }

                PositionModel position    = ServiceSystem.GetUserPosition(person.PassportId);
                TimeSpan      timeOnBoard = DateTime.Now.Subtract(person.DateStart.Value);

                TrainedObserversViewModel observer = new TrainedObserversViewModel()
                {
                    Name        = userRecord?.DisplayName,
                    Position    = position?.Name,
                    DaysOnboard = timeOnBoard.Days
                };

                int numberOfObservations = 0;
                IEnumerable <RigOapChecklist> checklistsWhileOnboard = fsoChecklistsLast40Days.Where(c => c.ChecklistDateTime >= person.DateStart);

                DateTime?lastObservationDate = null;
                foreach (RigOapChecklist fsoChecklist in checklistsWhileOnboard)
                {
                    if (fsoChecklist.Assessors == null)
                    {
                        continue;
                    }

                    IEnumerable <RigOapChecklistAssessor> checklistParticipations = fsoChecklist.Assessors.Where(a => a.UserId == userRecord.Id);
                    numberOfObservations += checklistParticipations.Count();

                    if (checklistParticipations.Count() > 0 && (lastObservationDate == null || fsoChecklist.ChecklistDateTime > lastObservationDate))
                    {
                        lastObservationDate = fsoChecklist.ChecklistDateTime;
                    }
                }

                observer.LastObservation = lastObservationDate;

                int  weeksOnBoard   = timeOnBoard.Days / 7;
                bool isInCompliance = true;
                if (timeOnBoard.Days > 7)
                {
                    isInCompliance = numberOfObservations > 0 ? (numberOfObservations / weeksOnBoard >= 1) : false;
                }

                observer.Observations   = numberOfObservations;
                observer.IsInCompliance = isInCompliance;

                trainedObservers.Add(observer);
            }

            return(trainedObservers);
        }
Exemplo n.º 8
0
        public ActionResult GetOpenCAPAs()
        {
            var CAPAs = capaService.GetUserCAPAs(currentOIM.Id);

            Action <Ensco.Irma.Data.IrmaCapa, CapaOIMGridViewModel> perItemAction = (capa, viewModel) => viewModel.AssignedBy = ServiceSystem.GetUser(capa.AssignedBy ?? -1)?.DisplayName;
            var viewModelList = MapToViewModel <Ensco.Irma.Data.IrmaCapa, CapaOIMGridViewModel>(CAPAs, perItemAction);

            return(PartialView("CAPAGridPartial", viewModelList));
        }
Exemplo n.º 9
0
        public ActionResult BACPendingReviewPartial()
        {
            ViewBag.GridName           = "BACPendingGrid";
            ViewBag.GridTitle          = "Barrier Authority Checklists Pending Review";
            ViewBag.GridLinkController = "BarrierAuthority";

            var bacList = RigOapChecklistClient.GetAllByTypeStatusAsync("Barrier Authority Checklist", "Pending").Result?.Result.Data;

            IList <OIMDashboardBACGridViewModel> viewModelList = new List <OIMDashboardBACGridViewModel>();

            foreach (var bacChecklist in bacList)
            {
                var           leadAssessor         = bacChecklist.Assessors.FirstOrDefault(a => a.IsLead);
                UserModel     assessor             = null;
                PositionModel leadAssessorPosition = null;

                if (leadAssessor != null && leadAssessor.UserId != 0)
                {
                    assessor             = ServiceSystem.GetUser(leadAssessor.UserId);
                    leadAssessorPosition = ServiceSystem.GetUserPosition(leadAssessor.UserId);
                }

                OIMDashboardBACGridViewModel viewModel = new OIMDashboardBACGridViewModel()
                {
                    ChecklistGuid = bacChecklist.Id,
                    Id            = bacChecklist.RigChecklistUniqueId,
                    Location      = bacChecklist.LocationName,
                    Title         = bacChecklist.Title,
                    Assessor      = assessor?.DisplayName,
                    Position      = leadAssessorPosition?.Name
                };

                foreach (var question in bacChecklist.Questions)
                {
                    foreach (var answer in question.Answers)
                    {
                        if (answer.Value == "N")
                        {
                            switch (answer.Ordinal)
                            {
                            case 0:
                                viewModel.Day1.ConformityCount++;
                                break;

                            case 1:
                                viewModel.Day2.ConformityCount++;
                                break;

                            case 2:
                                viewModel.Day3.ConformityCount++;
                                break;

                            case 3:
                                viewModel.Day4.ConformityCount++;
                                break;

                            case 4:
                                viewModel.Day5.ConformityCount++;
                                break;

                            case 5:
                                viewModel.Day6.ConformityCount++;
                                break;

                            case 6:
                                viewModel.Day7.ConformityCount++;
                                break;

                            default:
                                break;
                            }
                        }
                    }
                }

                viewModelList.Add(viewModel);
            }

            return(PartialView("BarrierAuthorityPendingReviewPartial", viewModelList));
        }