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); } }
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); } } }
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 })); }
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." })); }