public ActionResult CrewArrivalDepartureLogReport(int Id) { PobArrivalDepartureLogReport report = new PobArrivalDepartureLogReport(); report.RigName.Value = Ensco.Utilities.UtilitySystem.Settings.RigName; report.LogoFile.Value = HttpContext.Server.MapPath("~/Images/ensco.png"); report.IrmaFile.Value = HttpContext.Server.MapPath("~/Images/irma.png"); IIrmaServiceDataModel dataModel = IrmaServiceSystem.GetServiceModel(IrmaConstants.IrmaPobModels.CrewArrivalDepartureLog); report.DataSource = dataModel.GetItems(string.Format("CrewChangeId={0}", Id), "Id"); Session["currentReport"] = report; return(RedirectToAction("ShowReport", "Report")); }
static public LookupListModel <dynamic> GetLookupList(JobConstants.LookupLists type) { IIrmaServiceDataModel dataModel = null; LookupListModel <dynamic> model = new LookupListModel <dynamic>(); model.Name = type.ToString(); string filter = null; switch (type) { } if (dataModel != null) { model.Items = (filter != null) ? dataModel.GetItems(filter, "Id") : dataModel.GetAllItems(); } model.Initialize(); return(model); }
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); }
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); }