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." } });
     }
 }
Ejemplo n.º 2
0
        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);
        }