public IActionResult Uploads() { var user = _authHelper.User(); ViewBag.user = user; using (var context = new DigiSignContext()) { var classification = context.SignerMClassification.ToList(); ViewBag.classification = classification; } return(View()); }
/// <summary> /// Get the authenticated user /// </summary> /// <returns>\Std</returns> public SignerEmployee User() { _httpContext = _contextAccessor.HttpContext; if (_httpContext == null) { return(null); } if (_httpContext.Session.GetString(Auth.Session) == null) { return(null); } //var userid = HttpContext.Current.Session[Auth.Session].ToString(); var employee_id = _httpContext.Session.GetString(Auth.Session); using (var context = new DigiSignContext()) { var query = context.SignerEmployee.Where(s => s.EmployeeId == employee_id).FirstOrDefault(); return(query); } }
public void Logging(string activity) { var user = _authHelper.User(); using (var context = new DigiSignContext()) { lock (logging_lock) { context.SignerLogs.Add(new SignerLogs { Activity = activity, //ip_address = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"], IpAddress = _contextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(), Users = user == null ? 0 : Convert.ToInt32(user.EmployeeId), //uri = HttpContext.Current.Request.ServerVariables["REQUEST_URI"], Uri = GetUri().ToString(), Time = DateTime.Now }); context.SaveChanges(); } } }
public ContentResult UploadFile() { dynamic resp; try { var user = _authHelper.User(); if (user == null) { resp = _commonHelper.Responder("error", "Oops!", "Please Relogin..!!!", "redirect('" + _appConfig.APP_ADDRESS + "/Auth/Get/');", true, "swal"); } var requestor = new SignerRequests { Company = 1, Sender = user.EmployeeId, RequestorEmail = user.EmployeeEmail, DepartmentId = user.DepartmentId, SenderNote = Request.Form["notes"].ToString().Replace("\r\n", "<br>").Replace("<", " ").Replace(">", " "), NextOrder = 0, Status = "Draft", WorkflowMethod = Request.Form["workflowType"], ClassificationId = Convert.ToInt32(Request.Form["classification"]), CreatedTime = DateTime.Now }; using (var context = new DigiSignContext()) { context.SignerRequests.Add(requestor); //var insert_one = context.SaveChanges(); var docKey = RandomGenerator.RandomString(32, false); dynamic data = new ExpandoObject(); //data.request_id = requestor.id; data.company = 1; data.folder = Request.Form["folder"]; data.name = Request.Form["name"].ToString().Replace("<", " ").Replace(">", " "); data.category_id = Request.Form["category"]; data.editted = "No"; data.accessibility = "Everyone"; data.public_permission = "sign_edit"; data.source = "form"; data.file = Request.Form.Files["fileupload"]; data.document_key = docKey; data.activity = "File uploaded by <span class='text-primary'>" + user.employee_name + "</span>."; if (requestor.WorkflowMethod == "COMBINE") { //var num = Request.Form.GetValues("num[]"); var num = Request.Form["num[]"]; var tipe = Request.Form["tipe[]"]; if (String.IsNullOrEmpty(num)) { resp = _commonHelper.Responder("error", "Oops!", "Please check your data.."); return(Content(JsonConvert.SerializeObject(resp), "application/json")); } List <string> userlist = new List <string>(); foreach (var valueNum in num) { var wfSequenceInput = Request.Form["workflowSequenceInput" + valueNum + "[]"]; if (!String.IsNullOrEmpty(wfSequenceInput)) { foreach (var val in wfSequenceInput) { if (userlist.Contains(val)) { resp = _commonHelper.Responder("error", "Oops!", "Users in workflow must unique.."); return(Content(JsonConvert.SerializeObject(resp), "application/json")); } userlist.Add(val); } } var wfParalelInput = Request.Form["workflowParalelInput" + valueNum + "[]"]; if (!String.IsNullOrEmpty(wfParalelInput)) { foreach (var val in wfParalelInput) { if (userlist.Contains(val)) { resp = _commonHelper.Responder("error", "Oops!", "Users in workflow must unique.."); return(Content(JsonConvert.SerializeObject(resp), "application/json")); } userlist.Add(val); } } } if (!ComposeWorkflowCombine(num, tipe, requestor, context, data, docKey, user)) { resp = _commonHelper.Responder("error", "Oops!", "Approver cannot be same as Uploader.."); return(Content(JsonConvert.SerializeObject(resp), "application/json")); } } else { } } } catch (Exception ex) { } }
private bool ComposeWorkflowCombine(string[] num, string[] tipe, SignerRequests requestor, DigiSignContext context, dynamic data, string docKey, SignerEmployee user) { try { var x = 0; var numCounter = 0; foreach (var valueNum in num) { if (num.Length == 1) { var wfSequenceInput = Request.Form["workflowSequenceInput" + valueNum + "[]"]; if (!String.IsNullOrEmpty(wfSequenceInput)) { if (wfSequenceInput.Count == 1) { foreach (var val in wfSequenceInput) { if (user.EmployeeEmail == val) { return(false); } } } } var wfParalelInput = Request.Form["workflowParalelInput" + valueNum + "[]"]; if (!String.IsNullOrEmpty(wfParalelInput)) { if (wfParalelInput.Count == 1) { foreach (var val in wfParalelInput) { if (user.EmployeeEmail == val) { return(false); } } } } } if (numCounter == 0) { var insert_one = context.SaveChanges(); data.request_id = requestor.Id; } if (tipe[numCounter] == "SEQ") { ComposeWokflowSeq(valueNum, context, data, docKey, user, ref x); } //else if (tipe[Convert.ToInt32(valueNum)] == "PAR") else if (tipe[numCounter] == "PAR") { var workflowParalelInput = Request.Form["workflowParalelInput" + valueNum + "[]"]; foreach (var value in workflowParalelInput) { var employee = context.SignerEmployee.Where(o => o.EmployeeEmail == value).FirstOrDefault(); var signer_workflow_item = new SignerWorkflow { RequestId = data.request_id, EmployeeId = Convert.ToInt32(employee.EmployeeId), Document = docKey, Email = employee.EmployeeEmail, Status = "PENDING", Notes = "PARALEL", UpdatedBy = Convert.ToInt32(user.EmployeeId), OrderBy = x }; context.SignerWorkflow.Add(signer_workflow_item); //var insertWorkflow = context.SaveChanges(); } context.SaveChanges(); x++; } ++numCounter; } } catch (Exception ex) { //SignerHelper.LogEx(ex); throw ex; } return(true); }