public async Task <IActionResult> AddVehicleMasterAsync([FromBody] AddVehicleMasterManagementAc addVehicleMaster) { var user = await _userManager.FindByNameAsync(User.Identity.Name); return(Ok(await _vehicleMasterManagementRepository.AddVehicleMasterAsync(addVehicleMaster, user))); }
/// <summary> /// Method to add vehicle master - SS /// </summary> /// <param name="addVehicleMaster">vehicle detail</param> /// <param name="loggedInUser">logged in user</param> /// <returns>response</returns> public async Task <VehicleMasterManagementResponse> AddVehicleMasterAsync(AddVehicleMasterManagementAc addVehicleMaster, ApplicationUser loggedInUser) { if (string.IsNullOrEmpty(addVehicleMaster.VehicleCode) && string.IsNullOrEmpty(addVehicleMaster.VehicleCode.Trim())) { return new VehicleMasterManagementResponse() { HasError = true, Message = "Vehicle code can't be empty", ErrorType = VehicleMasterManagementResponseType.VehicleCode } } ; else if (string.IsNullOrEmpty(addVehicleMaster.VehicleType) && string.IsNullOrEmpty(addVehicleMaster.VehicleType.Trim())) { return new VehicleMasterManagementResponse() { HasError = true, Message = "Vehicle type can't be empty", ErrorType = VehicleMasterManagementResponseType.VehicleType } } ; else if (string.IsNullOrEmpty(addVehicleMaster.FuelType) && string.IsNullOrEmpty(addVehicleMaster.FuelType.Trim())) { return new VehicleMasterManagementResponse() { HasError = true, Message = "Fuel type can't be empty", ErrorType = VehicleMasterManagementResponseType.FuelType } } ; else if (string.IsNullOrEmpty(addVehicleMaster.VehicleRegistrationNumber) && string.IsNullOrEmpty(addVehicleMaster.VehicleRegistrationNumber.Trim())) { return new VehicleMasterManagementResponse() { HasError = true, Message = "Vehicle registration number can't be empty", ErrorType = VehicleMasterManagementResponseType.VehicleRegistrationNumber } } ; else if (string.IsNullOrEmpty(addVehicleMaster.EngineNumber) && string.IsNullOrEmpty(addVehicleMaster.EngineNumber.Trim())) { return new VehicleMasterManagementResponse() { HasError = true, Message = "Engine number can't be empty", ErrorType = VehicleMasterManagementResponseType.EngineNumber } } ; else { var instituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(loggedInUser.Id, true); if (await _iMSDbContext.VehicleMasters.AnyAsync(x => x.InstituteId == instituteId && x.VehicleCode.ToLowerInvariant() == addVehicleMaster.VehicleCode.ToLowerInvariant())) { return new VehicleMasterManagementResponse() { HasError = true, Message = "Vehicle code already exist. Please use unique one", ErrorType = VehicleMasterManagementResponseType.VehicleCode } } ; else { var vehicle = new VehicleMaster() { AverageKMPL = addVehicleMaster.AverageKMPL, ChasisNumber = addVehicleMaster.ChasisNumber, CreatedOn = DateTime.UtcNow, EngineNumber = addVehicleMaster.EngineNumber, ExtraFittings = addVehicleMaster.ExtraFittings, FitnessExpDate = addVehicleMaster.FitnessExpDate, FuelType = EnumHelperService.GetValueFromDescription <VehicleMasterFuelTypeEnum>(addVehicleMaster.FuelType), InstituteId = instituteId, InsuranceDate = addVehicleMaster.InsuranceDate, InsuranceExpDate = addVehicleMaster.InsuranceExpDate, InsuranceNumber = addVehicleMaster.InsuranceNumber, NextMaintenanceDate = addVehicleMaster.NextMaintenanceDate, PermitValidityDate = addVehicleMaster.PermitValidityDate, UpdatedById = loggedInUser.Id, UpdatedOn = DateTime.UtcNow, VehicleCode = addVehicleMaster.VehicleCode, VehicleRegistrationNumber = addVehicleMaster.VehicleRegistrationNumber, VehicleType = EnumHelperService.GetValueFromDescription <VehicleMasterTypeEnum>(addVehicleMaster.VehicleType) }; _iMSDbContext.VehicleMasters.Add(vehicle); await _iMSDbContext.SaveChangesAsync(); return(new VehicleMasterManagementResponse() { HasError = false, Message = "Vehicle added successfully", Data = new { Id = vehicle.Id } }); } } }