public HseqRecord CreateLinkedRecord(int recordId, String recordSource, RecordType recordType, ApplicationDbContext db)
        {
            HseqRecord sourceRecord = GetSourceRecord(recordId, recordSource, db);

            //var defaults = PopulateRecordTypeLinked(linkedRecord, RecordType.NCR);

            HseqRecord newRecord = null;

            if (recordType == RecordType.NCR)
            {
                newRecord            = new Ncr(sourceRecord);
                newRecord.RecordType = RecordType.NCR;
            }
            else if (recordType == RecordType.FIS)
            {
                newRecord            = new Fis(sourceRecord);
                newRecord.RecordType = RecordType.FIS;
            }
            else if (recordType == RecordType.CAR)
            {
                newRecord            = new Car(sourceRecord);
                newRecord.RecordType = RecordType.CAR;
            }
            else if (recordType == RecordType.PAR)
            {
                newRecord            = new Par(sourceRecord);
                newRecord.RecordType = RecordType.PAR;
            }

            newRecord.HseqRecordID = sourceRecord.HseqRecordID;

            sourceRecord.LinkedRecords.Add(newRecord);
            return(newRecord);
        }
Esempio n. 2
0
        public ActionResult Close(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ncr ncr = db.NcrRecords.Find(id);

            if (ncr == null)
            {
                return(HttpNotFound());
            }
            ViewBag.HseqCaseFileID    = new SelectList(db.HseqCaseFiles, "HseqCaseFileID", "HseqCaseFileID", ncr.HseqCaseFileID);
            ViewBag.DiscrepancyTypeID = new SelectList(db.DiscrepancyTypes, "DiscrepancyTypeID", "Name", ncr.DiscrepancyTypeID);
            ViewBag.DispositionTypeID = new SelectList(db.DispositionTypes, "DispositionTypeID", "Name", ncr.DispositionTypeID);
            //ViewBag.DispositionApproverID = new SelectList(db.ApproverDispositions, "ApproverDispositionID", "FullName", ncr.DispositionApproverID);
            ViewBag.DetectedInAreaID  = new SelectList(db.BusinessAreas, "BusinessAreaID", "Name", ncr.DetectedInAreaID);
            ViewBag.ResponsibleAreaID = new SelectList(db.BusinessAreas, "BusinessAreaID", "Name", ncr.ResponsibleAreaID);
            ViewBag.LinkedRecordsID   = new SelectList(db.HseqRecords, "HseqRecordID", "LinkRecordForDisplay");

            ViewBag.CoordinatorID = new SelectList(db.HseqUsers, "HseqUserID", "FullName", ncr.CoordinatorID);
            //ViewBag.ApproverID = new SelectList(db.HseqUsers, "HseqUserID", "FullName", ncr.ApproverID);

            ViewBag.Status = "Close";

            return(View("Edit", ncr));
        }
Esempio n. 3
0
        //public ActionResult CreateLinked([Bind(Include = "HseqRecordID,AlfrescoNoderef,Title,Description,RecordType,EnteredBy,ReportedBy,HseqCaseFileID,JobNumber,DrawingNumber,NcrSource,NcrState,DiscrepancyTypeID,DetectedInAreaID,ResponsibleAreaID,DispositionTypeID,DispositionApproverID,DispositionNote,DateCreated,DateLastUpdated,CreatedBy,LastUpdatedBy,CoordinatorID,ApproverID,ResponsibleParty")]Ncr ncr)
        public ActionResult CreateLinked(NcrVM ncrVM)
        {
            if (ModelState.IsValid)
            {
                if (TempData["recordId"] != null)
                {
                    var recordId     = (int)TempData["recordId"];
                    var recordSource = (string)TempData["recordSource"];
                    Ncr ncr          = ncrVM.Ncr;
                    ncr = (Ncr)_LinkRecordService.CreateLinkRecord(ncr, recordId, recordSource, RecordType.NCR, db);

                    //Create Approvals
                    // _DelegatableService.AddHseqApprovalRequest(ncr, ncr.ApproverID, null, db);

                    TempData["recordId"]     = null;
                    TempData["recordSource"] = null;
                }

                return(RedirectToAction("Index"));
            }

            //ViewBag.HseqCaseFileID = new SelectList(db.HseqCaseFiles, "HseqCaseFileID", "HseqCaseFileID", ncrVM.HseqCaseFileID);
            //ViewBag.DiscrepancyTypeID = new SelectList(db.DiscrepancyTypes, "DiscrepancyTypeID", "Name", ncrVM.DiscrepancyTypeID);
            //ViewBag.DispositionTypeID = new SelectList(db.DispositionTypes, "DispositionTypeID", "Name", ncrVM.DispositionTypeID);
            //ViewBag.DetectedInAreaID = new SelectList(db.BusinessAreas, "BusinessAreaID", "Name", ncrVM.DetectedInAreaID);
            //ViewBag.ResponsibleAreaID = new SelectList(db.BusinessAreas, "BusinessAreaID", "Name", ncrVM.ResponsibleAreaID);
            //ViewBag.CoordinatorID = new SelectList(db.HseqUsers, "HseqUserID", "FullName");
            //ViewBag.ApproverID = new SelectList(db.HseqUsers, "HseqUserID", "FullName");


            //ViewBag.DispositionApproverID = new SelectList(db.ApproverDispositions, "ApproverDispositionID", "FullName");
            return(View(ncrVM));
        }
Esempio n. 4
0
        //[HttpPost, ValidateInput(false)]
        public ActionResult NcrGridViewUpdate1(string ParamValue1)
        {
            var model = db3.NcrRecords;
            Ncr ncr   = null;

            if (ModelState.IsValid)
            {
                try
                {
                    ncr = db3.NcrRecords.Find(int.Parse(ParamValue1));
                    ViewData["NcrEditor"] = true;
                }
                catch (Exception e)
                {
                    ViewData["EditError"] = e.Message;
                }
            }
            else
            {
                ViewData["EditError"] = "Please, correct all errors.";
            }

            ViewData["editmodel"] = model.FirstOrDefault();
            return(PartialView("_MainContentTabPanel", model));
        }
Esempio n. 5
0
        public ActionResult CreateLinked(int recordId, String recordSource)
        {
            Ncr ncr = (Ncr)_LinkRecordService.CreateLinkedRecord(recordId, recordSource, RecordType.NCR, db);

            //PopulateDefaults(ncr);

            TempData["recordId"]     = ncr.HseqRecordID;
            TempData["recordSource"] = recordSource;

            NcrVM ncrVM = new NcrVM();

            ncrVM.Ncr = ncr;

            //ncrVM.Ncr = new Ncr();
            ncrVM.HseqApprovalRequest         = new HseqApprovalRequest();
            ncrVM.HseqApprovalRequest.OwnerID = 1;

            //ncrVM.Ncr = (Ncr)_RecordService.PopulateRecordTypeDefaults(RecordType.NCR, ncrVM.Ncr);

            ncrVM.DetectedInAreas  = db.BusinessAreas;
            ncrVM.ResponsibleAreas = db.BusinessAreas;
            ncrVM.DiscrepancyTypes = db.DiscrepancyTypes;
            ncrVM.Coordinators     = db.HseqUsers;
            ncrVM.DispositionTypes = db.DispositionTypes;
            ncrVM.ApprovalOwners   = db.HseqUsers;

            ncrVM.Ncr.RecordType = RecordType.NCR;

            return(View("Create", ncrVM));
            //return RedirectToAction("Create", new { ProposedDisposition = false });
        }
Esempio n. 6
0
        // GET: Ncrs/Create
        public ActionResult Create(bool?ProposedDisposition)
        {
            NcrVM ncrVM = new NcrVM();
            Ncr   ncr   = new Ncr();

            ncr          = (Ncr)_RecordService.PopulateRecordTypeDefaults(RecordType.NCR, ncr);
            ncr.NcrState = NcrState.New;

            //PopulateDefaults(defaults);

            //ViewBag.HseqCaseFileID = new SelectList(db.HseqCaseFiles, "HseqCaseFileID", "HseqCaseFileID");
            //ViewBag.DiscrepancyTypeID = new SelectList(db.DiscrepancyTypes, "DiscrepancyTypeID", "Name");
            //ViewBag.DispositionTypeID = new SelectList(db.DispositionTypes, "DispositionTypeID", "Name");

            //ViewBag.DetectedInAreaID = new SelectList(db.BusinessAreas, "BusinessAreaID", "Name");
            //ViewBag.ResponsibleAreaID = new SelectList(db.BusinessAreas, "BusinessAreaID", "Name");
            //ViewBag.CoordinatorID = new SelectList(db.HseqUsers, "HseqUserID", "FullName");

            //ViewBag.ApproverID = new SelectList(db.HseqUsers, "HseqUserID", "FullName");


            ncrVM.Ncr = ncr;


            //Populate defaults
            if (ProposedDisposition == null)
            {
                ProposedDisposition = false;
            }
            ncrVM.ProposedDisposition = (bool)ProposedDisposition;
            if (ncrVM.ProposedDisposition)
            {
                ncrVM.Ncr.NcrState = NcrState.DispositionProposed;
                HseqApprovalRequest hseqApprovalRequest = new HseqApprovalRequest();
                ncrVM.HseqApprovalRequest         = hseqApprovalRequest;
                ncrVM.DispositionTypes            = db.DispositionTypes;
                ncrVM.ApprovalOwners              = db.HseqUsers;
                ncrVM.HseqApprovalRequest.DueDate = DateTime.Now.AddDays(14);
                ncrVM.HseqApprovalRequest.OwnerID = Utils.GetCurrentApplicationUser(db).HseqUserID;
            }
            else if (!ncrVM.ProposedDisposition)
            {
                ncrVM.Ncr.NcrState = NcrState.New;
            }

            ncrVM.DetectedInAreas  = db.BusinessAreas;
            ncrVM.ResponsibleAreas = db.BusinessAreas;
            ncrVM.DiscrepancyTypes = db.DiscrepancyTypes;
            ncrVM.Coordinators     = db.HseqUsers;

            ncrVM.Ncr.RecordType = RecordType.NCR;
            ncrVM.Ncr.NcrSource  = NcrSource.Internal;

            //string caseNo = _RecordService.GetNextCaseNumber(db);
            return(View(ncrVM));
        }
Esempio n. 7
0
        public ActionResult DeleteConfirmed(int id)
        {
            HseqCaseFile hseqCaseFile = db.HseqCaseFiles.Find(id);

            Console.WriteLine(hseqCaseFile.HseqRecords);
            Console.WriteLine(hseqCaseFile.HseqRecords.LongCount());

            var tmp = new List <HseqRecord>(hseqCaseFile.HseqRecords);

            foreach (var hsr in tmp)
            {
                //Ncr ncr = db.HseqRecords.Find(hsr.HseqRecordID);
                HseqRecord hr = db.HseqRecords.Find(hsr.HseqRecordID);

                if (hr is Ncr)
                {
                    Ncr ncr = (Ncr)hr;

                    _LinkRecordService.RemoveLinkedRecords(ncr);

                    db.NcrRecords.Remove((Ncr)hr);
                }

                else if (hr is Fis)
                {
                    Fis ncr = (Fis)hr;

                    _LinkRecordService.RemoveLinkedRecords(ncr);

                    db.FisRecords.Remove((Fis)hr);
                }
                else if (hr is Car)
                {
                    Car ncr = (Car)hr;

                    _LinkRecordService.RemoveLinkedRecords(ncr);

                    db.CarRecords.Remove((Car)hr);
                }
                else if (hr is Par)
                {
                    Par ncr = (Par)hr;

                    _LinkRecordService.RemoveLinkedRecords(ncr);

                    db.ParRecords.Remove((Par)hr);
                }
            }

            db.HseqCaseFiles.Remove(hseqCaseFile);

            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 8
0
        // GET: Ncrs/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ncr ncr = db.NcrRecords.Find(id);

            if (ncr == null)
            {
                return(HttpNotFound());
            }
            return(View(ncr));
        }
        // [OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
        public ActionResult NcrGridViewUpdate(NcrEditViewModel ncrEditVM)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (ncrEditVM != null)
                    {
                        Ncr ncr = db.NcrRecords.Find(ncrEditVM.HseqRecordID);
                        Mapper.Map(ncrEditVM, ncr);

                        db.Entry(ncr).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
                catch (DbEntityValidationException ex)
                {
                    // Retrieve the error messages as a list of strings.
                    var errorMessages = ex.EntityValidationErrors
                                        .SelectMany(x => x.ValidationErrors)
                                        .Select(x => x.ErrorMessage);

                    // Join the list to a single string.
                    var fullErrorMessage = string.Join("; ", errorMessages);

                    // Combine the original exception message with the new one.
                    var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);

                    // Throw a new DbEntityValidationException with the improved exception message.
                    throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
                }
                catch (InvalidOperationException e)
                {
                    ViewData["EditError"] = e.Message;
                    return(PartialView("_NcrEditView", ncrEditVM));
                }
                catch (Exception e)
                {
                    ViewData["EditError"] = e.Message;
                    return(PartialView("_NcrEditView", ncrEditVM));
                }
            }
            else
            {
                ViewData["EditError"] = "Please, correct all errors.";
                return(PartialView("_NcrEditView", ncrEditVM));
            }
            //   ModelState.Clear();
            return(PartialView("_MainContentCallbackPanel"));
        }
Esempio n. 10
0
        public ActionResult Create(NcrVM ncrVM)
        {
            if (ModelState.IsValid)
            {
                Ncr ncr = ncrVM.Ncr;

                string       caseNo;
                HseqCaseFile hseqCaseFile;
                ncr.CreatedBy = _RecordService.GetCurrentUser().FullName;
                ncr           = (Ncr)_RecordService.CreateCaseFile(ncr, out caseNo, out hseqCaseFile, db);

                db.NcrRecords.Add(ncrVM.Ncr);
                db.SaveChanges();

                //create the folder in Alfresco and return the alfresconoderef
                //Dummy for now

                //int alfresconoderef = caseNo;
                //hseqCaseFile.AlfrescoNoderef = caseNo;

                //ncr.AlfrescoNoderef = caseNo;

                //Create Approvals
                if (ncrVM.ProposedDisposition)
                {
                    HseqApprovalRequest hseqApprovalRequest = ncrVM.HseqApprovalRequest;
                    HseqApprovalRequest approvalRequest     = _DelegatableService.AddHseqApprovalRequest(ncr, hseqApprovalRequest, db);

                    Ncr ncr2 = db.NcrRecords.Find(ncr.HseqRecordID);
                    ncr2.Delegatables.Add(approvalRequest);
                    db.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }
            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
                Console.WriteLine(errors);
            }

            ncrVM.DetectedInAreas  = db.BusinessAreas;
            ncrVM.ResponsibleAreas = db.BusinessAreas;
            ncrVM.DiscrepancyTypes = db.DiscrepancyTypes;
            ncrVM.Coordinators     = db.HseqUsers;
            ncrVM.DispositionTypes = db.DispositionTypes;
            ncrVM.ApprovalOwners   = db.HseqUsers;

            return(View(ncrVM));
        }
        public ActionResult Edit(DelegatableVM ncrVM)
        {
            Ncr ncr = null;

            if (ModelState.IsValid)
            {
                HseqRecord hseqRecord = db.HseqRecords.Find(ncrVM.HseqApprovalRequest.HseqRecordID);
                //ncrVM.Ncr = ncr;

                HseqApprovalRequest hseqApprovalRequest = ncrVM.HseqApprovalRequest;

                //Update Ncr Status
                if (hseqRecord.RecordType == RecordType.NCR)
                {
                    ncr = db.NcrRecords.Find(ncrVM.HseqApprovalRequest.HseqRecordID);
                    if (hseqApprovalRequest.Response == ApprovalResult.Approved)
                    {
                        ncr.NcrState        = NcrState.DispositionApproved;
                        ncr.DateLastUpdated = DateTime.Now;
                        db.Entry(ncr).State = EntityState.Modified;
                    }
                    else if (hseqApprovalRequest.Response == ApprovalResult.Rejected)
                    {
                        ncr.NcrState        = NcrState.DispositionRejected;
                        ncr.DateLastUpdated = DateTime.Now;
                        db.Entry(ncr).State = EntityState.Modified;
                    }
                }

                db.Entry(hseqApprovalRequest).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("OpenAction", "HseqApprovalRequests"));
            }
            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
                Console.WriteLine(errors);
            }

            return(View(ncrVM));
        }
        public ActionResult NcrGridViewNew(NcrCreateViewModel ncrVM)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (ncrVM != null)
                    {
                        HseqCaseFile hseqCaseFile;
                        Ncr          ncr = new Ncr();
                        Mapper.Map(ncrVM, ncr);

                        ncr = (Ncr)_RecordService.CreateCaseFile(ncr, out hseqCaseFile, db);

                        db.HseqRecords.Add(ncr);
                        db.SaveChanges();

                        //create the folder in Alfresco and return the alfresconoderef
                        //Dummy for now

                        //int alfresconoderef = caseNo;
                        //hseqCaseFile.AlfrescoNoderef = caseNo;

                        //car.AlfrescoNoderef = caseNo;
                    }
                }
                catch (Exception e)
                {
                    ViewData["EditError"] = e.Message;
                    return(PartialView("_NcrNewView", ncrVM));
                }
            }
            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
                Console.WriteLine(errors);
                ViewData["EditError"] = "Please, correct all errors.";
                return(PartialView("_NcrNewView", ncrVM));
            }
            return(PartialView("_MainContentCallbackPanel"));
        }
Esempio n. 13
0
        public ActionResult LinkExistingRecord(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ncr ncr = db.NcrRecords.Find(id);

            if (ncr == null)
            {
                return(HttpNotFound());
            }

            //TODO: Filter out the already linked records
            var availableRecords = from h in db.HseqRecords
                                   where h.RecordType != RecordType.NCR
                                   select h;

            ViewBag.LinkedRecordsID = new SelectList(availableRecords, "HseqRecordID", "LinkRecordForDisplay");

            return(View(ncr));
        }
        public ActionResult Create(DelegatableVM ncrVM)
        {
            HseqRecord hseqRecord = null;

            if (ModelState.IsValid)
            {
                hseqRecord       = db.HseqRecords.Find(ncrVM.HseqApprovalRequest.HseqRecordID);
                ncrVM.HseqRecord = hseqRecord;

                HseqApprovalRequest hseqApprovalRequest = ncrVM.HseqApprovalRequest;

                if (hseqRecord.RecordType == RecordType.NCR)
                {
                    Ncr ncr = db.NcrRecords.Find(ncrVM.HseqRecord.HseqRecordID);
                    ncr.NcrState        = NcrState.DispositionProposed;
                    ncr.DateLastUpdated = DateTime.Now;
                }
                else
                {
                    hseqRecord.DateLastUpdated = DateTime.Now;
                }

                HseqApprovalRequest approvalRequest = _DelegatableService.AddHseqApprovalRequest(hseqRecord, hseqApprovalRequest, db);

                //ncr.Delegatables.Add(approvalRequest);

                db.SaveChanges();
                return(RedirectToAction("OpenAction", "HseqApprovalRequests"));
            }
            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
                Console.WriteLine(errors);
            }

            return(View(ncrVM));
        }
Esempio n. 15
0
        //public ActionResult Edit([Bind(Include = "HseqRecordID,AlfrescoNoderef,Title,Description,RecordType,EnteredBy,ReportedBy,HseqCaseFileID,JobNumber,DrawingNumber,NcrSource,NcrState,DiscrepancyTypeID,DetectedInAreaID,ResponsibleAreaID,DispositionTypeID,DispositionApproverID,DispositionNote,DateCreated,DateLastUpdated,CreatedBy,LastUpdatedBy,LinkedRecordsID,CoordinatorID,ApproverID,ResponsibleParty,CauseDesc")] Ncr ncr)
        public ActionResult Edit(NcrVM ncrVM)
        {
            Ncr ncr = ncrVM.Ncr;

            if (ModelState.IsValid)
            {
                ncr.LastUpdatedBy         = _RecordService.GetCurrentUser().FullName;
                db.Entry(ncrVM.Ncr).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
                Console.WriteLine(errors);
            }


            ncrVM.DetectedInAreas  = db.BusinessAreas;
            ncrVM.ResponsibleAreas = db.BusinessAreas;
            ncrVM.DiscrepancyTypes = db.DiscrepancyTypes;
            ncrVM.Coordinators     = db.HseqUsers;
            ncrVM.DispositionTypes = db.DispositionTypes;
            ncrVM.ApprovalOwners   = db.HseqUsers;

            //ViewBag.HseqCaseFileID = new SelectList(db.HseqCaseFiles, "HseqCaseFileID", "HseqCaseFileID", ncr.HseqCaseFileID);
            //ViewBag.DiscrepancyTypeID = new SelectList(db.DiscrepancyTypes, "DiscrepancyTypeID", "Name", ncr.DiscrepancyTypeID);
            //ViewBag.DispositionTypeID = new SelectList(db.DispositionTypes, "DispositionTypeID", "Name", ncr.DispositionTypeID);
            //ViewBag.DetectedInAreaID = new SelectList(db.BusinessAreas, "BusinessAreaID", "Name", ncr.DetectedInAreaID);
            //ViewBag.ResponsibleAreaID = new SelectList(db.BusinessAreas, "BusinessAreaID", "Name", ncr.ResponsibleAreaID);
            //ViewBag.LinkedRecordsID = new SelectList(db.HseqRecords, "HseqRecordID", "LinkRecordForDisplay", ncr.LinkedRecordsID);
            //ViewBag.CoordinatorID = new SelectList(db.HseqUsers, "HseqUserID", "FullName", ncr.CoordinatorID);

            //ViewBag.DispositionApproverID = new SelectList(db.ApproverDispositions, "ApproverDispositionID", "FullName", ncr.DispositionApproverID);
            //ViewBag.ApproverID = new SelectList(db.HseqUsers, "HseqUserID", "FullName", ncr.ApproverID);
            return(View(ncrVM));
        }
Esempio n. 16
0
        public ActionResult LinkExistingRecord(Ncr ncr, int?LinkedRecordsID)
        {
            if (LinkedRecordsID != null)
            {
                Ncr        ncrOrig      = db.NcrRecords.Find(ncr.HseqRecordID);
                HseqRecord LinkedRecord = db.HseqRecords.Find(LinkedRecordsID);

                if (ncrOrig != null && LinkedRecord != null)
                {
                    ncrOrig.LinkedRecords.Add(LinkedRecord);
                    LinkedRecord.LinkedRecords.Add(ncrOrig);

                    db.SaveChanges();
                }
                var availableRecords = from h in db.HseqRecords
                                       where h.RecordType != RecordType.NCR
                                       select h;

                ViewBag.LinkedRecordsID = new SelectList(availableRecords, "HseqRecordID", "LinkRecordForDisplay");
            }

            return(RedirectToAction("LinkExistingRecord", "Ncrs", ncr.RecordNo));
            //return View(ncr);
        }
Esempio n. 17
0
        public ActionResult DeleteConfirmed(int id)
        {
            Ncr ncr = db.NcrRecords.Find(id);

            _LinkRecordService.RemoveLinkedRecords(ncr);

            int?caseFileId = ncr.HseqCaseFileID;

            db.NcrRecords.Remove(ncr);

            //Remove the Case folder also if this is the last record
            var caseFileRefCounts = db.HseqRecords.Where(x => x.HseqCaseFileID == caseFileId).Count();

            //Remove the case file if this is the last node
            if (caseFileRefCounts == 1)
            {
                HseqCaseFile hc = db.HseqCaseFiles.Find(caseFileId);
                db.HseqCaseFiles.Remove(hc);
            }

            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
Esempio n. 18
0
 public HseqTaskVM(Ncr ncr)
 {
     this.HseqRecord = ncr;
     HseqTasks       = (List <HseqTask>) this.HseqRecord.Delegatables.OfType <HseqTask>().ToList();
 }
Esempio n. 19
0
        public ActionResult Close([Bind(Include = "HseqRecordID,AlfrescoNoderef,Title,Description,RecordType,EnteredBy,ReportedBy,HseqCaseFileID,JobNumber,DrawingNumber,NcrSource,NcrState,DiscrepancyTypeID,DetectedInAreaID,ResponsibleAreaID,DispositionTypeID,DispositionApproverID,DispositionNote,DateCreated,DateLastUpdated,CreatedBy,LastUpdatedBy,LinkedRecordsID,CoordinatorID,ApproverID,ResponsibleParty,CauseDesc")] Ncr ncr)
        {
            if (ModelState.IsValid)
            {
                ncr.LastUpdatedBy = _RecordService.GetCurrentUser().FullName;

                db.Entry(ncr).State = EntityState.Modified;

                bool errorExists = false;

                if (ncr.ResponsibleAreaID == null || ncr.ResponsibleAreaID == 0)
                {
                    ModelState.AddModelError("ResponsibleAreaID", "Responsible Area Cannot be empty");
                    errorExists = true;
                }
                if (ncr.ResponsibleParty == null)
                {
                    ModelState.AddModelError("ResponsibleParty", "Responsible Party Cannot be empty");
                    errorExists = true;
                }

                var activeApprovalsCount = db.HseqApprovalRequests.Where(x => x.HseqRecordID == ncr.HseqRecordID && x.Status == ApprovalStatus.Active).Count();

                if (activeApprovalsCount > 0)
                {
                    ModelState.AddModelError("", "This record cannot be closed since there are Open Approval Requests for this record");
                    errorExists = true;
                }

                var activeTaskCount = db.HseqTasks.Where(x => x.HseqRecordID == ncr.HseqRecordID && (x.Status == TaskStatus.Active || x.Status == TaskStatus.NotStarted)).Count();
                if (activeTaskCount > 0)
                {
                    ModelState.AddModelError("", "This record cannot be closed since there are Open Tasks for this record");
                    errorExists = true;
                }


                if (!errorExists)
                {
                    ncr.NcrState = NcrState.Closed;
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewBag.HseqCaseFileID    = new SelectList(db.HseqCaseFiles, "HseqCaseFileID", "HseqCaseFileID", ncr.HseqCaseFileID);
                    ViewBag.DiscrepancyTypeID = new SelectList(db.DiscrepancyTypes, "DiscrepancyTypeID", "Name", ncr.DiscrepancyTypeID);
                    ViewBag.DispositionTypeID = new SelectList(db.DispositionTypes, "DispositionTypeID", "Name", ncr.DispositionTypeID);
                    ViewBag.DetectedInAreaID  = new SelectList(db.BusinessAreas, "BusinessAreaID", "Name", ncr.DetectedInAreaID);
                    ViewBag.ResponsibleAreaID = new SelectList(db.BusinessAreas, "BusinessAreaID", "Name", ncr.ResponsibleAreaID);
                    ViewBag.LinkedRecordsID   = new SelectList(db.HseqRecords, "HseqRecordID", "LinkRecordForDisplay", ncr.LinkedRecordsID);
                    ViewBag.CoordinatorID     = new SelectList(db.HseqUsers, "HseqUserID", "FullName", ncr.CoordinatorID);

                    return(View("Edit", ncr));
                }
            }
            else
            {
                var errors = ModelState.Values.SelectMany(v => v.Errors);
                Console.WriteLine(errors);
            }

            return(View("Edit", ncr));
        }
Esempio n. 20
0
 public HseqApprovalRequestVM(Ncr ncr)
 {
     this.Ncr             = ncr;
     HseqApprovalRequests = (List <HseqApprovalRequest>) this.Ncr.Delegatables.OfType <HseqApprovalRequest>().ToList();
 }
        public ActionResult MainContentCallbackPanel()

        // DXCOMMENT: Pass a data model for GridView in the PartialView method's second parameter
        {
            if (DevExpressHelper.IsCallback)
            {
                NavigationFilter.RecordTypeCheckState      = null;
                NavigationFilter.ResponsibleAreaCheckState = null;
                NavigationFilter.CoordinatorsCheckState    = null;

                NavigationFilter.RecordTypes        = null;
                NavigationFilter.ResponsibleAreaIds = null;
                NavigationFilter.CoordinatorIds     = null;

                //Checked, Unchecked, Indeterminate

                NavigationFilter.RecordTypeCheckState      = Request.Params["recordTypeCheckState"];
                NavigationFilter.ResponsibleAreaCheckState = Request.Params["responsibleAreaCheckState"];
                NavigationFilter.CoordinatorsCheckState    = Request.Params["coordinatorsCheckState"];

                //Record Type
                if (!string.IsNullOrEmpty(Request.Params["recordTypeCheckedNodes"]))
                {
                    string recordTypeNodes = Request.Params["recordTypeCheckedNodes"];

                    NavigationFilter.RecordTypes = recordTypeNodes.Split(',');

                    setActiveTab();
                }

                //Responsible Area Type
                if (!string.IsNullOrEmpty(Request.Params["responsibleAreaCheckedNodes"]))
                {
                    string responsibleAreaNodes = Request.Params["responsibleAreaCheckedNodes"];

                    NavigationFilter.ResponsibleAreaIds = Array.ConvertAll(responsibleAreaNodes.Split(','), int.Parse);
                }

                if (!string.IsNullOrEmpty(Request.Params["coordinatorsCheckedNodes"]))
                {
                    string responsibleAreaNodes = Request.Params["coordinatorsCheckedNodes"];

                    NavigationFilter.CoordinatorIds = Array.ConvertAll(responsibleAreaNodes.Split(','), int.Parse);
                }

                //ViewData["Collapsed"] = false;

                //edit
                if (!string.IsNullOrEmpty(Request.Params["EditRecord"]))
                {
                    if (!string.IsNullOrEmpty(Request.Params["currentActiveView"]) && !string.IsNullOrEmpty(Request.Params["recordId"]))
                    {
                        string currentActiveView = Request.Params["currentActiveView"];
                        int    recordId          = int.Parse(Request.Params["recordId"]);

                        if (currentActiveView.Contains("Task"))
                        {
                            HseqTask record = db.HseqTasks.Find(recordId);
                            HseqTaskEditViewModel HseqTaskEditVM = Mapper.Map <HseqTask, HseqTaskEditViewModel>(record);

                            ViewData["record"]      = HseqTaskEditVM;
                            ViewData["currentview"] = "_Task" + EDIT_VIEW_PREFIX;
                        }
                        else if (currentActiveView.Contains("Approval"))
                        {
                            HseqApprovalRequest       record             = db.HseqApprovalRequests.Find(recordId);
                            HseqApprovalEditViewModel HseqApprovalEditVM = Mapper.Map <HseqApprovalRequest, HseqApprovalEditViewModel>(record);

                            ViewData["record"]      = HseqApprovalEditVM;
                            ViewData["currentview"] = "_Approval" + EDIT_VIEW_PREFIX;
                        }

                        ////////////////////////////////////////

                        else if (currentActiveView.Contains("Ncr"))
                        {
                            Ncr record = db.NcrRecords.Find(recordId);
                            NcrEditViewModel ncrEditVM = Mapper.Map <Ncr, NcrEditViewModel>(record);

                            ViewData["record"]      = ncrEditVM;
                            ViewData["currentview"] = "_Ncr" + EDIT_VIEW_PREFIX;
                        }
                        else if (currentActiveView.Contains("Car"))
                        {
                            Car record = db.CarRecords.Find(recordId);
                            CarEditViewModel carEditVM = Mapper.Map <Car, CarEditViewModel>(record);

                            ViewData["record"]      = carEditVM;
                            ViewData["currentview"] = "_Car" + EDIT_VIEW_PREFIX;
                        }
                        else if (currentActiveView.Contains("Par"))
                        {
                            Par record = db.ParRecords.Find(recordId);
                            ParEditViewModel parEditVM = Mapper.Map <Par, ParEditViewModel>(record);

                            ViewData["record"]      = parEditVM;
                            ViewData["currentview"] = "_Par" + EDIT_VIEW_PREFIX;
                        }
                        else if (currentActiveView.Contains("Fis"))
                        {
                            Fis record = db.FisRecords.Find(recordId);
                            FisEditViewModel fisEditVM = Mapper.Map <Fis, FisEditViewModel>(record);

                            ViewData["record"]      = fisEditVM;
                            ViewData["currentview"] = "_Fis" + EDIT_VIEW_PREFIX;
                        }
                    }
                }

                //new
                else if (!string.IsNullOrEmpty(Request.Params["NewRecord"]))
                {
                    if (!string.IsNullOrEmpty(Request.Params["currentActiveView"]))
                    {
                        string currentActiveView = Request.Params["currentActiveView"];

                        if (currentActiveView.Contains("Ncr"))
                        {
                            Ncr ncr = new Ncr();
                            ncr.CaseNo      = _RecordService.GetNextCaseNumber(db);
                            ncr.RecordNo    = ncr.CaseNo;
                            ncr.CreatedBy   = _RecordService.GetCurrentApplicationUser().FullName;
                            ncr.DateCreated = DateTime.Now;
                            ncr.RecordType  = RecordType.NCR;
                            ncr.NcrSource   = NcrSource.Internal;
                            ncr.NcrState    = NcrState.New;

                            NcrCreateViewModel carVM = Mapper.Map <Ncr, NcrCreateViewModel>(ncr);

                            ViewData["record"]      = carVM;
                            ViewData["currentview"] = "_Ncr" + NEW_VIEW_PREFIX;
                        }
                        else if (currentActiveView.Contains("Car"))
                        {
                            Car car = new Car();
                            car.CaseNo      = _RecordService.GetNextCaseNumber(db);
                            car.RecordNo    = car.CaseNo;
                            car.CreatedBy   = _RecordService.GetCurrentApplicationUser().FullName;
                            car.DateCreated = DateTime.Now;
                            car.RecordType  = RecordType.CAR;

                            CarCreateViewModel carVM = Mapper.Map <Car, CarCreateViewModel>(car);

                            ViewData["record"]      = carVM;
                            ViewData["currentview"] = "_Car" + NEW_VIEW_PREFIX;
                        }
                        else if (currentActiveView.Contains("Par"))
                        {
                            Par par = new Par();
                            par.CaseNo      = _RecordService.GetNextCaseNumber(db);
                            par.RecordNo    = par.CaseNo;
                            par.CreatedBy   = _RecordService.GetCurrentApplicationUser().FullName;
                            par.DateCreated = DateTime.Now;
                            par.RecordType  = RecordType.PAR;

                            ParCreateViewModel parVM = Mapper.Map <Par, ParCreateViewModel>(par);

                            ViewData["record"]      = parVM;
                            ViewData["currentview"] = "_Par" + NEW_VIEW_PREFIX;
                        }
                        else if (currentActiveView.Contains("Fis"))
                        {
                            Fis fis = new Fis();
                            fis.CaseNo      = _RecordService.GetNextCaseNumber(db);
                            fis.RecordNo    = fis.CaseNo;
                            fis.CreatedBy   = _RecordService.GetCurrentApplicationUser().FullName;
                            fis.DateCreated = DateTime.Now;
                            fis.RecordType  = RecordType.FIS;

                            FisCreateViewModel fisVM = Mapper.Map <Fis, FisCreateViewModel>(fis);

                            ViewData["record"]      = fisVM;
                            ViewData["currentview"] = "_Fis" + NEW_VIEW_PREFIX;
                        }
                    }
                }

                //// Task ///////////////////
                else if (!string.IsNullOrEmpty(Request.Params["addTask"]))
                {
                    if (!string.IsNullOrEmpty(Request.Params["currentActiveView"]) && !string.IsNullOrEmpty(Request.Params["recordId"]))
                    {
                        string currentActiveView = Request.Params["currentActiveView"];
                        int    recordId          = int.Parse(Request.Params["recordId"]);

                        HseqTask hseqTask = new HseqTask()
                        {
                            Status = TaskStatus.NotStarted
                        };

                        HseqRecord hseqRecord = db.HseqRecords.Find(recordId);
                        hseqTask.HseqRecordID = hseqRecord.HseqRecordID;
                        hseqTask.HseqRecord   = hseqRecord;

                        HseqTaskCreateViewModel hseqTaskVM = Mapper.Map <HseqTask, HseqTaskCreateViewModel>(hseqTask);

                        ViewData["record"]      = hseqTaskVM;
                        ViewData["currentview"] = "_Task" + NEW_VIEW_PREFIX;
                    }
                }

                //// Approval ///////////////////
                else if (!string.IsNullOrEmpty(Request.Params["addApproval"]))
                {
                    if (!string.IsNullOrEmpty(Request.Params["currentActiveView"]) && !string.IsNullOrEmpty(Request.Params["recordId"]))
                    {
                        string currentActiveView = Request.Params["currentActiveView"];
                        int    recordId          = int.Parse(Request.Params["recordId"]);

                        HseqApprovalRequest hseqApproval = new HseqApprovalRequest()
                        {
                            Response     = ApprovalResult.Waiting,
                            Status       = ApprovalStatus.Active,
                            DateAssigned = DateTime.Now
                        };

                        HseqRecord hseqRecord = db.HseqRecords.Find(recordId);
                        hseqApproval.HseqRecordID = hseqRecord.HseqRecordID;
                        hseqApproval.HseqRecord   = hseqRecord;

                        HseqApprovalCreateViewModel hseqApprovalVM = Mapper.Map <HseqApprovalRequest, HseqApprovalCreateViewModel>(hseqApproval);

                        ViewData["record"]      = hseqApprovalVM;
                        ViewData["currentview"] = "_Approval" + NEW_VIEW_PREFIX;
                    }
                }

                //// Linked Record ///////////////////
                else if (!string.IsNullOrEmpty(Request.Params["createLinkedRecord"]) &&
                         !string.IsNullOrEmpty(Request.Params["linkedRecordDetails"]))
                {
                    if (!string.IsNullOrEmpty(Request.Params["recordId"]))
                    {
                        int recordId = int.Parse(Request.Params["recordId"]);

                        var linkedRecordDetails = Request.Params["linkedRecordDetails"].Split('-');
                        var sourceRecord        = linkedRecordDetails[0];
                        var targetRecord        = linkedRecordDetails[1];

                        //Ncr to Car
                        if (sourceRecord == "NCR")
                        {
                            if (targetRecord == "CAR")
                            {
                                Ncr ncr = db.NcrRecords.Find(recordId);
                                Car car = new Car(ncr)
                                {
                                    CreatedBy   = _RecordService.GetCurrentApplicationUser().FullName,
                                    DateCreated = DateTime.Now,
                                    RecordType  = RecordType.CAR
                                };

                                CarVM carVM = new CarVM()
                                {
                                    Car            = car,
                                    LinkedRecord   = true,
                                    SourceRecordId = ncr.HseqRecordID
                                };

                                ViewData["record"]      = carVM;
                                ViewData["currentview"] = "_Car" + LINKED_VIEW_PREFIX;
                            }
                        }
                    }
                }

                else
                {
                    ViewData["currentview"] = "_MainContentTabPanel";
                }
            }

            return(PartialView("_MainContentCallbackPanel"));
        }