public ActionResult Post([FromBody] DDORegistrationModel ddoRegistration) { try { if (!ModelState.IsValid) return BadRequest(ModelState); else { this.registraionService.SaveRegistration(ddoRegistration); return new JsonResult(new { Msg = "success" }); } } catch (UserAlreadyExistsException ex) { this.logger.LogError(ex, "Error while creating DDO 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 DDO Registration."); this.Response.StatusCode = (int)HttpStatusCode.InternalServerError; return new JsonResult(new { Error = new { Message = "An unhandled error occured during request processing." } }); } }
public DDORegistration SaveRegistration(DDORegistrationModel registrationModel) { var userExist = this.userService.IsUserExists(registrationModel.EmailId); if (userExist) { throw new UserAlreadyExistsException($"User with email {registrationModel.EmailId} already exist."); } var ddoRegistration = new DDORegistration(); ddoRegistration.DepartmentID = registrationModel.DepartmentId; ddoRegistration.DistrictID = registrationModel.DistrictId; ddoRegistration.DesignationID = registrationModel.DesignationId; ddoRegistration.DDOCode = registrationModel.DDOCode; ddoRegistration.EmailID = registrationModel.EmailId; ddoRegistration.ContactNumber = registrationModel.ContactNumber; ddoRegistration.OfficeAddress1 = registrationModel.OfficeAddress1; ddoRegistration.OfficeAddress2 = registrationModel.OfficeAddress2; ddoRegistration.TINNumber = registrationModel.TINNumber; ddoRegistration.TANNumber = registrationModel.TANNumber; ddoRegistration.CreatedDate = DateTime.Now; ddoRegistration.IsApproved = false; var newRegistration = this.repository.CreateDDORegistration(ddoRegistration); var user = new User(); user.UserType = UserType.DDOUser; user.EmailID = registrationModel.EmailId; user.MobileNumber = registrationModel.ContactNumber; user.DepartmentID = registrationModel.DepartmentId; user.DistrictID = registrationModel.DistrictId; user.DesingationID = registrationModel.DesignationId; user.IsActive = false; this.userService.CreateUser(user, PasswordGenerator.GenerateRandomPassword(8)); return(newRegistration); }