public ActionResult Post([FromBody] RCORegistrationModel rcoRegistration) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } else { this.registraionService.SaveRegistration(rcoRegistration); this.Response.StatusCode = (int)HttpStatusCode.OK; return(new JsonResult(new { Msg = "success" })); } } catch (UserAlreadyExistsException ex) { this.logger.LogError(ex, "Error while creating RCO Registration."); this.Response.StatusCode = (int)HttpStatusCode.BadRequest; return(new JsonResult(new { Error = new { Message = ex.Message } })); } catch (InvalidInputException ex) { this.logger.LogError(ex, "Error while creating RCO Registration."); this.Response.StatusCode = (int)HttpStatusCode.BadRequest; return(new JsonResult(new { Error = new { Message = ex.Message } })); } catch (Exception ex) { this.logger.LogError(ex, "Error while creating RCO Registration."); this.Response.StatusCode = (int)HttpStatusCode.InternalServerError; return(new JsonResult(new { Error = new { Message = "An unhandled error occured during request processing." } })); } }
public RCORegistrationModel SaveRegistration(RCORegistrationModel registrationModel) { var userExist = this.userService.IsUserExists(registrationModel.EmailId); if (userExist) { throw new UserAlreadyExistsException($"User with email {registrationModel.EmailId} already exist."); } var department = this.departmentRepository.GetDepartmentById(registrationModel.DepartmentId); if (department == null) { throw new InvalidInputException("DepartmentId is not valid."); } var registration = new RCORegistration(); registration.AdminName = registrationModel.AdminName; registration.ContactNumber = registrationModel.ContactNumber; registration.DepartmentID = registrationModel.DepartmentId; registration.Designation = registrationModel.Designation; registration.District = registrationModel.District; registration.EmailID = registrationModel.EmailId; registration.OfficeAddress1 = registrationModel.OfficeAddress1; registration.OfficeAddress2 = registrationModel.OfficeAddress2; registration.RegistrationType = registrationModel.RegistrationType; registration.TINNumber = registrationModel.TINNumber; registration.TANNumber = registrationModel.TANNumber; registration.CreatedDate = DateTime.Now; this.repository.CreateRCORegistration(registration); var user = new User(); user.EmailID = registrationModel.EmailId; user.UserType = UserType.RCOUser; user.MobileNumber = registrationModel.ContactNumber; user.DepartmentID = registrationModel.DepartmentId; this.userService.CreateUser(user, PasswordGenerator.GenerateRandomPassword(8)); return(registrationModel); }