コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }