예제 #1
0
        public DataTable View_Existing_UserAccessBLL(SystemAccess aSystemAccess)
        {
            SystemAccessDAL aSystemAccessDAL = new SystemAccessDAL();
            DataTable       dTable           = aSystemAccessDAL.View_Existing_UserAccessDAL(aSystemAccess);

            return(dTable);
        }
예제 #2
0
        public bool Check_AccessID_and_PasswordBLKL(SystemAccess aSystemAccess)
        {
            bool res = false;
            int  ab  = 0;

            if (aSystemAccess.Username == "" || aSystemAccess.Password == "" || aSystemAccess.Username == "User Name" || aSystemAccess.Password == "Password")
            {
                return(res);
            }
            else
            {
                SignInDAL aSignInDAL = new SignInDAL();
                DataTable dTable     = aSignInDAL.Check_AccessID_and_PasswordDAL(aSystemAccess);

                try
                {
                    ab = int.Parse(dTable.Rows[0][0].ToString());
                    if (ab != 0)
                    {
                        res = true;
                    }
                }
                catch
                {
                    res = false;
                }

                return(res);
            }
        }
        private void LoginUI_UserNametextBox2_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                SystemAccess aSystemAcces = new SystemAccess();

                if (dt.Rows[0][0].ToString() != LoginUI_UserNametextBox2.Text || dt.Rows[0][1].ToString() != LoginUI_Password_textBox1.Text)
                {
                    rongUserAccess_Notification_label135.Text = "Wrong 'UserName' OR 'Password' ";
                }
                else
                {
                    if (temp == 8)
                    {
                        UIDefiner = temp;
                        this.Close();
                    }
                    else
                    {
                        MainUnit aMainUnit = new MainUnit();
                        aMainUnit.Show();
                        this.Hide();
                    }
                }
            }
            else
            {
            }
        }
예제 #4
0
파일: Session.cs 프로젝트: deveel/deveeldb
        /// <summary>
        /// Constructs the session for the given user and transaction to the
        /// given database.
        /// </summary>
        /// <param name="transaction">A transaction that handles the commands issued by
        /// the user during the session.</param>
        /// <param name="userName"></param>
        /// <seealso cref="ITransaction"/>
        public Session(ITransaction transaction, string userName)
            : base(transaction as IEventSource)
        {
            if (transaction == null)
                throw new ArgumentNullException("transaction");

            if (String.IsNullOrEmpty(userName))
                throw new ArgumentNullException("userName");

            if (String.Equals(userName, User.SystemName, StringComparison.OrdinalIgnoreCase) ||
                String.Equals(userName, User.PublicName, StringComparison.OrdinalIgnoreCase))
                throw new ArgumentException(String.Format("Cannot open a session for user '{0}'.", userName));

            Transaction = transaction;
            Context = transaction.Context.CreateSessionContext();
            Context.RegisterInstance(this);

            Transaction.Context.Route<QueryEvent>(OnQueryCommand);

            Transaction.GetTableManager().AddInternalTables(new SessionTableContainer(this));

            access = new SessionAccess(this);

            if (!transaction.Database.Sessions.Add(this))
                throw new InvalidOperationException("The session was already in the database session list");

            User = new User(this, userName);
            startedOn = DateTimeOffset.UtcNow;

            this.OnEvent(new SessionEvent(SessionEventType.Begin));
        }
예제 #5
0
        public async Task <IActionResult> SubmitRequest(int id)
        {
            var request    = _requestService.GetRequest(id);
            var authResult = await _authService.AuthorizeAsync(User, request, "CanEditRequest");

            if (!authResult.Succeeded)
            {
                return(new ForbidResult());
            }

            request.RequestStatus = RequestStatus.UnderReview;
            request.SubmittedOn   = DateTime.Now;
            _requestService.SaveChanges();

            var identity = (ClaimsIdentity)User.Identity;
            await _auditLog.Append(identity.GetClaimAsInt("EmployeeId"), LogActionType.Submit, LogResourceType.Request, id,
                                   $"{identity.GetClaim(ClaimTypes.Name)} submitted request with id {id}");

            if (request.Reviews.Count > 0)
            {
                Employee reviewer   = request.OrderedReviews[0].Reviewer;
                string   receipient = reviewer.Email;
                string   emailName  = "ReviewRequest";
                var      model      = new { _emailHelper.AppUrl, _emailHelper.AppEmail, Request = request };
                string   subject    = _emailHelper.GetSubjectFromTemplate(emailName, model, _email.Renderer);
                await _email.To(receipient)
                .Subject(subject)
                .UsingTemplateFromFile(_emailHelper.GetBodyTemplateFile(emailName), model)
                .SendAsync();
            }
            else
            {
                request.RequestStatus = RequestStatus.Approved;
                request.CompletedOn   = DateTime.Now;
                _requestService.SaveChanges();

                foreach (var requestedSystem in request.Systems)
                {
                    var systemAccess = new SystemAccess(request, requestedSystem);
                    _systemService.AddSystemAccess(systemAccess);
                }

                string emailName = "ProcessRequest";
                var    model     = new { _emailHelper.AppUrl, _emailHelper.AppEmail, Request = request };
                _email.Subject(_emailHelper.GetSubjectFromTemplate(emailName, model, _email.Renderer))
                .UsingTemplateFromFile(_emailHelper.GetBodyTemplateFile(emailName), model);
                _email.Data.ToAddresses.Clear();
                var supportUnitIds = request.Systems.GroupBy(s => s.System.SupportUnitId, s => s).Select(g => g.Key).ToList();
                foreach (var supportUnitId in supportUnitIds)
                {
                    var supportUnit = _organizationService.GetSupportUnit((int)supportUnitId);
                    _email.To(supportUnit.Email);
                }
                await _email.SendAsync();
            }

            return(RedirectToAction("MyRequests"));
        }
예제 #6
0
        public DataTable Check_AccessID_and_PasswordDAL(SystemAccess aSystemAccess)
        {
            SqlConnection  connection = DBconnection.OpenConnection();
            string         query      = "Select ID from SystemAccess where ( UserID='" + aSystemAccess.Username + "' and Password='******' and AccessType='" + aSystemAccess.UserType + "')";
            SqlCommand     Action     = new SqlCommand(query, connection);
            SqlDataAdapter Sda        = new SqlDataAdapter();

            Sda.SelectCommand = Action;
            DataTable dTable = new DataTable();

            Sda.Fill(dTable);
            return(dTable);
        }
 public bool SetSystemAccessBLL(SystemAccess aSyatemAccess, string ConfirmPassword)
 {
     if (aSyatemAccess.userName == "" || aSyatemAccess.Password == "" || ConfirmPassword != aSyatemAccess.Password)
     {
         return(false);
     }
     else
     {
         SystemAccessDAL aSystemAccessDAL = new SystemAccessDAL();
         bool            res = aSystemAccessDAL.SetSystemAccessDAL(aSyatemAccess);
         return(res);
     }
 }
예제 #8
0
        public bool Delete_UserAccessBLL(SystemAccess aSystemAccess)
        {
            SystemAccessDAL aSystemAccessDAL = new SystemAccessDAL();
            bool            Result           = aSystemAccessDAL.Delete_UserAccessDAL(aSystemAccess);

            if (Result)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public bool Delete_UserAccessDAL(SystemAccess aSystemAccess)
        {
            SqlConnection Connection = DBconnection.OpenConnection();
            string        query      = "Delete SystemAccess where ID=(select Id where UserID='" + aSystemAccess.Username + "')";
            SqlCommand    Action     = new SqlCommand(query, Connection);
            int           result     = Action.ExecuteNonQuery();

            if (result > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public bool Update_UserAccess_DAL(SystemAccess aSystemAccess)
        {
            SqlConnection Connection = DBconnection.OpenConnection();
            string        query      = "Update SystemAccess set UserID='" + aSystemAccess.Username + "', Password='******',AccessType='" + aSystemAccess.UserType + "' where ID=(select Id where UserID='" + aSystemAccess.Username + "') ";
            SqlCommand    Action     = new SqlCommand(query, Connection);
            int           result     = Action.ExecuteNonQuery();

            if (result > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public bool Save_new_AccessDAL(SystemAccess aSystemAccess)
        {
            SqlConnection Connection = DBconnection.OpenConnection();
            string        query      = "Insert Into SystemAccess values('" + aSystemAccess.Username + "', '" + aSystemAccess.Password + "','" + aSystemAccess.UserType + "')";
            SqlCommand    Action     = new SqlCommand(query, Connection);
            int           result     = Action.ExecuteNonQuery();

            if (result > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #12
0
        public bool SetSystemAccessDAL(SystemAccess aSyatemAccess)
        {
            SqlConnection connection = DBConnection.OpenConnection();
            string        Query      = "UPDATE SystemAccess set userName='******',password='******'";
            SqlCommand    Action     = new SqlCommand(Query, connection);
            int           res        = Action.ExecuteNonQuery();

            if (res > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #13
0
 public bool Save_new_AccessBLL(SystemAccess aSystemAccess)
 {
     if (aSystemAccess.Username == "" || aSystemAccess.Password == "")
     {
         return(false);
     }
     else
     {
         SystemAccessDAL aSystemAccessDAL = new SystemAccessDAL();
         bool            Result           = aSystemAccessDAL.Save_new_AccessDAL(aSystemAccess);
         if (Result)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
예제 #14
0
        private void UserNamePasswordCheck()
        {
            string       EncryptedPassword = EncryptPassword(Password_textBox1.Text);
            SystemAccess aSystenAccess     = new SystemAccess();

            aSystenAccess.Username = Username_textBox2.Text;
            aSystenAccess.Password = EncryptedPassword;
            SignInBLL aSignInBLL = new SignInBLL();
            bool      result     = aSignInBLL.Check_UserID_and_PasswordBLL(aSystenAccess);

            if (result)
            {
                Frontend aFrontend = new Frontend();
                aFrontend.Show();
                this.Hide();
            }
            else
            {
                Password_Warning_label4.Text = "!!!  Wrong UserID or Password  !!!";
            }
        }
예제 #15
0
        public async Task <SystemAccess> GrantAccessAsync(string userId, SystemAccessType accessType, string grantedById)
        {
            var currentAccess = await db.SystemAccesses.FirstOrDefaultAsync(a => a.UserId == userId && a.AccessType == accessType).ConfigureAwait(false);

            if (currentAccess == null)
            {
                currentAccess = new SystemAccess
                {
                    UserId     = userId,
                    AccessType = accessType,
                };
                db.SystemAccesses.Add(currentAccess);
            }
            currentAccess.GrantedById = grantedById;
            currentAccess.GrantTime   = DateTime.Now;
            currentAccess.IsEnabled   = true;

            await db.SaveChangesAsync().ConfigureAwait(false);

            return(db.SystemAccesses.Include(a => a.GrantedBy).Single(a => a.Id == currentAccess.Id));
        }
        public DataTable View_Existing_UserAccessDAL(SystemAccess aSystemAccess)
        {
            string query = "";

            if (aSystemAccess.UserType == "Admin")
            {
                query = "Select UserID,Password,AccessType from SystemAccess";
            }
            else
            {
                query = "Select UserID,Password,AccessType from SystemAccess where AccessType='Stuff'";
            }
            SqlConnection Connection = DBconnection.OpenConnection();

            SqlCommand     Action = new SqlCommand(query, Connection);
            DataTable      dTable = new DataTable();
            SqlDataAdapter sda    = new SqlDataAdapter();

            sda.SelectCommand = Action;
            sda.Fill(dTable);
            return(dTable);
        }
예제 #17
0
파일: Session.cs 프로젝트: deveel/deveeldb
        private void Dispose(bool disposing)
        {
            if (!disposed) {
                if (disposing) {
                    try {
                        Rollback();
                    } catch (Exception ex) {
                        this.OnError(new Exception("Error while rolling back on Dispose", ex));
                    } finally {
                        if (Context != null)
                            Context.Dispose();
                    }
                }

                Context = null;
                access = null;
                disposed = true;
            }
        }
예제 #18
0
 public SystemAccess AddSystemAccess(SystemAccess systemAccess)
 {
     _dbContext.SystemAccesses.Add(systemAccess);
     _dbContext.SaveChanges();
     return(systemAccess);
 }
예제 #19
0
        public async Task <IActionResult> Approve(int id, string password, string comments)
        {
            string username = ((ClaimsIdentity)User.Identity).GetClaim(ClaimTypes.NameIdentifier);

            if (!_adService.Authenticate(username, password))
            {
                RedirectToAction(nameof(EditReview), new { id });
            }

            Review review     = _requestService.GetReview(id);
            var    authResult = await _authService.AuthorizeAsync(User, review, "CanEnterReview");

            if (!authResult.Succeeded)
            {
                return(new ForbidResult());
            }

            Request request = _requestService.GetRequest(review.RequestId);

            review.Approve(comments);
            request.UpdatedOn = DateTime.Now;
            _requestService.SaveChanges();

            var identity = (ClaimsIdentity)User.Identity;
            await _auditLog.Append(identity.GetClaimAsInt("EmployeeId"), LogActionType.Approve, LogResourceType.Request, request.RequestId,
                                   $"{identity.GetClaim(ClaimTypes.Name)} approved request with id {request.RequestId}");

            if (review.ReviewOrder < request.Reviews.Count - 1)
            {
                Review nextReview = request.OrderedReviews[review.ReviewOrder + 1];
                string emailName  = "ReviewRequest";
                var    model      = new { _emailHelper.AppUrl, _emailHelper.AppEmail, Request = request };
                string subject    = _emailHelper.GetSubjectFromTemplate(emailName, model, _email.Renderer);
                string receipient = nextReview.Reviewer.Email;
                _email.To(receipient)
                .Subject(subject)
                .UsingTemplateFromFile(_emailHelper.GetBodyTemplateFile(emailName), model)
                .Send();

                emailName  = "RequestUpdated";
                subject    = _emailHelper.GetSubjectFromTemplate(emailName, model, _email.Renderer);
                receipient = request.RequestedBy.Email;
                _email.To(receipient)
                .Subject(subject)
                .UsingTemplateFromFile(_emailHelper.GetBodyTemplateFile(emailName), model)
                .Send();
            }
            else // last review
            {
                request.RequestStatus = RequestStatus.Approved;
                request.CompletedOn   = DateTime.Now;
                _requestService.SaveChanges();

                foreach (var requestedSystem in request.Systems)
                {
                    var systemAccess = new SystemAccess(request, requestedSystem);
                    _systemService.AddSystemAccess(systemAccess);
                }

                string emailName  = "RequestApproved";
                var    model      = new { _emailHelper.AppUrl, _emailHelper.AppEmail, Request = request };
                string subject    = _emailHelper.GetSubjectFromTemplate(emailName, model, _email.Renderer);
                string receipient = request.RequestedBy.Email;
                _email.To(receipient)
                .Subject(subject)
                .UsingTemplateFromFile(_emailHelper.GetBodyTemplateFile(emailName), model)
                .Send();

                emailName = "ProcessRequest";
                _email.Subject(_emailHelper.GetSubjectFromTemplate(emailName, model, _email.Renderer))
                .UsingTemplateFromFile(_emailHelper.GetBodyTemplateFile(emailName), model);
                _email.Data.ToAddresses.Clear();
                var supportUnitIds = request.Systems.GroupBy(s => s.System.SupportUnitId, s => s).Select(g => g.Key).ToList();
                foreach (var supportUnitId in supportUnitIds)
                {
                    var supportUnit = _organizationService.GetSupportUnit((int)supportUnitId);
                    _email.To(supportUnit.Email);
                }
                await _email.SendAsync();
            }

            return(RedirectToAction(nameof(MyReviews)));
        }