public ActionResult SaveChangeRequest(DocumentChangeRequest model) { model.Comment1By = Request.Cookies["UserName"].Value; int OrgID = int.Parse(Request.Cookies["OrgID"].Value); int requestNumber = new DocumentFacade().SaveChangeRequest(model, Request.Cookies["UserEmail"].Value, OrgID); TempData.Clear(); this.ShowMessage(Helpers.MessageType.Success, "Change request submitted successfully."); return(RedirectToAction("Index", "DocumentLibrary")); }
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."); } }
public int SaveChangeRequest(DocumentChangeRequest doc, string userEmail, int OrgID) { // Generates version and next version from configuration and saves the document try { int workflowId = 3; // waiting for approval if (!string.IsNullOrWhiteSpace(doc.Comment1)) { workflowId = 4; //approved } if (!string.IsNullOrWhiteSpace(doc.Comment3)) { workflowId = 6; //published doc.IsPublished = "1"; } int reqNumber = Db.ExecuteNonQuery("prcSaveDocumentChangeRequest", CommandType.StoredProcedure, Db.CreateParameter("@DocumentChangeRequestID", doc.DocumentChangeRequestID), Db.CreateParameter("@RequestNumber", doc.RequestNumber), Db.CreateParameter("@DocumentID", doc.DocumentID), Db.CreateParameter("@DepartmentID", doc.DepartmentID), Db.CreateParameter("@Detail", doc.Detail), Db.CreateParameter("@Reason", doc.Reason), Db.CreateParameter("@Comment1", doc.Comment1), Db.CreateParameter("@Comment2", doc.Comment2), Db.CreateParameter("@Comment3", doc.Comment3), Db.CreateParameter("@Comment1By", doc.Comment1By), Db.CreateParameter("@Comment2By", doc.Comment2By), Db.CreateParameter("@Comment3By", doc.Comment3By), Db.CreateParameter("@EffectiveDate", DateTime.ParseExact(doc.EffectiveDate, "dd-MM-yyyy", null)), Db.CreateParameter("@IsActive", 1), Db.CreateParameter("@CreatedBy", userEmail), Db.CreateParameter("@EffectedDocumentIDs", doc.EffectedDocumentIDs.TrimEnd(',')), Db.CreateParameter("@WorkflowStatusID", workflowId), Db.CreateParameter("@IsPublished", doc.IsPublished), Db.CreateParameter("@OrganizationID", OrgID) ); return(reqNumber); } catch (Exception ex) { throw; } }
public DocumentChangeRequest GetDocumentChangeRequest(int docid, int dcr) { DocumentChangeRequest doc = new DocumentChangeRequest(); DataSet ds = Db.ExecuteDataSet("prcGetDocumentChangeRequest", CommandType.StoredProcedure, Db.CreateParameter("@DocumentID", docid), Db.CreateParameter("@DocumentChangeRequestID", dcr) ); List <DocumentChangeRequest> docInfo = new List <DocumentChangeRequest>(); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { docInfo = Db.MapReader <DocumentChangeRequest>(ds.Tables[0]).ToList(); } if (docInfo.Count > 0) { doc = docInfo[0]; } return(doc); }