async Task <ServiceResponse <CompanyUserDto> > ICompanyUserService.ArchiveUser(string id) { ServiceResponse <CompanyUserDto> response = new ServiceResponse <CompanyUserDto>(); CompanyUser user = await _context.CompanyUsers.FirstOrDefaultAsync(async => async.companyUserId == id); if (user == null) { response.Success = false; response.Message = "The company user you wish to archive does not exist"; return(response); } user.archiveUser(); _context.CompanyUsers.Update(user); await _context.SaveChangesAsync(); CompanyUserDto userDto = new CompanyUserDto(user.companyUserId, user.companyId, user.companyName, user.email, user.lastLoggedIn, user.isActive); response.Data = userDto; return(response); }
public void Update(CompanyUserDto entity) { var user = companyUserRepository.Find(entity.Id); if (user == null) { throw new KeyNotFoundException(); } user.FirstName = entity.FirstName; user.LastName = entity.LastName; user.TrIdentityNumber = entity.TrIdentityNumber; user.Title = entity.Title; user.MobileNumber = entity.MobileNumber; user.FixedNumber = entity.FixedNumber; user.Address = entity.Address; user.ModifiedUser = entity.ModifiedUser; user.ModifyDate = DateTime.Now; companyUserRepository.Update(user); unitOfWork.SaveChanges(); }
public int Create(CompanyUserDto companyUserDto) { var companyuser = new CompanyUser() { CreatedUser = companyUserDto.CreatedUser, CreateDate = companyUserDto.CreateDate, ModifyDate = companyUserDto.ModifyDate, ModifiedUser = companyUserDto.ModifiedUser, FirstName = companyUserDto.FirstName, LastName = companyUserDto.LastName, TrIdentityNumber = companyUserDto.TrIdentityNumber, Title = companyUserDto.Title, Email = companyUserDto.Email, MobileNumber = companyUserDto.MobileNumber, CompanyId = companyUserDto.CompanyId, AccountId = companyUserDto.AccountId, Address = new Address() }; companyUserRepository.Insert(companyuser); unitOfWork.SaveChanges(); return(companyuser.Id); }
public async Task <IActionResult> CreateAsync([FromBody] CompanyUserViewModel companyUserViewModel) { if (ModelState.IsValid) { try { var companyUserModel = new CompanyUserDto(); var companyObje = new Company(); var currentUser = await userManager.GetUserAsync(HttpContext.User); if (companyUserViewModel.CompanyId > 0) // Yönetici olarak giriş yapıldıysa CompanyId bulunmaz { companyObje = companyService.Find(companyUserViewModel.CompanyId); // limit bulunacak } else //firma Admini giriş yaptıysa { companyUserModel = companyUserService.GetCompanyUserbyUserAccountId(currentUser.AccountId);// limit bulunacak companyObje = companyService.Find(companyUserModel.CompanyId); } int userAddedCount = companyUserService.GetOfCountCompanyUser(companyObje.Id); if (companyObje.UserLimit > userAddedCount) { var companyUser = new CustomIdentityUser { FirstName = companyUserViewModel.UserDto.FirstName, LastName = companyUserViewModel.UserDto.LastName, UserName = companyUserViewModel.UserDto.Email, Email = companyUserViewModel.UserDto.Email, AccountId = Guid.NewGuid(), IsEnabled = true }; var result = await userManager.CreateAsync(companyUser, companyUserViewModel.Password).ConfigureAwait(false); if (result.Succeeded) { var selectedRoles = companyUserViewModel.UserRoles.Where(p => p.Selected).Select(p => p.RoleName).ToList(); await userManager.AddToRolesAsync(companyUser, selectedRoles); await userManager.AddClaimAsync(companyUser, new System.Security.Claims.Claim("FullName", string.Format("{0} {1}", companyUserViewModel.UserDto.FirstName, companyUserViewModel.UserDto.LastName))); await userManager.AddClaimAsync(companyUser, new System.Security.Claims.Claim("AccountId", companyUser.AccountId.ToString())); // var currentUser = await userManager.GetUserAsync(HttpContext.User); var companyuserDto = new Helpdesk.Service.Dto.CompanyUserDto() { CreatedUser = currentUser.FirstName + " " + currentUser.LastName, ModifiedUser = currentUser.FirstName + " " + currentUser.LastName, CreateDate = DateTime.Now, ModifyDate = DateTime.Now, FirstName = companyUserViewModel.UserDto.FirstName, LastName = companyUserViewModel.UserDto.LastName, TrIdentityNumber = companyUserViewModel.UserDto.TrIdentityNumber, Title = companyUserViewModel.UserDto.Title, Email = companyUserViewModel.UserDto.Email, MobileNumber = companyUserViewModel.UserDto.MobileNumber, AccountId = companyUser.AccountId, Address = new Helpdesk.Model.Entities.Address(), RecordStatus = Helpdesk.Model.Enums.RecordStatus.A, }; if (companyUserViewModel.CompanyId > 0) { companyuserDto.CompanyId = companyUserViewModel.CompanyId; } else {// Yönetici Admini ise var companyuser = companyUserService.GetCompanyUserbyUserAccountId(currentUser.AccountId); companyuserDto.CompanyId = companyuser.CompanyId; } //var currentRoles = userManager.GetRolesAsync(currentUser); var CUserId = companyUserService.Create(companyuserDto); return(Ok()); } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } return(BadRequest(ModelState)); } else {// limit bilgileri dolu ise return(UnprocessableEntity()); } } catch (Exception ex) { throw; } } else { return(BadRequest()); } }
public void AddUser([FromBody] CompanyUserDto companyUserDto) // POST: api/v1/companies/adduser { _companyService.AddUser(companyUserDto); }