added method to requisiton supplies.

This commit is contained in:
DESKTOP-T0O5CDB\DESK-555BD
2024-01-22 11:47:53 -07:00
parent 175ce2be48
commit 4ec11a47a1
6 changed files with 34 additions and 1 deletions

View File

@@ -615,6 +615,10 @@ namespace CarCareTracker.Controllers
//move files from temp. //move files from temp.
serviceRecord.Files = serviceRecord.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList(); serviceRecord.Files = serviceRecord.Files.Select(x => { return new UploadedFiles { Name = x.Name, Location = _fileHelper.MoveFileFromTemp(x.Location, "documents/") }; }).ToList();
var result = _serviceRecordDataAccess.SaveServiceRecordToVehicle(serviceRecord.ToServiceRecord()); var result = _serviceRecordDataAccess.SaveServiceRecordToVehicle(serviceRecord.ToServiceRecord());
if (result)
{
RequisitionSupplyRecordsByUsage(serviceRecord.Supplies);
}
return Json(result); return Json(result);
} }
[HttpGet] [HttpGet]
@@ -1237,6 +1241,21 @@ namespace CarCareTracker.Controllers
} }
#endregion #endregion
#region "Supply Records" #region "Supply Records"
private void RequisitionSupplyRecordsByUsage(List<SupplyUsage> supplyUsage)
{
foreach(SupplyUsage supply in supplyUsage)
{
//get supply record.
var result = _supplyRecordDataAccess.GetSupplyRecordById(supply.SupplyId);
var unitCost = (result.Quantity != 0 ) ? result.Cost / result.Quantity : 0;
//deduct quantity used.
result.Quantity -= supply.Quantity;
//deduct cost.
result.Cost -= (supply.Quantity * unitCost);
//save
_supplyRecordDataAccess.SaveSupplyRecordToVehicle(result);
}
}
[TypeFilter(typeof(CollaboratorFilter))] [TypeFilter(typeof(CollaboratorFilter))]
[HttpGet] [HttpGet]
public IActionResult GetSupplyRecordsByVehicleId(int vehicleId) public IActionResult GetSupplyRecordsByVehicleId(int vehicleId)

View File

@@ -10,6 +10,7 @@
public decimal Cost { get; set; } public decimal Cost { get; set; }
public string Notes { get; set; } public string Notes { get; set; }
public List<UploadedFiles> Files { get; set; } = new List<UploadedFiles>(); public List<UploadedFiles> Files { get; set; } = new List<UploadedFiles>();
public List<SupplyUsage> Supplies { get; set; } = new List<SupplyUsage>();
public ServiceRecord ToServiceRecord() { return new ServiceRecord { Id = Id, VehicleId = VehicleId, Date = DateTime.Parse(Date), Cost = Cost, Mileage = Mileage, Description = Description, Notes = Notes, Files = Files }; } public ServiceRecord ToServiceRecord() { return new ServiceRecord { Id = Id, VehicleId = VehicleId, Date = DateTime.Parse(Date), Cost = Cost, Mileage = Mileage, Description = Description, Notes = Notes, Files = Files }; }
} }
} }

View File

@@ -0,0 +1,7 @@
namespace CarCareTracker.Models
{
public class SupplyUsage {
public int SupplyId { get; set; }
public decimal Quantity { get; set; }
}
}

View File

@@ -23,7 +23,10 @@
<input type="text" id="serviceRecordDescription" class="form-control" placeholder="Description of item(s) serviced(i.e. Oil Change)" value="@Model.Description"> <input type="text" id="serviceRecordDescription" class="form-control" placeholder="Description of item(s) serviced(i.e. Oil Change)" value="@Model.Description">
<label for="serviceRecordCost">Cost</label> <label for="serviceRecordCost">Cost</label>
<input type="text" id="serviceRecordCost" class="form-control" placeholder="Cost of the service" value="@(isNew ? "" : Model.Cost)"> <input type="text" id="serviceRecordCost" class="form-control" placeholder="Cost of the service" value="@(isNew ? "" : Model.Cost)">
@await Html.PartialAsync("_SupplyStore", "ServiceRecord") @if (isNew)
{
@await Html.PartialAsync("_SupplyStore", "ServiceRecord")
}
</div> </div>
<div class="col-md-6 col-12"> <div class="col-md-6 col-12">
<label for="serviceRecordNotes">Notes(optional)</label> <label for="serviceRecordNotes">Notes(optional)</label>
@@ -72,6 +75,7 @@
</div> </div>
<script> <script>
var uploadedFiles = []; var uploadedFiles = [];
var selectedSupplies = [];
getUploadedFilesFromModel(); getUploadedFilesFromModel();
function getUploadedFilesFromModel() { function getUploadedFilesFromModel() {
@foreach (UploadedFiles filesUploaded in Model.Files) @foreach (UploadedFiles filesUploaded in Model.Files)

View File

@@ -16,6 +16,7 @@
$('#serviceRecordCost').val(selectedSupplyResult.totalSum); $('#serviceRecordCost').val(selectedSupplyResult.totalSum);
break; break;
} }
selectedSupplies = getSuppliesAndQuantity().selectedSupplies;
hideSuppliesModal(); hideSuppliesModal();
} }
function hideParentModal(){ function hideParentModal(){

View File

@@ -114,6 +114,7 @@ function getAndValidateServiceRecordValues() {
cost: serviceCost, cost: serviceCost,
notes: serviceNotes, notes: serviceNotes,
files: uploadedFiles, files: uploadedFiles,
supplies: selectedSupplies,
addReminderRecord: addReminderRecord addReminderRecord: addReminderRecord
} }
} }