Ejemplo n.º 1
0
 public object Update(ApplicationUser user, RegisterDriverRequest model)
 {
     try
     {
         Driver driver = carpoolDb.Drivers.FirstOrDefault(c => c.ApplicationUserId.Equals(user.Id));
         if (driver.CarRegistrationNumber == model.RegistrationNo)
         {
             if (driver != null)
             {
                 driver.License = model.LicenseNo;
                 Car car = carpoolDb.Cars.FirstOrDefault(c => c.RegistrationNumber.Equals(driver.CarRegistrationNumber));
                 if (car == null || driver.CarRegistrationNumber == model.RegistrationNo)
                 {
                     driver.CarRegistrationNumber = model.RegistrationNo;
                     car.RegistrationNumber       = model.RegistrationNo;
                     car.Manufacturer             = model.CarManufacturer;
                     car.Model = model.CarModel;
                     car.Year  = model.YearOfManufacture;
                     carpoolDb.Cars.Update(car);
                 }
                 else
                 {
                     return(new
                     {
                         error = "Car already registered by another User"
                     });
                 }
             }
             else
             {
                 Car car = new Car()
                 {
                     RegistrationNumber = model.RegistrationNo,
                     Manufacturer       = model.CarManufacturer,
                     Model = model.CarModel,
                     Year  = model.YearOfManufacture
                 };
                 driver = new Driver()
                 {
                     Id = user.Id,
                     ApplicationUserId     = user.Id,
                     License               = model.LicenseNo,
                     CarRegistrationNumber = car.RegistrationNumber
                 };
                 carpoolDb.Drivers.Add(driver);
                 carpoolDb.Cars.Add(car);
             }
         }
         carpoolDb.Drivers.Update(driver);
         carpoolDb.SaveChanges();
         object driverDetails = this.GetDetails(user);
         return(driverDetails);
     }
     catch (Exception e)
     {
         return(null);
     }
 }
Ejemplo n.º 2
0
 public string RegisterDriver(RegisterDriverRequest model, ApplicationUser user)
 {
     try
     {
         Car car = new Car()
         {
             RegistrationNumber = model.RegistrationNo,
             Manufacturer       = model.CarManufacturer,
             Model = model.CarModel,
             Year  = model.YearOfManufacture
         };
         Promotion promotion = new Promotion()
         {
             Id       = HelperService.GenerateId("PRO"),
             Distance = 0,
             Discount = 0
         };
         carpoolDb.SaveChanges();
         Driver driver = new Driver()
         {
             Id = user.Id,
             ApplicationUserId     = user.Id,
             License               = model.LicenseNo,
             CarRegistrationNumber = car.RegistrationNumber,
             PromotionId           = promotion.Id
         };
         carpoolDb.Cars.Add(car);
         carpoolDb.Promotions.Add(promotion);
         carpoolDb.Drivers.Add(driver);
         carpoolDb.SaveChanges();
         return("Ok");
     }
     catch (Exception e)
     {
         Car    carCheck    = carpoolDb.Cars.FirstOrDefault(c => c.RegistrationNumber.Equals(model.RegistrationNo));
         Driver driverCheck = carpoolDb.Drivers.FirstOrDefault(c => c.License.Equals(model.LicenseNo));
         if (carCheck != null)
         {
             return("Car is already being used by another Account");
         }
         else if (driverCheck != null)
         {
             return("License is already being used by another Account");
         }
         else
         {
             return(e.Message);
         }
     }
 }
Ejemplo n.º 3
0
        public IActionResult RegisterDriver([FromBody] RegisterDriverRequest model)
        {
            if (model == null)
            {
                BadRequest("invalid object");
            }
            string          email  = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
            ApplicationUser user   = context.ApplicationUsers.FirstOrDefault(c => c.Email.Equals(email));
            string          result = IDriverService.RegisterDriver(model, user);

            if (result == "Ok")
            {
                return(Ok(new
                {
                    status = 200,
                    message = "Driver Registered Succesfully."
                }));
            }
            return(BadRequest(new
            {
                error = result
            }));
        }
Ejemplo n.º 4
0
        public IActionResult Update(RegisterDriverRequest model)
        {
            if (model == null)
            {
                return(BadRequest("Invalid Object"));
            }
            string          email         = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
            ApplicationUser user          = context.ApplicationUsers.FirstOrDefault(c => c.Email.Equals(email));
            object          driverDetails = IDriverService.Update(user, model);

            if (driverDetails != null)
            {
                return(Ok(new
                {
                    status = 200,
                    driver = driverDetails
                }));
            }
            return(BadRequest(new
            {
                error = "Unable to update Driver Details."
            }));
        }