added method to requisiton supplies.
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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 }; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
7
Models/Supply/SupplyUsage.cs
Normal file
7
Models/Supply/SupplyUsage.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace CarCareTracker.Models
|
||||||
|
{
|
||||||
|
public class SupplyUsage {
|
||||||
|
public int SupplyId { get; set; }
|
||||||
|
public decimal Quantity { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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)
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
$('#serviceRecordCost').val(selectedSupplyResult.totalSum);
|
$('#serviceRecordCost').val(selectedSupplyResult.totalSum);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
selectedSupplies = getSuppliesAndQuantity().selectedSupplies;
|
||||||
hideSuppliesModal();
|
hideSuppliesModal();
|
||||||
}
|
}
|
||||||
function hideParentModal(){
|
function hideParentModal(){
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ function getAndValidateServiceRecordValues() {
|
|||||||
cost: serviceCost,
|
cost: serviceCost,
|
||||||
notes: serviceNotes,
|
notes: serviceNotes,
|
||||||
files: uploadedFiles,
|
files: uploadedFiles,
|
||||||
|
supplies: selectedSupplies,
|
||||||
addReminderRecord: addReminderRecord
|
addReminderRecord: addReminderRecord
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user