Beispiel #1
0
        public ActionResult ChangeRequest(int id, int dcr)
        {
            bool isAuthorized = CheckDocumentLevelPermissions(id, "Raise Change Request");

            ViewBag.HideGenerateButton = false;
            if (isAuthorized)
            {
                DocumentFacade        facade   = new DocumentFacade();
                DocumentChangeRequest dcrmodel = new DocumentChangeRequest();

                dcrmodel = facade.GetDocumentChangeRequest(id, dcr);

                dcrmodel.SelectedDocument = facade.GetDocumentDetails(id > 0 ? id : dcrmodel.DocumentID);
                if (!string.IsNullOrWhiteSpace(dcrmodel.RequestNumber))
                {
                    ViewBag.HideGenerateButton = true;
                }

                int             OrgID   = int.Parse(Request.Cookies["OrgID"].Value);
                List <Document> doclist = new DocumentFacade().GetDocumentDetailsList(OrgID, 0, dcrmodel.SelectedDocument.DepartmentID, 0);

                // Build document list from department docs
                List <EffectedDocuments> effDocList = new List <EffectedDocuments>();
                foreach (Document doc in doclist)
                {
                    effDocList.Add(new EffectedDocuments()
                    {
                        DocumentID = doc.DocumentID, DocumentName = doc.DocumentName, DocumentNumber = doc.DocumentNumber, VersionString = doc.VersionString, NextVersion = doc.NextVersion.ToString("N")
                    });
                }
                dcrmodel.DepartmentDocumentsList = effDocList;

                List <EffectedDocuments> result = new List <EffectedDocuments>();
                if (!string.IsNullOrWhiteSpace(dcrmodel.EffectedDocumentIDs))
                {
                    List <string> items = dcrmodel.EffectedDocumentIDs.Split(',').ToList();
                    result = effDocList.Where(item => items.Any(category => category.Equals(item.DocumentID.ToString()))).ToList();
                }
                // Build effected documents list for change request
                dcrmodel.EffectedDocuments = result;

                ViewData["DocList"] = JsonHelper.JsonSerializer(effDocList, typeof(List <EffectedDocuments>));

                // return Json(doclist, JsonRequestBehavior.AllowGet);

                return(View("ChangeRequest", dcrmodel));
            }
            else
            {
                throw new Exception("Access denied! You donot have permissions on change request.");
            }
        }