public void Add(EventDm obj) { var dto = obj.ToDbDto(); EventDataMapper.Instance.Insert(dto); // push new event into db // create registration for all children var children = ChildDataMapper.Instance.SelectAll(); foreach (var c in children) { RegistrationDataMapper.Instance.Insert(new RegistrationDbDto { ChildId = c.Id, EventId = obj.Id }); } // Reserve small aid kit var res = new ReservationDbDto(); res.EventId = dto.Id; res.ItemId = ItemDataMapper.Instance.SelectSmallAidKit(dto); // throws EntityNotFoundException ReservationDataMapper.Instance.Insert(res); }
public void Update(RegistrationDm obj) { RegistrationDataMapper.Instance.Update(obj.ToDbDto()); var regs = GetByEvent(new EventDm { Id = obj.EventId }).Where(r => r.Accepted).ToArray(); if (regs.Length == 2) { var e = EventDataMapper.Instance.SelectById(obj.EventId); if (obj.Accepted) { try { // reservation var aidKitRes = new ReservationDbDto(); aidKitRes.EventId = obj.EventId; aidKitRes.ItemId = ItemDataMapper.Instance.SelectBigAidKit(e); ReservationDataMapper.Instance.Insert(aidKitRes); // TODO free small aid kit var reses = ReservationDataMapper.Instance.SelectAll(); foreach (var r in reses) { var item = ItemDataMapper.Instance.SelectById(r.ItemId); if (item.AidKit == 'S') { ReservationDataMapper.Instance.Delete(r); break; } } } catch (EntityNotFoundException) { } } } if (regs.Length == 1) { var e = EventDataMapper.Instance.SelectById(obj.EventId); if (!obj.Accepted) { try { var aidKitRes = new ReservationDbDto(); aidKitRes.EventId = obj.EventId; aidKitRes.ItemId = ItemDataMapper.Instance.SelectSmallAidKit(e); ReservationDataMapper.Instance.Insert(aidKitRes); // TODO free big aid kit var reses = ReservationDataMapper.Instance.SelectAll(); foreach (var r in reses) { var item = ItemDataMapper.Instance.SelectById(r.ItemId); if (item.AidKit == 'B') { ReservationDataMapper.Instance.Delete(r); break; } } } catch (EntityNotFoundException) { } } } }