public void Update2(ApplyForVehicleMaintenanceUpdateDto input) { var item = this._applyForVehicleMaintenanceRepository.Get(input.Id); if (item == null) { throw new UserFriendlyException("车辆送修申请单不能为空"); } item.Status = VehicleMaintenanceStatus.Serviced; item.TotalPrice = input.Total; foreach (var r1 in input.ManHour) { var r = this._manHourRepository.FirstOrDefault(r1.RowId.Value); if (r != null) { r.Hours2 = r1.Hours2.Value; this._manHourRepository.Update(r); } } foreach (var r2 in input.Materials) { var r = this._servicingMaterialRepository.FirstOrDefault(r2.RowId.Value); if (r != null) { r.Amount2 = r2.Amount2.Value; this._servicingMaterialRepository.Update(r); } } this._applyForVehicleMaintenanceRepository.Update(item); this._repairCostRepository.Insert(new RepairCost() { ApplyForVehicleMaintenanceId = item.Id, Category = item.RepairType, Cost = input.Total, Year = item.CreationTime.Year }); var repairTimes = this._carRepairTimeRepository .GetAllList(r => r.ApplyForVehicleMaintenanceId == item.Id); foreach (var repairTime in repairTimes) { repairTime.DateTo = DateTime.Today; repairTime.Hours = item.ManHours .First(r => r.PartId == repairTime.PartId && r.ManHourId == repairTime.ManHourId).Hours2; this._carRepairTimeRepository.Update(repairTime); } }
public void Update(ApplyForVehicleMaintenanceUpdateDto input) { var item = this._applyForVehicleMaintenanceRepository.Get(input.Id); if (item == null) { throw new UserFriendlyException("车辆送修申请单不能为空"); } this._maintenanceDeliveryRepository.Delete(r => r.ApplyForVehicleMaintenanceId == item.Id); this._manHourRepository.Delete(r => r.ApplyForVehicleMaintenanceId == item.Id); this._servicingMaterialRepository.Delete(r => r.ApplyForVehicleMaintenanceId == item.Id); item.Status = VehicleMaintenanceStatus.Servicing; var manHours = input.ManHour.MapTo <List <ManHour> >(); manHours.ForEach(r => r.ApplyForVehicleMaintenanceId = item.Id); var servicingMaterials = input.Materials.MapTo <List <ServicingMaterial> >(); servicingMaterials.ForEach(r => r.ApplyForVehicleMaintenanceId = item.Id); var maintenanceDeliveries = input.Deliveries.MapTo <List <MaintenanceDelivery> >(); maintenanceDeliveries.ForEach(r => r.ApplyForVehicleMaintenanceId = item.Id); this._maintenanceDeliveryRepository.InsertRange(maintenanceDeliveries); this._manHourRepository.InsertRange(manHours); this._servicingMaterialRepository.InsertRange(servicingMaterials); this._applyForVehicleMaintenanceRepository.Update(item); var repairTimes = new List <CarRepairTime>(); foreach (var m in input.ManHour) { var repair = new CarRepairTime() { ApplyForVehicleMaintenanceId = item.Id, CatInfoId = item.CarInfoId, PartId = m.PartId, DateFrom = item.LastModificationTime.Value, ManHourId = m.ManHourId, ServiceDepotId = item.ServiceDepotId }; repairTimes.Add(repair); } this._carRepairTimeRepository.InsertRange(repairTimes); }