public async Task <IActionResult> CompanyMemberSignup([FromForm] CompanyMemberSignup signup) { JsonResponse <User> objResult = new JsonResponse <User>(); try { HttpContext context = HttpContext; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } bool matched = await this.authService.MatchSecretKey(signup.SecretKey); if (!matched) { objResult.Data = null; objResult.Status = StaticResource.UnauthorizedStatusCode; objResult.Message = StaticResource.UnauthorizedMessage; return(new OkObjectResult(objResult)); } var user = await this.authService.CompanyMemberSignup(signup, Convert.ToInt32(RolesEnum.Member), context); switch (user.Status) { case 1: objResult.Data = null; objResult.Status = StaticResource.SuccessStatusCode; objResult.Message = StaticResource.SuccessMessage; break; case 5: objResult.Data = null; objResult.Status = StaticResource.DuplicateStatusCode; objResult.Message = StaticResource.EmailExist; break; case 6: objResult.Data = null; objResult.Status = StaticResource.DuplicateStatusCode; objResult.Message = StaticResource.UsernameExist; break; } } catch (Exception ex) { HttpContext.RiseError(ex); objResult.Data = null; objResult.Status = StaticResource.FailStatusCode; objResult.Message = StaticResource.FailMessage; } return(new OkObjectResult(objResult)); }
public async Task <User> CompanyMemberSignup(CompanyMemberSignup request, int RoleId, HttpContext context) { int userId = 0; User createMember = null; var now = DateTime.UtcNow; var guid = System.Guid.NewGuid(); try { var user = new Users { UserId = 0, UserGuid = guid, IsActive = true, IsBlocked = false, LastLogin = null, CreatedDate = now, CreatedBy = null, ModifiedDate = null, ModifiedBy = null, IsDeleted = false, }; UserProfile userProfile = new UserProfile { ProfileId = 0, ProfileGuid = System.Guid.NewGuid(), UserId = userId, ProfilePhoto = null, Gender = null, City = null, State = null, Country = null, ZipCode = null, Qualification = null, Education = null, IsFeature = null, Ranked = null, BriefBio = null, InstagramProfile = null, LinkedInProfile = null, FaceBookProfile = null, ContactNo1 = null, ContactNo2 = null, TimezoneId = request.TimezoneId, IsApproved = null, ApprovedDate = null, // CreatedDate = now, ModifiedDate = null, CreatedBy = userId, ModifiedBy = null, IsActive = true, PractitionerSince = null, Description = request.Description, Language = null, IsDeleted = false, PublicProfile = true, IsDeactivated = false }; UserInfo userInfo = new UserInfo() { UserName = request.CompanyUserNameCode + "_" + request.UserName, Password = request.UserPassword, FirstName = request.FirstName, LastName = request.LastName, Email = request.Email, }; bool IsCompany = true; createMember = await this.authRepo.CreateUserAsync(user, userProfile, null, userInfo, RoleId, "", IsCompany, request.InvitedGuid, request.CompanyId, request.CompanyAdminId); if (createMember.UserId > 0) { await this.commonEmailsService.SendWelcomeEmailToMemberFromCompany(request.Email, request.FirstName, request.LastName, userInfo.UserName, request.UserPassword, request.CompanyName, context); } } catch (Exception ex) { throw ex; } return(createMember); }