public async Task <IHttpActionResult> Register(RegisterBindingModel model) { SexType sex = 0; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (model.Sex.Equals("Female")) { sex = SexType.Female; } var user = new ApplicationUser() { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, Address = model.Address, DateOfBirth = Convert.ToDateTime(model.DateOfBirth), PlaceOfBirth = model.PlaceOfBirth, MiddleName = model.MiddleName, PhoneNumber = model.PhoneNumber, StateOfOrigin = model.StateOfOrigin, CreatedAt = DateTime.Now, Sex = sex, UserType = UserType.Admin }; IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(GetErrorResult(result)); } var res = new UserReponseModel() { ResponseCode = 201, ResponseStatus = true, Message = "User sucessfully created", UserId = user.Id }; return(ResponseMessage(Request.CreateResponse(HttpStatusCode.Created, res))); }
public async Task <IHttpActionResult> RegisterEmployee(RegisterModel model) { SexType sex = 0; var json = JsonConvert.SerializeObject(model); ServiceController.log(json); if (!ModelState.IsValid) { var message = string.Join(" | ", ModelState.Values .SelectMany(v => v.Errors) .Select(e => e.ErrorMessage)); var error = new ErorrMessage() { ResponseCode = 403, ResponseStatus = false, Message = message }; return(ResponseMessage(Request.CreateResponse(HttpStatusCode.Forbidden, error))); } if (model.Sex.Equals("Female")) { sex = SexType.Female; } else { sex = SexType.Male; } ApplicationUser user = new ApplicationUser(); user.UserName = model.Email; user.Email = model.Email; user.FirstName = model.FirstName; user.LastName = model.LastName; user.Address = model.Address; user.DateOfBirth = Convert.ToDateTime(model.DateOfBirth); user.PlaceOfBirth = model.PlaceOfBirth; user.MiddleName = model.MiddleName; user.PhoneNumber = model.PhoneNumber; user.StateOfOrigin = model.StateOfOrigin; user.CreatedAt = DateTime.Now; user.Sex = sex; user.UserType = UserType.Employee; //var user = new ApplicationUser() //{ // UserName = model.Email, // Email = model.Email, // FirstName = model.FirstName, // LastName = model.LastName, // Address = model.Address, // DateOfBirth = Convert.ToDateTime(model.DateOfBirth), // PlaceOfBirth = model.PlaceOfBirth, // MiddleName = model.MiddleName, // PhoneNumber = model.PhoneNumber, // StateOfOrigin = model.StateOfOrigin, // CreatedAt = DateTime.Now, // Sex = sex, // UserType = UserType.Employee //}; //upload file //verifiy user BVN var isNimcVerify = util.VerifyNIMC(model.ExtraData.NIMC); var isBvnVerify = util.VerifyBVN(model.ExtraData.BVN); if (!isBvnVerify || !isNimcVerify) { var error = new ErorrMessage() { ResponseCode = 403, ResponseStatus = false, Message = "Invalid BVN or NIN | please contact your bank" }; return(ResponseMessage(Request.CreateResponse(HttpStatusCode.Forbidden, error))); } IdentityResult result = await UserManager.CreateAsync(user, DefaultPassword); if (!result.Succeeded) { var error = new ErorrMessage() { ResponseCode = 403, ResponseStatus = false, Message = "Unable to create User" }; return(ResponseMessage(Request.CreateResponse(HttpStatusCode.Forbidden, error))); } var employee = util.RegisterEmployee(model, user.Id); var res = new UserReponseModel() { ResponseCode = 201, ResponseStatus = true, Message = "User sucessfully created", UserId = user.Id }; return(ResponseMessage(Request.CreateResponse(HttpStatusCode.Created, res))); }
public async Task <IHttpActionResult> Register(RegisterBindingModel model) { Console.WriteLine(model); SexType sex = 0; if (!ModelState.IsValid) { var message = string.Join(" | ", ModelState.Values .SelectMany(v => v.Errors) .Select(e => e.ErrorMessage)); var error = new ErorrMessage() { ResponseCode = 403, ResponseStatus = false, Message = message }; return(ResponseMessage(Request.CreateResponse(HttpStatusCode.Forbidden, error))); } if (model.Sex.Equals("Female")) { sex = SexType.Female; } else { sex = SexType.Male; } var user = new ApplicationUser() { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, Address = model.Address, DateOfBirth = Convert.ToDateTime(model.DateOfBirth), PlaceOfBirth = model.PlaceOfBirth, MiddleName = model.MiddleName, PhoneNumber = model.PhoneNumber, StateOfOrigin = model.StateOfOrigin, CreatedAt = DateTime.Now, Sex = sex, }; if (model.Type.Equals("Employer")) { user.UserType = UserType.Employer; } IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(GetErrorResult(result)); } if (model.Type.Equals("Employer")) { var employer = new Employer() { EmployerId = user.Id, NextOfKin = model.NextOfKin, NextOfKinAddress = model.NextOfKinAddress, NextOfKinPhoneNumber = model.NextOfKinPhone, PlaceOfWork = model.PlaceOfWork, CreatedAt = DateTime.Now }; var employerDatails = util.RegisterEmployer(employer, model); } var res = new UserReponseModel() { ResponseCode = 201, ResponseStatus = true, Message = "User sucessfully created", UserId = user.Id }; return(ResponseMessage(Request.CreateResponse(HttpStatusCode.Created, res))); }