Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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) {
                    }
                }
            }
        }