/// <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); }
/// <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); }