public LoginDetailsVM AddUser(RegisterVM registerVM)
        {
            try
            {
                var user = _userRepo.GetUserByEmail(registerVM.EmailId).Result;
                if (user != null)
                {
                    throw new Exception("User with the same email already exist.");
                }

                if (!registerVM.CompanyId.HasValue && !String.IsNullOrEmpty(registerVM.CompanyName))
                {
                    registerVM.CompanyId = _companiesService.AddCompany(registerVM.CompanyName);
                }
                var userDetails = _mapper.Map <UserTable>(registerVM);
                userDetails.Id = Guid.NewGuid();
                var userResponse = _userRepo.AddUsers(userDetails).Result;
                if (userResponse)
                {
                    var loginDetails = _mapper.Map <LoginTable>(registerVM);
                    loginDetails.UserId      = userDetails.Id;
                    loginDetails.UserLocalId = userDetails.LocalId;
                    loginDetails.Id          = Guid.NewGuid();
                    loginDetails.RoleId      = 1;
                    loginDetails.IsLogIn     = true;
                    var loginResponse = _loginRepo.AddLoginUser(loginDetails).Result;
                    if (loginResponse)
                    {
                        //  loginDetails.User = userDetails;
                        return(_mapper.Map <LoginDetailsVM>(loginDetails));
                    }
                    else
                    {
                        _userRepo.DeleteUsers(userDetails.Id);
                        throw new Exception("Unable to Register");
                    }
                }
                else
                {
                    throw new Exception("Unable to Register");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #2
0
        public async Task <object> Add(Company company)
        {
            bool isValid = await _companiesService.AddCompany(company);

            _notification.SetNotificationMessage(isValid, Title, company.UID);

            return(_notification);
        }
        public async Task <IActionResult> Post([FromBody] Company company)
        {
            if (ModelState.IsValid)
            {
                var createdCompany = await _companiesService.AddCompany(_mapper.Map <Core.Models.Company>(company));

                if (createdCompany != null)
                {
                    var location = $"api/companies/{createdCompany.Id}";
                    _logger.LogDebug($"Company created: {location}");
                    return(Created(location, _mapper.Map <Company>(createdCompany)));
                }
                else
                {
                    return(BadRequest("Failed to save state"));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
Example #4
0
        public async Task <IActionResult> AddCompany(AddCompanyCommand command)
        {
            var id = await _companiesService.AddCompany(command);

            return(Ok(id));
        }