Exemple #1
0
        public virtual async Task <ActionResult> CreateAudit(OapAudit model)
        {
            RigOapChecklist modelr = new RigOapChecklist()
            {
                OapchecklistId = 69, OwnerId = UtilitySystem.CurrentUserId, Title = "Audit-" + model.Id.ToString(), RigId = model.RigId.ToString()
            };

            model.CreatedBy = model.UpdatedBy;
            var oapaudit = new OapAuditProtocol();

            oapaudit.AuditId           = model.Id;
            oapaudit.RigOapCheckListId = Guid.Empty;
            oapaudit.RigOapChecklist   = modelr;
            model.OapAuditProtocols    = new ObservableCollection <OapAuditProtocol>();
            model.OapAuditProtocols.Add(oapaudit);
            // model.SiteId = "corp";
            var response = await OapAuditClient.AddOapAuditAsync(model);

            //  return RedirectToAction("Index");
            // ViewBag.SelectedRigId = model.RigId;
            return(RedirectToAction("RefreshAll"));
            // return null;

            // return PartialView("OapAuditPartial", GetAuditData());
        }
        public virtual async Task <ActionResult> CreateProtocol(string OapChecklistId, int OwnerId)
        {
            var audit = (OapAudit)Session["OapAudit"];

            List <RigOapChecklist> protocolList = new List <RigOapChecklist>();

            IEnumerable <OapChecklist> OapChecklist = GetProtocols();

            string[] values = OapChecklistId.Split(';');

            foreach (var value in values)
            {
                int             checklistId = OapChecklist.Where(p => p.Name == value).FirstOrDefault().Id;
                RigOapChecklist protocol    = new RigOapChecklist();
                protocol.OapchecklistId    = checklistId;
                protocol.RigId             = audit.RigId.ToString();
                protocol.OwnerId           = OwnerId;
                protocol.Title             = "Audit Protocol by " + UtilitySystem.CurrentUserName;
                protocol.ChecklistDateTime = DateTime.UtcNow;

                var count = audit.OapAuditProtocols.Where(p => p.RigOapChecklist.OapchecklistId == protocol.OapchecklistId).Count();
                if (count == 0)
                {
                    protocolList.Add(protocol);
                }
            }

            IEnumerable <RigOapChecklist> model = protocolList;

            var protocols = (model.Count() != 0) ? await OapAuditClient.AddProtocolsAsync(audit.Id, model) : throw new Exception("Protocol Already Exists");

            return(TryCatchCollectionDisplayPartialView("ProtocolsToAuditPartial", "GenericDashBoardErrorsKey", () => protocols?.Result?.Data));
        }
Exemple #3
0
        public async Task <ActionResult> RefreshAll()
        {
            var response = await OapAuditClient.GetAllOapAuditsAsync("Open");

            ViewBag.SelectedRBId = 0;
            return((response == null && response.Result == null) ? View("Index", response) : View("Index", response.Result.Data.OrderByDescending(a => a.Id)));
        }
Exemple #4
0
        public async Task <ActionResult> Index()
        {
            var response = await OapAuditClient.GetAllOapAuditsAsync("Open");

            IEnumerable <OapAudit> audits = null;

            return(View(audits));

            // return (response == null && response.Result != null)? View(response):View(response.Result.Data.Where(c => c.RigId.Equals(1)).OrderByDescending(a=>a.Id));
        }
        public OapProtocolsToAuditController() : base()
        {
            OapAuditClient = new OapAuditClient(GetApiBaseUrl(), Client);

            OapChecklistClient = new OapChecklistClient(GetApiBaseUrl(), Client);

            OapAuditsClient = new OapAuditClient(GetApiBaseUrl(), Client);

            GridDataChecklist.Title = "Open Protocol Checklists";
            GridDataChecklist       = new GridData("OapProtocolsGrid", "OapProtocolsToAudit", "RigChecklists", "Protocols to Audit", "AddNewProtocol", "Add Protocol", "search", initializeCallBack: true);
        }
        public ActionResult DisplayProtocols(int aId)
        {
            ViewData["SelectedAuditId"] = aId;
            var rlist = new List <RigOapChecklist>();

            if (!(bool)Session["isAuditIdClick"])
            {
                var protocols = OapAuditClient.GetAuditProtocolsAsync(aId).Result?.Result?.Data;
                var ap        = protocols?.Where(r => r.OapChecklist?.OapType?.Code == "AR").FirstOrDefault();
                protocols.Remove(ap);

                Session["isAuditIdClick"] = false;
                return(PartialView("ProtocolsToAuditPartial", protocols));
            }
            return(PartialView("ProtocolsToAuditPartial", rlist));
        }
        public virtual async Task <ActionResult> CreateProtocolChecklist(int OapChecklistId, int OwnerId)
        {
            RigOapChecklist model = new RigOapChecklist()
            {
                OapchecklistId = OapChecklistId, OwnerId = OwnerId
            };

            var audit = (OapAudit)Session["OapAudit"];

            model.RigId             = audit.RigId.ToString();
            model.Title             = "Audit Protocol";
            model.ChecklistDateTime = DateTime.UtcNow;

            var count = audit.OapAuditProtocols.Where(p => p.RigOapChecklist.OapchecklistId == model.OapchecklistId).Count();

            var response = (count == 0) ? await OapAuditClient.AddProtocolToAuditAsync(audit.Id, model) : throw new Exception("Protocol Already Exists");

            var protocols = OapAuditClient.GetAuditProtocolsAsync(audit.Id).Result?.Result?.Data;

            return(TryCatchCollectionDisplayPartialView("ProtocolsToAuditPartial", "GenericDashBoardErrorsKey", () => protocols));
        }
Exemple #8
0
        public async Task <ActionResult> OpenAudits(int rrigId = 0, bool isBuid = false)
        {
            IEnumerable <OapAudit> audits = null;

            if (rrigId == 0 && !isBuid)
            {
                return(PartialView("OapAuditPartial", audits));
            }
            var response = await OapAuditClient.GetAllOapAuditsAsync("Open");

            IEnumerable <OapAudit> res = null;

            if (response != null && response.Result != null)
            {
                var t = response.Result.Data;


                //    if (rrigId == 0) return PartialView("OapAuditPartial", t);
                if (isBuid)
                {
                    if (rrigId == 0)
                    {
                        return(PartialView("OapAuditPartial", t));
                    }
                    var lkpList = Ensco.Utilities.UtilitySystem.GetLookupList("Rig");
                    var rigs    = (lkpList.Items as List <object>)?.Cast <RigModel>();

                    var rigIds = rigs.Where(r => r.BuId == rrigId).Select(si => si.Id).ToList();
                    res = t.Where(r => rigIds.Contains(r.RigId)).OrderByDescending(a => a.Id);
                }
                else
                {
                    res = t.Where(c => c.RigId.Equals(rrigId)).OrderByDescending(a => a.Id);
                }
            }
            // ViewData["SelectedAuditId"] = res.FirstOrDefault() != null ? res.FirstOrDefault().Id : 0;
            return(PartialView("OapAuditPartial", res));
        }
Exemple #9
0
        public OapAuditController() : base()
        {
            OapAuditClient = new OapAuditClient(GetApiBaseUrl(), Client);

            PeopleClient = new PeopleClient(GetApiBaseUrl(), Client);
        }
Exemple #10
0
        protected virtual ObservableCollection <OapAudit> GetAuditData(string status = "Open")
        {
            var auditData = OapAuditClient.GetAllOapAuditsAsync(status).Result.Result.Data;

            return(auditData);
        }
Exemple #11
0
        public static IList <OapSearchCheckListQuestionFlatModel> ToRelatedQuestionFlattenedModel(this IEnumerable <RigOapChecklistQuestion> rigRelatedQuestionList, int questionId, OapAuditClient auditClient, OapChecklistFindingClient checklistFindingClient)
        {
            var layoutList = new List <OapSearchCheckListQuestionFlatModel>();

            foreach (var item in rigRelatedQuestionList)
            {
                var protocol = auditClient.GetCompleteProtocolAsync(item.RigOapChecklistId).Result.Result.Data;

                if (protocol == null)
                {
                    continue;
                }

                var rigQuestion = protocol.Questions.FirstOrDefault(rq => rq.Id == item.Id);

                var qFindings = checklistFindingClient.GetAllFindingsForQuestionAsync(rigQuestion.Id).Result.Result.Data;

                var rigQuestionAnswers = rigQuestion?.Answers?.ToList();

                StringBuilder sb = new StringBuilder();
                sb.Append("{ ");
                foreach (var questionAnswer in rigQuestionAnswers)
                {
                    var answer = questionAnswer.Value;
                    answer = (answer == "Y") ? "YES".Translate() : ((answer == "N") ? "NO".Translate() : " ");
                    sb.Append(answer);

                    if (rigQuestionAnswers.Count > 1)
                    {
                        sb.Append(", ");
                    }
                }

                sb.Append(" }");
                var answers = sb.ToString();

                var gst = (from g in protocol.OapChecklist.Groups
                           from sg in g.SubGroups
                           from t in sg.Topics
                           from q in t.Questions
                           where q.Id == rigQuestion.OapChecklistQuestionId
                           select new { Group = g, SubGroup = sg, Topic = t }).FirstOrDefault();

                var relatedQuestion = new OapSearchCheckListQuestionFlatModel(protocol.Id, protocol.RigId.ToString(), protocol.RigChecklistUniqueId, protocol.OapchecklistId, protocol.ChecklistDateTime, protocol.Title, gst?.Group?.Name, gst?.SubGroup?.Name, gst?.Topic?.Topic, item.OapChecklistQuestionId ?? 0, rigQuestion?.OapChecklistQuestion.Question, answers, qFindings.FirstOrDefault()?.FindingType?.Name);

                if (!layoutList.Any(l => l.RigOapChecklistId == relatedQuestion.RigOapChecklistId && l.QuestionId == relatedQuestion.QuestionId))
                {
                    layoutList.Add(relatedQuestion);
                }
            }
            return(layoutList);
        }
Exemple #12
0
        public static IList <OapCapaProtocolsFlatModel> ToFindingsCapaModel(this RigOapChecklist checkList, OapAuditClient auditClient, OapChecklistFindingClient checklistFindingClient)
        {
            var layoutList = new List <OapCapaProtocolsFlatModel>();

            var ckListFindings = checklistFindingClient.GetAllFindingsForChecklistAsync(checkList.Id).Result?.Result?.Data;

            foreach (var finding in ckListFindings)
            {
                var capa = checklistFindingClient.GetCAPAsByFindingIdAsync(finding.RigChecklistFindingInternalId).Result?.Result?.Data;

                var capaProtocol = new OapCapaProtocolsFlatModel(checkList.Id, checkList.RigChecklistUniqueId, checkList.Assessors?.Where(a => a.IsLead == true)?.FirstOrDefault()?.User?.Name,
                                                                 finding.RigChecklistFindingInternalId, finding.FindingTypeId, finding.FindingSubTypeId, finding.CriticalityId, 0, " "
                                                                 , finding.AssignedUser?.Name, finding?.Status, "Review");

                if (!layoutList.Any(l => l.FindingId == capaProtocol.FindingId))
                {
                    layoutList.Add(capaProtocol);
                }
            }

            return(layoutList);
        }
Exemple #13
0
        public static IList <OapPreviousProtocolsFlatModel> ToPreviousProtocolsModel(this IEnumerable <RigOapChecklist> rigChecklistList, ReviewSearchModel model, OapAuditClient auditClient, OapChecklistFindingClient checklistFindingClient)
        {
            var layoutList = new List <OapPreviousProtocolsFlatModel>();

            foreach (var item in rigChecklistList)
            {
                var protocol = auditClient.GetCompleteProtocolAsync(item.Id).Result?.Result?.Data;

                if (protocol == null)
                {
                    continue;
                }


                var count    = 0;
                var question = protocol.Questions.ToList();

                question.ForEach((q) =>
                {
                    var v = q.Answers.Where(a => a.RigOapChecklistQuestionId == q.Id).FirstOrDefault().Value;

                    if (v == "N" || v == "NA")
                    {
                        count++;
                    }
                });

                var previousProtocols = new OapPreviousProtocolsFlatModel(protocol.Id, protocol.RigChecklistUniqueId, protocol.OapChecklist.OapType.Name, protocol.Title, protocol.Assessors?.Where(a => a.IsLead == true)?.FirstOrDefault()?.User?.Name, protocol.ChecklistDateTime.ToString("dd-MMM-yyyy"), count.ToString(), protocol.Status, "Review");

                if (!layoutList.Any(l => l.ChecklistId == previousProtocols.ChecklistId))
                {
                    layoutList.Add(previousProtocols);
                }
            }

            return(layoutList);
        }