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();
                }
            }
        }
Beispiel #2
0
        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);
        }