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." } }));
     }
 }
示例#2
0
        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);
        }