コード例 #1
0
        /// <summary>
        /// Function for update the user
        /// </summary>
        /// <param name="user_VM"></param>
        /// <returns></returns>
        public int Update(User_VM user_VM, int loginUserId, bool isSuperAdminLogin)
        {
            var ret = 1;

            using (var dbcxtransaction = _context.Database.BeginTransaction())
            {
                try
                {
                    var user = _context.Sec_Users.Where(x => x.Id == user_VM.Id && x.IsDeleted.Value != true).FirstOrDefault();
                    if (user != null)
                    {
                        user.Username       = user_VM.UserName;
                        user.Password       = Helper.Encrypt(user_VM.Password);
                        user.Email          = user_VM.Email;
                        user.FullName       = user_VM.FullName;
                        user.Phone          = user_VM.Phone;
                        user.ProfilePicture = user_VM.FileName;
                        user.ModifiedBy     = loginUserId;
                        user.ModifiedOn     = DateTime.Now;
                        user.Active         = user_VM.Active;
                        user.IsAdmin        = isSuperAdminLogin ? isSuperAdminLogin : ((bool)user.IsAdmin ? true : false);
                        user.ClientId       = user_VM.ClientId;
                        user.IsAllowVoucherApprovalPermission = user_VM.IsAllowVoucherApprovalPermission;
                        user.IsAllowVoucherIssuancePermission = user_VM.IsAllowVoucherIssuancePermission;
                        _context.SaveChanges();

                        // Update Stores Persmission

                        // Add Stores Persmission for Admin
                        if (isSuperAdminLogin)
                        {
                            // remove old store permission
                            var oldUserStores = _context.Sec_UserStores.Where(x => x.UserId == user.Id && x.CreatedBy == loginUserId).ToList();
                            if (oldUserStores.Any())
                            {
                                _context.Sec_UserStores.RemoveRange(oldUserStores);
                                _context.SaveChanges();
                            }

                            // Add Stores Persmission
                            var storesList = _context.Set_Stores.Where(x => x.IsDeleted != true && x.ClientId == user.ClientId && x.CreatedBy == loginUserId).ToList();
                            if (storesList.Any())
                            {
                                var userStores = new List <Sec_UserStores>();
                                foreach (var store in storesList)
                                {
                                    var userStore = new Sec_UserStores();
                                    userStore.UserId    = user.Id;
                                    userStore.Status    = store.Status;
                                    userStore.StoreId   = store.Id;
                                    userStore.CreatedBy = loginUserId;
                                    userStore.CreatedOn = DateTime.Now;
                                    userStore.ClientId  = user.ClientId;
                                    userStores.Add(userStore);
                                }
                                _context.Sec_UserStores.AddRange(userStores);
                                _context.SaveChanges();
                            }
                        }

                        // Add Stores Persmission for User
                        if (!isSuperAdminLogin)
                        {
                            // remove old store permission
                            var oldUserStores = _context.Sec_UserStores.Where(x => x.UserId == user.Id && x.CreatedBy == loginUserId).ToList();
                            if (oldUserStores.Any())
                            {
                                _context.Sec_UserStores.RemoveRange(oldUserStores);
                                _context.SaveChanges();
                            }

                            var userStores = new List <Sec_UserStores>();
                            foreach (var store in user_VM.StoreIds)
                            {
                                var userStore = new Sec_UserStores();
                                userStore.UserId    = user.Id;
                                userStore.Status    = true;
                                userStore.StoreId   = store;
                                userStore.CreatedBy = loginUserId;
                                userStore.CreatedOn = DateTime.Now;
                                userStore.ClientId  = user.ClientId;
                                userStores.Add(userStore);
                            }
                            _context.Sec_UserStores.AddRange(userStores);
                            _context.SaveChanges();
                        }
                        dbcxtransaction.Commit();
                    }
                    else
                    {
                        ret = 0;
                    }
                }
                catch (Exception ex)
                {
                    dbcxtransaction.Rollback();
                    ret = 0;
                }
            }

            return(ret);
        }
コード例 #2
0
        /// <summary>
        /// Function for add the user
        /// </summary>
        /// <param name="user_VM"></param>
        /// <returns></returns>
        public int Add(User_VM user_VM, int loginUserId, bool isSuperAdminLogin)
        {
            var ret = 1;

            using (var dbcxtransaction = _context.Database.BeginTransaction())
            {
                try
                {
                    var user = new Sec_Users();
                    user.Username          = user_VM.UserName;
                    user.Password          = Helper.Encrypt(user_VM.Password);
                    user.Email             = user_VM.Email;
                    user.FullName          = user_VM.FullName;
                    user.Phone             = user_VM.Phone;
                    user.Lock              = true;
                    user.DefaultModule     = 0;
                    user.DefaultPage       = 0;
                    user.LockProfile       = true;
                    user.UnlockProfile     = true;
                    user.CreatedOn         = DateTime.Now;
                    user.CreatedBy         = loginUserId;
                    user.Active            = user_VM.Active;
                    user.CanExportProfiles = true;
                    user.IsAdmin           = isSuperAdminLogin;
                    user.ClientId          = user_VM.ClientId;
                    user.IsAllowVoucherApprovalPermission = user_VM.IsAllowVoucherApprovalPermission;
                    user.IsAllowVoucherIssuancePermission = user_VM.IsAllowVoucherIssuancePermission;
                    _context.Sec_Users.Add(user);
                    _context.SaveChanges();

                    // Add Stores Persmission

                    // Add Stores Persmission for Admin
                    if (isSuperAdminLogin)
                    {
                        var storesList = _context.Set_Stores.Where(x => x.IsDeleted != true && x.ClientId == user.ClientId && x.CreatedBy == loginUserId).ToList();
                        if (storesList.Any())
                        {
                            var userStores = new List <Sec_UserStores>();
                            foreach (var store in storesList)
                            {
                                var userStore = new Sec_UserStores();
                                userStore.UserId    = user.Id;
                                userStore.Status    = store.Status;
                                userStore.StoreId   = store.Id;
                                userStore.CreatedBy = loginUserId;
                                userStore.CreatedOn = DateTime.Now;
                                userStore.ClientId  = user.ClientId;
                                userStores.Add(userStore);
                            }
                            _context.Sec_UserStores.AddRange(userStores);
                            _context.SaveChanges();
                        }
                    }

                    // Add Stores Persmission for User
                    if (!isSuperAdminLogin)
                    {
                        var userStores = new List <Sec_UserStores>();
                        foreach (var store in user_VM.StoreIds)
                        {
                            var userStore = new Sec_UserStores();
                            userStore.UserId    = user.Id;
                            userStore.Status    = true;
                            userStore.StoreId   = store;
                            userStore.CreatedBy = loginUserId;
                            userStore.CreatedOn = DateTime.Now;
                            userStore.ClientId  = user.ClientId;
                            userStores.Add(userStore);
                        }
                        _context.Sec_UserStores.AddRange(userStores);
                        _context.SaveChanges();
                    }

                    dbcxtransaction.Commit();
                }
                catch (Exception ex)
                {
                    dbcxtransaction.Rollback();
                    ret = 0;
                }
            }
            return(ret);
        }