private void ValidateDeEmail(RegisterUpdateUserRequest pRegisterUpdateUserRequest, UserBase pUserBase = null) { if (string.IsNullOrEmpty(pRegisterUpdateUserRequest.DeEmail)) { this.APIResponse.AddError("DeEmail", ValidationMessageConstant.RequiredField); } else if (this.IsValidEmail(pRegisterUpdateUserRequest.DeEmail) == false) { this.APIResponse.AddError("DeEmail", ValidationMessageConstant.InvalidValue); } else { UserBase userBase = RepositorySingleton.instance.UserBaseRepository.Get(pRegisterUpdateUserRequest.DeEmail, (UserType)pRegisterUpdateUserRequest.UserType); // the same user and same email if (pUserBase != null && userBase != null && userBase.IdUser == pUserBase.IdUser && userBase.DeEmail == pUserBase.DeEmail && (userBase is Customer && pUserBase is Customer || userBase is Company && pUserBase is Company)) { return; } if (userBase != null && ((userBase is Customer && pRegisterUpdateUserRequest.UserType == (int)UserType.Customer) || (userBase is Company && pRegisterUpdateUserRequest.UserType == (int)UserType.Company))) { this.APIResponse.AddError("DeEmail", ValidationMessageConstant.EmailAlreadyInUse); } } }
private void ValidateNmUser(RegisterUpdateUserRequest pRegisterUpdateUserRequest) { if (string.IsNullOrEmpty(pRegisterUpdateUserRequest.NmUser)) { this.APIResponse.AddError("NmUser", ValidationMessageConstant.RequiredField); } }
private void ValidateUserType(RegisterUpdateUserRequest pRegisterUpdateUserRequest) { if (pRegisterUpdateUserRequest.UserType.ToIntZeroAble() <= 0) { this.APIResponse.AddError("UserType", ValidationMessageConstant.RequiredField); } else if (pRegisterUpdateUserRequest.UserType != (int)UserType.Customer && pRegisterUpdateUserRequest.UserType != (int)UserType.Company) { this.APIResponse.AddError("UserType", ValidationMessageConstant.InvalidValue); } }
private void ValidateIdRole(RegisterUpdateUserRequest pRegisterUpdateUserRequest) { if (pRegisterUpdateUserRequest.UserType == (int)UserType.Customer) { if (pRegisterUpdateUserRequest.IdRole.ToIntZeroAble() <= 0) { this.APIResponse.AddError("IdRole", ValidationMessageConstant.RequiredField); } else if (((IBaseRepository <Role>)RepositorySingleton.instance.RoleRepository).Get(pRegisterUpdateUserRequest.IdRole) == null) { this.APIResponse.AddError("IdRole", ValidationMessageConstant.InvalidValue); } } }
public ActionResult Register(RegisterUpdateUserRequest pRegisterUpdateUserRequest) { if (pRegisterUpdateUserRequest == null) { this.APIResponse = APIResponseFactory.Create(System.Net.HttpStatusCode.BadRequest); return(BadRequest(this.APIResponse)); } // Validations this.APIResponse = APIResponseFactory.Create(System.Net.HttpStatusCode.BadRequest); this.ValidateUserType(pRegisterUpdateUserRequest); this.ValidateNmUser(pRegisterUpdateUserRequest); this.ValidateDeEmail(pRegisterUpdateUserRequest); this.ValidateIdRole(pRegisterUpdateUserRequest); this.ValidateDePassword(pRegisterUpdateUserRequest); if (this.APIResponse.Errors.Count > 0) { return(BadRequest(this.APIResponse)); } // create new user if (pRegisterUpdateUserRequest.UserType == (int)UserType.Customer) { ((IBaseRepository <Customer>)RepositorySingleton.instance.CustomerRepository).Add(new Customer { NmUser = pRegisterUpdateUserRequest.NmUser, DeEmail = pRegisterUpdateUserRequest.DeEmail, DePassword = pRegisterUpdateUserRequest.DePassword, IdRole = pRegisterUpdateUserRequest.IdRole, NuTelephone = pRegisterUpdateUserRequest.NuTelephone, DtRegister = DateTime.Now }); } else if (pRegisterUpdateUserRequest.UserType == (int)UserType.Company) { ((IBaseRepository <Company>)RepositorySingleton.instance.CompanyRepository).Add(new Company { NmUser = pRegisterUpdateUserRequest.NmUser, DeEmail = pRegisterUpdateUserRequest.DeEmail, DePassword = pRegisterUpdateUserRequest.DePassword, NuTelephone = pRegisterUpdateUserRequest.NuTelephone, DtRegister = DateTime.Now }); } this.APIResponse = APIResponseFactory.Create(System.Net.HttpStatusCode.OK); return(Ok(this.APIResponse)); }
public ActionResult UpdatePassword(RegisterUpdateUserRequest pRegisterUpdateUserRequest) { string deToken = this.GetToken(); // Validate User By Token Customer customer = this.GetCustomer(deToken); Company company = this.GetCompany(deToken); if (customer == null && company == null) { this.APIResponse = APIResponseFactory.Create(System.Net.HttpStatusCode.Unauthorized); return(Unauthorized(APIResponse)); } // Validate Body Request if (pRegisterUpdateUserRequest == null) { this.APIResponse = APIResponseFactory.Create(System.Net.HttpStatusCode.BadRequest); return(BadRequest(this.APIResponse)); } // Validations this.APIResponse = APIResponseFactory.Create(System.Net.HttpStatusCode.BadRequest); this.ValidateDePassword(pRegisterUpdateUserRequest); if (this.APIResponse.Errors.Count > 0) { return(BadRequest(this.APIResponse)); } // update user if (customer != null) { customer.DePassword = pRegisterUpdateUserRequest.DePassword; ((IBaseRepository <Customer>)RepositorySingleton.instance.CustomerRepository).Update(customer); } else // company { company.DePassword = pRegisterUpdateUserRequest.DePassword; ((IBaseRepository <Company>)RepositorySingleton.instance.CompanyRepository).Update(company); } this.APIResponse = APIResponseFactory.Create(System.Net.HttpStatusCode.OK); return(Ok(this.APIResponse)); }
private void ValidateDePassword(RegisterUpdateUserRequest pRegisterUpdateUserRequest) { if (string.IsNullOrEmpty(pRegisterUpdateUserRequest.DePassword) || string.IsNullOrEmpty(pRegisterUpdateUserRequest.DePasswordConfirm)) { if (string.IsNullOrEmpty(pRegisterUpdateUserRequest.DePassword)) { this.APIResponse.AddError("DePassword", ValidationMessageConstant.RequiredField); } if (string.IsNullOrEmpty(pRegisterUpdateUserRequest.DePasswordConfirm)) { this.APIResponse.AddError("DePasswordConfirm", ValidationMessageConstant.RequiredField); } } else if (pRegisterUpdateUserRequest.DePassword.Count() < 6) { this.APIResponse.AddError("DePassword", ValidationMessageConstant.PasswordDoNotContainSixDigitsOrMore); } else if (pRegisterUpdateUserRequest.DePassword != pRegisterUpdateUserRequest.DePasswordConfirm) { this.APIResponse.AddError("DePassword", ValidationMessageConstant.PasswordDoNotMatch); } }
public ActionResult UpdateProfile(RegisterUpdateUserRequest pRegisterUpdateUserRequest) { string deToken = this.GetToken(); // Validate User By Token Customer customer = this.GetCustomer(deToken); Company company = this.GetCompany(deToken); if (customer == null && company == null) { this.APIResponse = APIResponseFactory.Create(System.Net.HttpStatusCode.Unauthorized); return(Unauthorized(APIResponse)); } // Validate Body Request if (pRegisterUpdateUserRequest == null) { this.APIResponse = APIResponseFactory.Create(System.Net.HttpStatusCode.BadRequest); return(BadRequest(this.APIResponse)); } // Validations this.APIResponse = APIResponseFactory.Create(System.Net.HttpStatusCode.BadRequest); // set userType for validations pRegisterUpdateUserRequest.UserType = (customer == null) ? (int)UserType.Company : (int)UserType.Customer; this.ValidateNmUser(pRegisterUpdateUserRequest); this.ValidateDeEmail(pRegisterUpdateUserRequest, (customer == null) ? (UserBase)company : (UserBase)customer); this.ValidateIdRole(pRegisterUpdateUserRequest); //this.ValidateDePassword(pRegisterUpdateUserRequest); if (this.APIResponse.Errors.Count > 0) { return(BadRequest(this.APIResponse)); } // update user if (customer != null) { customer.NmUser = pRegisterUpdateUserRequest.NmUser; customer.DeEmail = pRegisterUpdateUserRequest.DeEmail; //customer.DePassword = pRegisterUpdateUserRequest.DePassword; customer.IdRole = pRegisterUpdateUserRequest.IdRole; customer.NuTelephone = pRegisterUpdateUserRequest.NuTelephone; ((IBaseRepository <Customer>)RepositorySingleton.instance.CustomerRepository).Update(customer); } else // company { company.NmUser = pRegisterUpdateUserRequest.NmUser; company.DeEmail = pRegisterUpdateUserRequest.DeEmail; //company.DePassword = pRegisterUpdateUserRequest.DePassword; company.NuTelephone = pRegisterUpdateUserRequest.NuTelephone; ((IBaseRepository <Company>)RepositorySingleton.instance.CompanyRepository).Update(company); } this.APIResponse = APIResponseFactory.Create(System.Net.HttpStatusCode.OK); return(Ok(this.APIResponse)); }