/// <summary> /// Saves a Equipment Combo Entity in the Database /// </summary> /// <param name="equipmentCombo">New Equipment Combo Entity</param> /// <param name="equipmentList">Equipments inside Combo</param> /// <param name="username">Username that is executing the method</param> public void SaveCombo(CS_EquipmentCombo equipmentCombo, IList<EquipmentComboVO> equipmentList, string username) { if (null == equipmentCombo) throw new Exception("The Equipment Combo object is null!"); using (TransactionScope scope = new TransactionScope()) { try { equipmentCombo.CreatedBy = username; equipmentCombo.CreationDate = DateTime.Now; equipmentCombo.ModifiedBy = username; equipmentCombo.ModificationDate = DateTime.Now; equipmentCombo.Active = true; equipmentCombo = _equipmentComboRepository.Add(equipmentCombo); } catch (Exception ex) { throw new Exception("Error while trying to save Combo information!", ex); } try { if (null != equipmentList) { for (int i = 0; i < equipmentList.Count; i++) { equipmentList[i].ComboId = equipmentCombo.ID; UpdateEquipmentCombo(equipmentList[i].EquipmentId, equipmentCombo.ID, username); } } } catch (Exception ex) { throw new Exception("Error while trying to save Equipment Combo information!", ex); } scope.Complete(); } }
/// <summary> /// Updates a Equipment Combo Entity in the Database /// </summary> /// <param name="equipmentCombo">Equipment Combo Entity</param> /// <param name="equipmentList">Equipments inside Combo</param> /// <param name="username">Username that is executing the method</param> public void UpdateCombo(CS_EquipmentCombo equipmentCombo, IList<EquipmentComboVO> equipmentList, string username) { if (null == equipmentCombo) throw new Exception("The Equipment Combo object is null!"); using (TransactionScope scope = new TransactionScope()) { try { equipmentCombo.ModifiedBy = username; equipmentCombo.ModificationDate = DateTime.Now; equipmentCombo.Active = true; equipmentCombo = _equipmentComboRepository.Update(equipmentCombo); } catch (Exception ex) { throw new Exception("Error while trying to save Combo information!", ex); } try { if (null != equipmentList) { List<EquipmentComboVO> oldList = ListEquipmentsOfACombo(equipmentCombo.ID); List<EquipmentComboVO> removedList = oldList.Where(e => !equipmentList.Any(f => f.EquipmentId == e.EquipmentId)).ToList(); List<EquipmentComboVO> addedList = equipmentList.Where(e => !oldList.Any(f => f.EquipmentId == e.EquipmentId)).ToList(); for (int i = 0; i < addedList.Count; i++) UpdateEquipmentCombo(addedList[i].EquipmentId, equipmentCombo.ID, username); for (int i = 0; i < removedList.Count; i++) UpdateEquipmentCombo(removedList[i].EquipmentId, null, username); } } catch (Exception ex) { throw new Exception("Error while trying to save Equipment Combo information!", ex); } scope.Complete(); } }
/// <summary> /// Saves or Updates a Combo /// </summary> public void SaveEquipmentCombo() { if (_view.EquipmentComboId.HasValue) { CS_EquipmentCombo combo = _equipmentModel.GetCombo(_view.EquipmentComboId.Value); if (null != combo) { combo.Name = _view.ComboName; combo.ComboType = _view.ComboType; combo.PrimaryEquipmentID = _view.PrimaryEquipmentId; _equipmentModel.UpdateCombo(combo, _view.EquipmentInfoShoppingCartDataSource, _view.UserName); _view.EquipmentInfoShoppingCartDataSource = _equipmentModel.ListEquipmentsOfACombo(combo.ID); } } else { CS_EquipmentCombo combo = new CS_EquipmentCombo(); combo.Name = _view.ComboName; combo.ComboType = _view.ComboType; combo.PrimaryEquipmentID = _view.PrimaryEquipmentId; _equipmentModel.SaveCombo(combo, _view.EquipmentInfoShoppingCartDataSource, _view.UserName); _view.EquipmentComboId = combo.ID; _view.EquipmentInfoShoppingCartDataSource = _equipmentModel.ListEquipmentsOfACombo(combo.ID); } }