public async Task <IActionResult> PostAuthenticate([FromForm] OtpRequestViewModel model) { Random random = new Random(); var response = new SingleResponse <OtpRequestViewModel>(); string OTP = string.Empty; try { if (ModelState.IsValid) { if (!(await _unit.IUser.Exists(t => t.PhoneNumber.Equals(model.MobileNo))).UserObject) { ModelState.AddModelError("PPhone", "Your Phone no. is not register with us"); response.Message = "Your Phone no. is not register with us"; response.Status = false; response.ErrorTypeCode = (int)ErrorMessage.PhoneOrEmailNotRegistor; } else { string strPhone = ("91" + model.MobileNo); var otpRequest = new OtpRequestViewModel { MobileNo = strPhone }; var otpresposedata = await _smsHandler.SendOtpAsync(SmsVendorUrl : _appSettings.SmsVendorUrl, strHasKey : _appSettings.SmsHasKey, mobile : strPhone); if (otpresposedata.type == "success") { response.Message = "OTP Send on your registor no."; response.Status = true; response.Data = model; return(response.ToHttpResponse()); } } } } catch (Exception ex) { response.Status = false; response.Message = "There was an internal error, please contact to technical support."; ErrorTrace.Logger(LogArea.ApplicationTier, ex); } return(response.ToHttpResponse()); }
public async Task <IActionResult> Post([FromForm] UsersViewModel users) { var response = new Response(); int userId = 0; string strUserId = this.User.FindFirstValue(ClaimTypes.Name); if (ModelState.IsValid) { bool isEdit = true; isEdit = userId > 0 ? true : false; try { if (!(await _unit.IUser.Exists(t => t.PhoneNumber.Equals(users.ContactNo) && t.UserType == 2)).UserObject) { ModelState.AddModelError("PPhone", "Your Phone no. is not register with us"); response.Message = "Your Phone no. is not register with us"; response.Status = false; response.ErrorTypeCode = (int)ErrorMessage.PhoneOrEmailNotRegistor; } if ((await _unit.IUser.Exists(t => t.Email.Equals(users.EmailId) && t.UserType == 2)).UserObject) { response.Message = "Email already in use."; response.Status = false; response.ErrorTypeCode = (int)ErrorMessage.Email; } else { var tempUsers = AutoMapper.Mapper.Map <ApplicationUser>(users); ApplicationRole userInRole = new ApplicationRole(); if (!isEdit) { tempUsers.CreatedDate = DateTime.Now; tempUsers.CreatedBy = tempUsers.Id; tempUsers.Status = true; tempUsers.UserName = users.EmailId; tempUsers.UserType = 2; var result = await _userManager.CreateAsync(tempUsers); await _userManager.AddToRoleAsync(tempUsers, "USER"); if (result.Succeeded) { string strPhone = ("91" + users.ContactNo); response.Message = "user registered."; response.Status = true; var otpresposedata = await _sms.SendOtpAsync(SmsVendorUrl : _appSettings.SmsVendorUrl, strHasKey : _appSettings.SmsHasKey, mobile : strPhone); if (otpresposedata.type == "success") { return(response.ToHttpResponse()); } } } else { tempUsers = (await _userManager.FindByIdAsync(Convert.ToString(userId))); tempUsers.PhoneNumber = users.ContactNo; tempUsers.UserName = users.EmailId; tempUsers.ModifiedDate = DateTime.Now; tempUsers.ModifiedBy = userId; var result = await _userManager.UpdateAsync(tempUsers); } response.Message = "user Added."; response.Status = true; return(response.ToHttpResponse()); } } catch (Exception ex) { response.Status = false; response.Message = "There was an internal error, please contact technical support."; ErrorTrace.Logger(LogArea.ApplicationTier, ex); } } return(response.ToHttpResponse()); }