public async Task <DriverRegisterRes> CreateDriver(DriverRegisterReq request)
 {
     try
     {
         if (request != null)
         {
             return(await driverRepository.CreateDriver(request));
         }
         return(new DriverRegisterRes()
         {
             Id = "",
             Message = "Something went wrong please try again"
         });
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #2
0
        public async Task <DriverRegisterRes> CreateDriver(DriverRegisterReq request)
        {
            try
            {
                var driver = new AppIdentityUser()
                {
                    Email                = request.Email,
                    UserName             = request.Email,
                    PhoneNumber          = request.PhoneNumber,
                    Fullname             = request.Fullname,
                    Avatar               = request.Avatar,
                    IdentityCardNumber   = request.IdentityCardNumber,
                    DrivingLicenseNumber = request.DrivingLicenseNumber,
                    WardId               = request.Ward,
                    DistrictId           = request.District,
                    ProvinceId           = request.Province,
                    CountryId            = request.Country,
                    JoinDate             = DateTime.Now,
                    Address              = request.Address
                };
                var result = await userManager.CreateAsync(driver, request.Password);

                if (result.Succeeded)
                {
                    DynamicParameters parameters = new DynamicParameters();
                    parameters.Add("@UserId", driver.Id);
                    parameters.Add("@RoleId", "2");
                    var newDriver = await SqlMapper.QueryFirstAsync <DriverRegisterRes>(
                        cnn : connection,
                        sql : "sp_AddRoleToUser",
                        param : parameters,
                        commandType : CommandType.StoredProcedure);

                    if (newDriver.Message == "Successful!")
                    {
                        DynamicParameters paras = new DynamicParameters();
                        paras.Add("@DriverId", driver.Id);
                        paras.Add("@VehicleRegistrationCertificateNumber", request.Vehicle.VehicleRegistrationCertificateNumber);
                        paras.Add("@Brand", request.Vehicle.Brand);
                        paras.Add("@Color", request.Vehicle.Color);
                        paras.Add("@NumberPlate", request.Vehicle.NumberPlate);
                        var vehicle = await SqlMapper.QueryFirstAsync <bool>(
                            cnn : connection,
                            sql : "[dbo].[sp_AddDriverVehicle]",
                            param : paras,
                            commandType : CommandType.StoredProcedure);

                        if (vehicle)
                        {
                            return(newDriver);
                        }
                        return(new DriverRegisterRes()
                        {
                            Id = "",
                            Message = "Phương tiện này đã đăng ký"
                        });
                    }
                }
                return(new DriverRegisterRes()
                {
                    Id = "",
                    Message = "Không thể đăng ký, xin hãy thử lại"
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #3
0
 public async Task <IActionResult> CreateDriver(DriverRegisterReq req)
 {
     return(Ok(await driverService.CreateDriver(req)));
 }