public AspNetUsersDTO Authenticate(LoginDTO loginDTO) { _context = (MICAUMContext)DbManager.GetContext(loginDTO.ProductType, loginDTO.ServerType); var user = _context.AspNetUsers.SingleOrDefault(x => x.UserName == loginDTO.Username); // check if username exists if (user == null) { return(null); } byte[] passwordSalt = new byte[] { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 }; //// check if password is correct if (!Utilities.VerifyPasswordHash(loginDTO.Password, user.PasswordHash, passwordSalt)) { return(null); } // authentication successful AspNetUsersDTO userDTO = _mapper.Map <AspNetUsersDTO>(user); return(userDTO); // return new LoginResponse { Status = BusinessStatus.Created, log = user, ResponseMessage = $"Product code {user.Username} created successfully!! " }; }
public RoleResponse CreateRole(RolesDTO role, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var _roles = _mapper.Map <AspNetRoles>(role); if (string.IsNullOrEmpty(_roles.Id)) { _roles.Id = Guid.NewGuid().ToString(); DateTime now = DateTime.Now; _roles.ConcurrencyStamp = now.ToString(); _context.AspNetRoles.Add(_roles); _context.SaveChanges(); var _roleDTOs = _mapper.Map <RolesDTO>(_roles); return(new RoleResponse { Status = BusinessStatus.Created, roles = _roleDTOs, Id = _roleDTOs.Id, ResponseMessage = $"Role created successfully! \n Role Name with: {_roleDTOs.Name}" }); //return _roleDTOs; } else { _context.AspNetRoles.Update(_roles); _context.SaveChanges(); var _roleDTOs = _mapper.Map <RolesDTO>(_roles); return(new RoleResponse { Status = BusinessStatus.Created, roles = _roleDTOs, Id = _roleDTOs.Id, ResponseMessage = $"Role modified successfully!" }); //return _roleDTOs; } }
public UserLoginResponse GetUserType(string username, string productType, string serverType) { UserLoginType userLoginType = new UserLoginType(); _context = (MICAUMContext)DbManager.GetContext(productType, serverType); // _context = new MICAUMContext(DbManager.GetDbConnectionString(productType)); var user = _context.AspNetUsers.SingleOrDefault(x => x.UserName == username); if (user != null) { userLoginType.IsFirstTimeLogin = user.FirstTimeLogin; userLoginType.Id = user.Id; var loginProvider = _context.AspNetUserTokens.Where(x => x.UserId == user.Id).FirstOrDefault(); if (loginProvider != null) { userLoginType.LoginProvider = loginProvider.LoginProvider; } else { userLoginType.LoginProvider = "Form"; } //userLoginType.Status = BusinessStatus.Ok; return(new UserLoginResponse { Status = BusinessStatus.Ok, userLogin = userLoginType, Id = userLoginType.IsFirstTimeLogin.ToString(), ResponseMessage = $"UserName Exist" }); } else { return(new UserLoginResponse { Status = BusinessStatus.NotFound, ResponseMessage = $"UserName does not Exist" }); } }
public TblUserDetails GetUserByUserId(string Id, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var _userDetails = _context.TblUserDetails.SingleOrDefault(x => x.UserId == Id); return(_userDetails); }
public VerifyOTPResponse VerifyingOTP(VerifyOTP onetp, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var sentotp = _context.TblSendOtp.SingleOrDefault(x => x.UserId == onetp.UserId); if (sentotp.Otp == onetp.Otp) { var user = _context.AspNetUsers.SingleOrDefault(x => x.Id == sentotp.UserId); if (user != null) { user.FirstTimeLogin = 1; } _context.AspNetUsers.Update(user); _context.TblSendOtp.Remove(sentotp); _context.SaveChanges(); return(new VerifyOTPResponse { Status = BusinessStatus.Ok, ResponseMessage = $"OTP verified successfully!" });; } else { return(new VerifyOTPResponse { Status = BusinessStatus.NotFound, ResponseMessage = $"Invalid OTP" });; } }
public IEnumerable <MasPermissionDTO> GetMasPermissions(string perType, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); IEnumerable <TblMasPermission> _permissions = _context.TblMasPermission.Where(per => per.ItemType == perType); var _masPermissionDTOs = GetMenuMasPermissions(_permissions, perType); //IEnumerable<MasPermissionDTO> _masPermissionDTOs = _permissions // .Where(c => (c.ParentId == 0 && c.ItemType == perType)) // .Select(c => new MasPermissionDTO() // { // PermissionId = c.PermissionId, // ItemType = c.ItemType, // ParentId = c.ParentId, // MenuId = c.MenuId, // ItemDescription = c.ItemDescription, // Url = c.Url, // PathTo = c.PathTo, // Collapse = c.Collapse, // State = c.State, // Mini = c.Mini, // Component = c.Component, // ChildrenDTO = GetChildren(_permissions, c.PermissionId) // }); //IEnumerable<MasPermissionDTO> _masPermissionDTOs = _mapper.Map<IEnumerable<MasPermissionDTO>>(_permissions); return(_masPermissionDTOs); }
public IEnumerable <UserDetailsDTO> SearchUser(UserSearchDTO searchRequest, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var _users = _context.TblUserDetails.OrderByDescending(u => u.CreatedDate).Select(x => x); if (!string.IsNullOrEmpty(searchRequest.FirstName)) { _users = _users.Where(u => u.FirstName.Contains(searchRequest.FirstName)); } if (!string.IsNullOrEmpty(searchRequest.PanNo)) { _users = _users.Where(u => u.PanNo.Contains(searchRequest.PanNo)); } if (!string.IsNullOrEmpty(searchRequest.EmployeeNumber)) { _users = _users.Where(u => u.EmployeeNumber == searchRequest.EmployeeNumber); } if (!string.IsNullOrEmpty(searchRequest.EmailId)) { _users = _users.Where(u => u.Email == searchRequest.EmailId); } if (searchRequest.PartnerId > 0) { _users = _users.Where(u => u.PartnerId == searchRequest.PartnerId); } var _usersDTOs = _mapper.Map <List <UserDetailsDTO> >(_users); return(_usersDTOs); }
// get Location public IEnumerable <ddDTO> GetLocation(string locationType, int parentID, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); IEnumerable <ddDTO> ddDTOs; switch (locationType) { case "State": ddDTOs = _context.TblMasState.Where(location => location.CountryId == parentID) .Select(c => new ddDTO { mID = c.StateId, mValue = c.StateName, mType = "State" }); break; case "District": ddDTOs = _context.TblMasDistrict.Where(location => location.StateId == parentID) .Select(c => new ddDTO { mID = c.DistrictId, mValue = c.DistrictName, mType = "District" }); break; case "City": ddDTOs = _context.TblMasCity.Where(location => location.DistrictId == parentID) .Select(c => new ddDTO { mID = c.CityId, mValue = c.CityName, mType = "City" }); break; case "Pincode": ddDTOs = _context.TblMasPinCode.Where(location => location.CityId == parentID) .Select(c => new ddDTO { mID = c.PincodeId, mValue = c.Pincode, mType = "Pincode" }); break; default: ddDTOs = _context.TblMasCountry.Select(location => location) .Select(c => new ddDTO { mID = c.CountryId, mValue = c.CountryName, mType = "Country" }); break; } return(ddDTOs); }
public IEnumerable <MasPermissionDTO> GetMasPermissions(string perType, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); IEnumerable <TblMasPermission> _permissions = _context.TblMasPermission.Where(per => per.ItemType == perType); IEnumerable <MasPermissionDTO> _masPermissionDTOs = _mapper.Map <IEnumerable <MasPermissionDTO> >(_permissions); return(_masPermissionDTOs); }
public UserResponse CreateProfileUser(UserDTO user, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var userDetails = user.UserDetails.First(); var userAddress = user.UserAddress.First(); EmailTest emailTest = new EmailTest(); if (string.IsNullOrEmpty(userDetails.UserId)) { var aspNet = _context.AspNetUsers.SingleOrDefault(x => x.UserName == userDetails.Email); if (aspNet == null) { userDetails.RoleId = null; userDetails.UserName = userDetails.Email; userDetails.CreatedDate = DateTime.Now; //userDetails.ProfileImage = userDetails.ProfileImage; AspNetUsers _users = _mapper.Map <AspNetUsers>(user); if (string.IsNullOrEmpty(_users.Id)) { _users.Id = Guid.NewGuid().ToString(); _users.UserName = userDetails.Email; _users.Email = userDetails.Email; _users.FirstTimeLogin = 0; _users.PasswordHash = Utilities.GenerateDefaultPassword(); emailTest.To = userDetails.Email; emailTest.Subject = "User profile creation"; emailTest.Message = "Your account has been created with Username:"******"\n" + "Please use this for login."; _context.AspNetUsers.Add(_users); } _context.SaveChanges(); var _usersDTOs = _mapper.Map <UserDTO>(_users); SendEmailAsync(emailTest); return(new UserResponse { Status = BusinessStatus.Created, users = _usersDTOs, Id = _usersDTOs.Id, ResponseMessage = $"User created successfully! \n Login with: {_usersDTOs.Email}" }); } else { return(new UserResponse { Status = BusinessStatus.Error, ResponseMessage = $"User already exists" }); } } else { AspNetUsers _users = _mapper.Map <AspNetUsers>(user); var _useraddress = _mapper.Map <TblUserAddress>(userAddress); var _usersDetail = _mapper.Map <TblUserDetails>(userDetails); //_context.AspNetUsers.Update(_users); //_context.TblUserDetails.Update(_usersDetail); _context.Update(_usersDetail); _context.Update(_useraddress); _context.SaveChanges(); return(new UserResponse { Status = BusinessStatus.Created, users = user, Id = _usersDetail.UserId, ResponseMessage = $"User modified successfully!" }); } }
public UserRoleResponse AssignRole(UserRoleMapDTO userRoles, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var roledata = _context.AspNetUserRoles.FirstOrDefault(x => x.UserId == userRoles.UserId); UserRolesDTO roleDTO = new UserRolesDTO(); if (userRoles.RoleId != null) { if (roledata == null) { for (int i = 0; i < userRoles.RoleId.Length; i++) { roleDTO.UserId = userRoles.UserId; roleDTO.RoleId = userRoles.RoleId[i]; AspNetUserRoles _usersRole = _mapper.Map <AspNetUserRoles>(roleDTO); _context.AspNetUserRoles.Add(_usersRole); // _context.SaveChanges(); } } else { var role = _context.AspNetUserRoles.Where(a => a.UserId == userRoles.UserId); foreach (var item in role) { _context.AspNetUserRoles.Remove(item); } for (int i = 0; i < userRoles.RoleId.Length; i++) { roleDTO.UserId = userRoles.UserId; roleDTO.RoleId = userRoles.RoleId[i]; AspNetUserRoles _usersRole = _mapper.Map <AspNetUserRoles>(roleDTO); _context.AspNetUserRoles.Add(_usersRole); // _context.SaveChanges(); } } var user = _context.TblUserDetails.SingleOrDefault(x => x.UserId == userRoles.UserId); if (string.IsNullOrEmpty(user.RoleId)) { user.RoleId = userRoles.RoleId[0].ToString(); } _context.SaveChanges(); //return userRoles; return(new UserRoleResponse { Status = BusinessStatus.Created, role = userRoles, ResponseMessage = $"Assigned {userRoles.RoleId} Role successfully! " }); } else { return(new UserRoleResponse { Status = BusinessStatus.Error, role = userRoles, ResponseMessage = $"Please select the Role to assign " }); } }
public String DeleteUserById(string Id, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var tbl_userdata = _context.AspNetUsers.Where(item => item.Id == Id).FirstOrDefault(); tbl_userdata.IsActive = false; _context.SaveChanges(); return("Deleted!"); }
public UserDTO SearchUserById(string userId, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); AspNetUsers _userd = _context.AspNetUsers.Where(user => user.Id == userId) .Include(add => add.TblUserDetails) .Include(add => add.TblUserAddress) .FirstOrDefault(); var _UsrDTO = _mapper.Map <UserDTO>(_userd); return(_UsrDTO); }
public IEnumerable <RolesDTO> GetRoles(ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); IEnumerable <AspNetRoles> _roles = _context.AspNetRoles.Select(roles => roles); IEnumerable <RolesDTO> _rolesDTOs = _mapper.Map <IEnumerable <RolesDTO> >(_roles); foreach (RolesDTO roles in _rolesDTOs) { roles.Label = roles.Name; roles.Value = roles.Id; } return(_rolesDTOs); }
public IEnumerable <RolesDTO> GetUserRole(string userId, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var userRoles = _context.AspNetUserRoles.Where(u => u.UserId == userId).Select(r => r.RoleId).ToArray(); IEnumerable <AspNetRoles> _roles = _context.AspNetRoles.Where(r => userRoles.Contains(r.Id)).Select(roles => roles); IEnumerable <RolesDTO> _rolesDTOs = _mapper.Map <IEnumerable <RolesDTO> >(_roles); foreach (RolesDTO roles in _rolesDTOs) { roles.Label = roles.Name; roles.Value = roles.Id; } return(_rolesDTOs); }
//get for master public IEnumerable <ddDTO> GetMaster(string lMasterlist, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); IEnumerable <ddDTO> ddDTOs; ddDTOs = _context.TblmasUmcommonTypes .Select(c => new ddDTO { mID = c.CommonTypeId, mValue = c.Value, mType = c.MasterType }); return(ddDTOs); }
//public UserDTO CreateProfileUser(UserDTO user) //{ // // var userDetail = user.TblUserDetails.First(); // AspNetUsers _users = _mapper.Map<AspNetUsers>(user); // _users.Id = Guid.NewGuid().ToString(); // DateTime now = DateTime.Now; // _users.LockoutEnd = now; // _context.AspNetUsers.Add(_users); // _context.SaveChanges(); // var _usersDTOs = _mapper.Map<UserDTO>(_users); // return _usersDTOs; //} public EmployeeDTO CreateProfileemployee(EmployeeDTO emp, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); // var userDetail = user.TblUserDetails.First(); var _empls = _mapper.Map <TblEmployees>(emp); //_empls.Empid = Guid.NewGuid().ToString(); //DateTime now = DateTime.Now; //_users.LockoutEnd = now; _context.TblEmployees.Add(_empls); _context.SaveChanges(); var _empDTOs = _mapper.Map <EmployeeDTO>(_empls); return(_empDTOs); }
public EmployeeDTO SearchEmployee(int Empid, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var _emp = _context.TblEmployees.SingleOrDefault(x => x.Empid == Empid); if (_emp != null) { TblEmployees _tblUserDetails = _mapper.Map <TblEmployees>(_emp); _context.TblEmployees.Find(_emp.Empid); var emplDTOs = _mapper.Map <EmployeeDTO>(_emp); return(emplDTOs); } else { return(null); } }
public LoginResponse GenerateToken(AspNetUsersDTO user, string productType, string serverType) { LoginResponse loginResponse = new LoginResponse(); _context = (MICAUMContext)DbManager.GetContext(productType, serverType); var userDetails = _context.TblUserDetails.FirstOrDefault(u => u.UserName == user.UserName); //var roleDetails = from ro in _context.AspNetRoles // join ur in _context.AspNetUserRoles on ro.Id equals ur.RoleId // where ur.UserId == user.Id // select ur; var roleName = _context.AspNetRoles.FirstOrDefault(u => u.Id == userDetails.RoleId).Name; var issuer = _config["Jwt:Issuer"]; var audience = _config["Jwt:Audience"]; var expiry = DateTime.Now.AddMinutes(120); var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["Jwt:Key"])); var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256); // Add standard claims var claims = new List <Claim> { new Claim("UserId", user.Id), new Claim("Email", user.Email), new Claim("OrgId", Convert.ToString(userDetails.OrganizationId)), new Claim("PartnerId", Convert.ToString(userDetails.PartnerId)), new Claim("Role", roleName), new Claim("Name", userDetails.FirstName), new Claim("UserName", userDetails.UserName), new Claim("ProductType", productType), new Claim("ServerType", serverType), }; var token = new JwtSecurityToken(issuer: issuer, audience: audience, claims: claims, expires: DateTime.Now.AddMinutes(120), signingCredentials: credentials); var tokenHandler = new JwtSecurityTokenHandler(); var stringToken = tokenHandler.WriteToken(token); loginResponse.Token = stringToken; loginResponse.UserId = user.Id; loginResponse.RoleId = userDetails.RoleId; loginResponse.UserName = user.UserName; loginResponse.FirstName = userDetails.FirstName; loginResponse.LastName = userDetails.LastName; loginResponse.IsMale = userDetails.GenderId == 1001 ? true : false; loginResponse.DisplayName = loginResponse.FirstName + " " + loginResponse.LastName; loginResponse.Status = BusinessStatus.Ok; return(loginResponse); }
public UserDTO ChangeMobileNumber(UserDTO userDTO, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); AspNetUsers _aspNet = _mapper.Map <AspNetUsers>(userDTO); var _aspUsers = _context.AspNetUsers.SingleOrDefault(x => x.Id == _aspNet.Id); var _users = _context.TblUserDetails.SingleOrDefault(x => x.UserId == _aspNet.Id); _aspUsers.PhoneNumber = userDTO.PhoneNumber; _users.ContactNumber = userDTO.PhoneNumber; _context.AspNetUsers.Update(_aspUsers); _context.TblUserDetails.Update(_users); _context.SaveChanges(); var _usersDTOs = _mapper.Map <UserDTO>(_aspUsers); return(_usersDTOs); }
public async Task <SendOtpResponse> ResetOTP(SendOtp sendOtp, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var user = _context.AspNetUsers.SingleOrDefault(x => x.Email == sendOtp.Email); try { if (user != null) { EmailTest emailTest = new EmailTest(); Random random = new Random(); int otp = random.Next(1001, 9999); var chkotp = _context.TblSendOtp.Where(a => a.Email == sendOtp.Email); if (chkotp != null) { foreach (var item in chkotp) { _context.TblSendOtp.Remove(item); } } sendOtp.UserId = user.Id; sendOtp.UserName = user.UserName; sendOtp.Otp = otp.ToString(); TblSendOtp _otp = _mapper.Map <TblSendOtp>(sendOtp); _context.TblSendOtp.Add(_otp); _context.SaveChanges(); emailTest.To = sendOtp.Email; emailTest.Subject = "Password reset for MICA"; emailTest.Message = "Dear User,\n" + " " + "\n" + " OTP for re-setting your MICA password is: " + otp + " " + "\n" + "\nThanks & Regards:\n" + " " + "MICA Team"; await SendEmailAsync(emailTest); } else { return(new SendOtpResponse { Status = BusinessStatus.NotFound, sendOtp = sendOtp, ResponseMessage = $"Please enter registered Email-ID" }); } } catch (Exception ex) { throw; } return(new SendOtpResponse { Status = BusinessStatus.Ok, sendOtp = sendOtp, ResponseMessage = $"OTP Sent Successfully!" }); }
public UserEmailResponse UserEmailValidations(string emailid, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var email = _context.AspNetUsers.Any(item => item.Email == emailid); if (email == true) { return(new UserEmailResponse { Status = BusinessStatus.InputValidationFailed, ResponseMessage = $"Email ID already Exist" }); } else { return(new UserEmailResponse { Status = BusinessStatus.Ok }); } }
public IEnumerable <MasPermissionDTO> GetPermissions(string perType, string userId, string roleId, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); IEnumerable <TblMasPermission> _permissions = from maspermission in _context.TblMasPermission join permission in (from rolepermission in _context.TblUserPermissions where rolepermission.RoleId == roleId && rolepermission.UserorRole == "Role" select rolepermission.PermissionId) .Except( from userpermission in _context.TblUserPermissions where userpermission.UserId == userId && userpermission.UserorRole == "User" select userpermission.PermissionId ) on maspermission.PermissionId equals permission.Value where maspermission.ItemType == perType orderby maspermission.SortOrderBy ascending select maspermission; IEnumerable <MasPermissionDTO> _masPermissionDTOs = _permissions .Where(c => (c.ParentId == 0)) .Select(c => new MasPermissionDTO() { PermissionId = c.PermissionId, ItemType = c.ItemType, ParentId = c.ParentId, MenuId = c.MenuId, ItemDescription = c.ItemDescription, Label = c.ItemDescription, Url = c.Url, PathTo = c.PathTo, Collapse = c.Collapse, State = c.State, Mini = c.Mini, Icon = c.Icon, Redirect = c.Redirect, Component = c.Component, Children = GetChildren(_permissions, c.PermissionId) }); // return(_masPermissionDTOs); }
/// <summary> /// Saves the assign permission. /// </summary> /// <param name="permissionIds">The permission ids.</param> /// <param name="apiContext">The API context.</param> /// <returns></returns> public UserPermissionResponse SaveAssignPermission(UserRolesPermissionDTO permissionIds, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); TblUserPermissions userPermissions = null; foreach (var item in permissionIds.RolePermissionIds) { var newPermission = item.PermissionIds.ToList(); var existingPerm = _context.TblUserPermissions.Where(t => t.UserId == permissionIds.UserId && t.UserorRole == "User" && t.RoleId == item.RoleId).ToList(); //Delete which are not in current permissions-- var delPermission = existingPerm.Where(m => !item.PermissionIds.Contains((int)m.PermissionId)).ToList(); foreach (var perm in delPermission) { _context.Remove(perm); existingPerm.Remove(perm); } var includedPermission = existingPerm.Where(m => item.PermissionIds.Contains((int)m.PermissionId)).ToList(); foreach (var incPerm in includedPermission) { newPermission.Remove((int)incPerm.PermissionId); } //Add new record foreach (var permissionId in newPermission) { userPermissions = new TblUserPermissions(); userPermissions.UserId = permissionIds.UserId; userPermissions.PermissionId = permissionId; userPermissions.RoleId = item.RoleId; userPermissions.UserorRole = "User"; // userPermissions.CreatedBy = CreatedBy; userPermissions.CreatedDate = DateTime.Now; userPermissions.Status = true; _context.TblUserPermissions.Add(userPermissions); } } _context.SaveChanges(); return(new UserPermissionResponse { Status = BusinessStatus.Created, Id = userPermissions?.UserPermissionsId.ToString(), ResponseMessage = $"Assigned Permissions successfully!!" }); }
public UserDTO ModifyUser(UserDTO usersDTOs, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); AspNetUsers _aspNet = _mapper.Map <AspNetUsers>(usersDTOs); //We Use .Include Function to add all Child Classes from a Parent Table //In this Case Parent table is AspNet Users (Primary Key) Child Table is UserDetails (foreign Key) // var _aspUsers = _context.AspNetUsers.Include<>.SingleOrDefault(x => x.Id == usersDTOs.Id); //var _aspUsers = _context.AspNetUsers.Include<TblUserDetails,> //.SingleOrDefault(x => x.Id == usersDTOs.Id); //if (_aspUsers != null) //{ // _aspUsers.PhoneNumber = usersDTOs.PhoneNumber; //_aspNet.TblUserDetails.Update(); _context.AspNetUsers.Update(_aspNet); _context.SaveChanges(); //} var _usersDTOs = _mapper.Map <UserDTO>(_aspNet); return(_usersDTOs); }
public static DbContext GetContext(string product, string connectionKey) { DbContext context = null; string dbConnectionString = DbConnectionManager.GetConnectionString(connectionKey); switch (product) { case "Mica": var optionsBuilder = new DbContextOptionsBuilder <MICAUMContext>(); optionsBuilder.UseSqlServer(dbConnectionString); //DbContextOptions<MICAUMContext> dbContextOption = (DbContextOptions<MICAUMContext>)SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder(), dbConnectionString).Options; context = new MICAUMContext(optionsBuilder.Options); break; case "Avo": var avoOptionsBuilder = new DbContextOptionsBuilder <AVOUMContext>(); avoOptionsBuilder.UseSqlServer(dbConnectionString); //DbContextOptions<MICAUMContext> dbContextOption = (DbContextOptions<MICAUMContext>)SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder(), dbConnectionString).Options; context = new AVOUMContext(avoOptionsBuilder.Options); break; case "Motor": //var motorOptionsBuilder = new DbContextOptionsBuilder<Mot>(); //motorOptionsBuilder.UseSqlServer(dbConnectionString); ////DbContextOptions<MICAUMContext> dbContextOption = (DbContextOptions<MICAUMContext>)SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder(), dbConnectionString).Options; //context = new AVOUMContext(motorOptionsBuilder.Options); break; default: var optionsBuilderDefault = new DbContextOptionsBuilder <MICAUMContext>(); optionsBuilderDefault.UseSqlServer(dbConnectionString); // DbContextOptions<MICAUMContext> dbDefaultContextOption = (DbContextOptions<MICAUMContext>)SqlServerDbContextOptionsExtensions.UseSqlServer(new DbContextOptionsBuilder(), dbConnectionString).Options; context = new MICAUMContext(optionsBuilderDefault.Options); break; } return(context); }
/// <summary> /// Assigns the permission. /// </summary> /// <param name="permissionIds">The permission ids.</param> /// <param name="apiContext">The API context.</param> /// <returns></returns> public UserPermissionResponse AssignPermission(UserPermissionDTO permissionIds, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); UserPermissionsDTO userPermissions = null; for (int i = 0; i < permissionIds.PermissionIds.Length; i++) { userPermissions = new UserPermissionsDTO(); userPermissions.UserId = permissionIds.UserId; userPermissions.PermissionId = Convert.ToInt16(permissionIds.PermissionIds[i]); userPermissions.UserorRole = "User"; // userPermissions.CreatedBy = CreatedBy; userPermissions.CreatedDate = DateTime.Now; userPermissions.Status = true; var _usersPer = _mapper.Map <TblUserPermissions>(userPermissions); _context.TblUserPermissions.Add(_usersPer); } _context.SaveChanges(); //return userPermissions; return(new UserPermissionResponse { Status = BusinessStatus.Created, perm = userPermissions, ResponseMessage = $"Assigned {userPermissions.PermissionId} Permissions successfully!!" }); }
public IEnumerable <MasPermissionDTO> GetUserPermissions(string perType, string userId, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); var _roles = _context.AspNetUserRoles.Where(userrole => userrole.UserId == userId).Select(role => role.RoleId); IEnumerable <TblMasPermission> _permissions = from maspermission in _context.TblMasPermission join permission in (from rolepermission in _context.TblUserPermissions where _roles.Contains(rolepermission.RoleId) && rolepermission.UserorRole == "Role" select rolepermission.PermissionId) .Except( from userpermission in _context.TblUserPermissions where userpermission.UserId == userId && userpermission.UserorRole == "User" select userpermission.PermissionId ) on maspermission.PermissionId equals permission.Value where maspermission.ItemType == perType select maspermission; IEnumerable <MasPermissionDTO> _masPermissionDTOs = _mapper.Map <IEnumerable <MasPermissionDTO> >(_permissions); return(_masPermissionDTOs); }
public AvoRoleService(MICAUMContext context, IMapper mapper) { _context = context; _mapper = mapper; }
public PasswordResponse ChangePassword(Password pass, ApiContext apiContext) { _context = (MICAUMContext)DbManager.GetContext(apiContext.ProductType, apiContext.ServerType); byte[] passwordHash; byte[] passwordSalt; var _aspUsers = _context.AspNetUsers.FirstOrDefault(x => x.Id == pass.Id); if (pass.IsChangePassword == true) { if (pass.NewPassword == pass.ConfirmPassword) { AspNetUsers _aspNet = _mapper.Map <AspNetUsers>(_aspUsers); if (string.IsNullOrWhiteSpace(pass.ConfirmPassword)) { throw new ArgumentException("Please enter valid password", "password"); } passwordSalt = new byte[] { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 }; using (var hmac = new System.Security.Cryptography.HMACSHA512(passwordSalt)) { passwordHash = hmac.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass.ConfirmPassword)); } _aspNet.PasswordHash = passwordHash; _context.AspNetUsers.Update(_aspNet); _context.SaveChanges(); var _usersDTOs = _mapper.Map <UserDTO>(_aspUsers); return(new PasswordResponse { Status = BusinessStatus.Created, passwd = pass, ResponseMessage = $"Password changed successfully!" }); } else { return(new PasswordResponse { Status = BusinessStatus.Error, ResponseMessage = $"Password not matching" }); } } else { if (pass.OldPassword != null) { // check if user exists if (_aspUsers == null) { return(null); } passwordSalt = new byte[] { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 }; //// check if password is correct if (!Utilities.VerifyPasswordHash(pass.OldPassword, _aspUsers.PasswordHash, passwordSalt)) { return new PasswordResponse { Status = BusinessStatus.UnAuthorized, ResponseMessage = $"Please enter valid old password" } } ; //return null; if (pass.NewPassword == pass.ConfirmPassword) { AspNetUsers _aspNet = _mapper.Map <AspNetUsers>(_aspUsers); if (string.IsNullOrWhiteSpace(pass.ConfirmPassword)) { throw new ArgumentException("Please enter valid password", "password"); } passwordSalt = new byte[] { 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 }; using (var hmac = new System.Security.Cryptography.HMACSHA512(passwordSalt)) { passwordHash = hmac.ComputeHash(System.Text.Encoding.UTF8.GetBytes(pass.ConfirmPassword)); } _aspNet.PasswordHash = passwordHash; _context.AspNetUsers.Update(_aspNet); _context.SaveChanges(); var _usersDTOs = _mapper.Map <UserDTO>(_aspUsers); return(new PasswordResponse { Status = BusinessStatus.Created, passwd = pass, ResponseMessage = $"Password changed successfully!" }); } else { return(new PasswordResponse { Status = BusinessStatus.InputValidationFailed, passwd = pass, ResponseMessage = $"Password not matching" }); } } else { return(new PasswordResponse { Status = BusinessStatus.UnAuthorized, ResponseMessage = $"Please enter valid old password" }); } } }