public void RecalculateTotalPrice(Models.Enclosure enclosure) { const string updateEnclosure = "UPDATE Electric.Enclosure SET totalPrice = @totalPrice WHERE id = @enclosureID"; _database.Execute(updateEnclosure, new { enclosureID = enclosure.Id, totalPrice = CalculateTotalPrice(enclosure, null) }); }
private Models.Enclosure TransformDaoToBusinessLogicEnclosure(EnclosureDao enclosureDao) { var devices = _device.GetDevicesForEnclosure(enclosureDao.Id); var enclosure = new Models.Enclosure() { Id = enclosureDao.Id, Name = enclosureDao.Name, Date = enclosureDao.Date, ProjectId = enclosureDao.ProjectId, Devices = devices, TotalPrice = enclosureDao.TotalPrice, EnclosureSpecs = _enclosureSpecs.GetEnclosureSpecsByEnclosureId(enclosureDao.Id), }; return(enclosure); }
private float CalculateTotalPrice(Models.Enclosure enclosure, List <DeviceDto>?deviceWithPosition) { var totalPrice = new float(); var devices = _device.GetDevicesForEnclosure(enclosure.Id); if (deviceWithPosition == null) { devices.ForEach(el => totalPrice += el.Price); } else { deviceWithPosition.ForEach(el => totalPrice += el.Price); } return(totalPrice); }
public ActionResult <Models.Enclosure> UpdateEnclosure(int id, Models.Enclosure enclosureDao) { try { return(Ok(_enclosure.UpdateEnclosure(id, enclosureDao.Name, enclosureDao.EnclosureSpecs.Rows, enclosureDao.EnclosureSpecs.Columns))); } catch (EnclosureNotFoundException ex) { return(NotFound(ex.Message)); } catch (Exception ex) { _logger.LogError("Error", ex); return(BadRequest()); } }