public int SaveEquipment(EquipmentGetRequestModel model) { var data = model.GetEquipment(); if (model.PhotoFileData != null) { if (model != null) { if (data.PictureName != null && data.PictureName.Length > 0) { string path = Path.Combine(Environment.CurrentDirectory, "images", data.PictureName); File.Delete(path); } } data.PictureName = UploadImageHelper.UploadFile(model.PhotoFileData); } var res = new Equipment { Id = data.Id, Title = data.Title, InventoryNumber = data.InventoryNumber, Destinations = data.Destinations, Year = data.Year, Zoom = data.Zoom, PowerVoltage = data.PowerVoltage, SafetyFuses = data.SafetyFuses, AmbientTemperature = data.AmbientTemperature, RelativeHumidity = data.RelativeHumidity, CertificateOfConformity = data.CertificateOfConformity, StateCheck = data.StateCheck, Passport = data.Passport, PictureName = data.PictureName, EquipmentStatusId = data.StatusId }; Db.Equipments.InsertOrUpdate(res); Db.Complete(); try { var tec = Db.Equipments.GetTechnicalMaintenancesByEquipmentId(res.Id); var empDel = tec.Where(t => !data.TechnicalMaintenances.Select(tm => tm.Id).Contains(t.Id)); var empIns = data.TechnicalMaintenances.Where(t => !tec.Select(tm => tm.Id).Contains(t.Id)); Db.EquipmentTechnicalMaintenances.RemoveRange(empDel); var tech = data.TechnicalMaintenances != null? data.TechnicalMaintenances.Select(tm => new EquipmentTechnicalMaintenance() { Id = tm.Id, EquipmentId = res.Id, StartDate = tm.StartDate, EndDate = tm.EndDate, Description = tm.Description, DescriptionAfterMaintenance = tm.DescriptionAfterMaintenance, ServicePassed = tm.ServicePassed }) : null; if (tech != null) { Db.EquipmentTechnicalMaintenances.InsertOrUpdateRange(tech); Db.Complete(); } } catch (Exception e) { Db.Dispose(); throw new Exception(e.Message); } return(res.Id); }
public IActionResult Save([FromForm] EquipmentGetRequestModel model) { var res = _equpmentService.SaveEquipment(model); return(Ok(res)); }