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);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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());
            }
        }
Ejemplo n.º 5
0
 public void AddUser([FromBody] CompanyUserDto companyUserDto) // POST: api/v1/companies/adduser
 {
     _companyService.AddUser(companyUserDto);
 }