Beispiel #1
0
        private void ExecuteInsertRSMethod(object obj)
        {
            if (SelectedService == null)
            {
                MessageBox.Show("추가할 서비스를 선택해주세요.");
                return;
            }
            List <ReservedServiceVo> list = _reservedServiceRepository.GetReservedServices(SelectedRes.ResNum);

            if (list.FirstOrDefault(x => (x.SerId == SelectedService.ServiceId)) != null)
            {
                MessageBox.Show("이미 존재하는 서비스입니다.");
                return;
            }
            ReservedServiceVo rv = new ReservedServiceVo();

            rv.ResNum = SelectedRes.ResNum;
            rv.SerId  = SelectedService.ServiceId;
            ServiceVo s           = ServiceList.Single(x => x.ServiceId == rv.SerId);
            ushort    serviceTime = s.ServiceTime;

            if (HasReservations(SelectedRes.StylistId, SelectedRes.EndAt, SelectedRes.EndAt + new TimeSpan(serviceTime / 60, serviceTime % 60, 0)))
            {
                MessageBox.Show("이미 예약이 존재한 시간대입니다.");
                return;
            }
            _reservedServiceRepository.InsertReservedService(rv);
            ServiceCommands.Add(new DataCommandViewModel <ReservedServiceVo>(SelectedService.ServiceName, new Command(RemoveRS), rv));
            TimeSpan ts = new TimeSpan(SelectedService.ServiceTime / 60, SelectedService.ServiceTime % 60, 0);

            SelectedRes.EndAt = SelectedRes.EndAt + ts;
            _reservationRepository.UpdateReservation(SelectedRes);
        }
Beispiel #2
0
        private void onSelectedResChanged(uint resNum)
        {
            List <ReservedServiceVo> list = _reservedServiceRepository.GetReservedServices(resNum);

            ServiceCommands.Clear();
            foreach (var v in list)
            {
                string serviceName = ServiceList.Single(x => (x.ServiceId == v.SerId)).ServiceName;
                ServiceCommands.Add(new DataCommandViewModel <ReservedServiceVo>(serviceName, new Command(RemoveRS), v));
            }
        }
Beispiel #3
0
        private void RemoveRS(object obj)
        {
            ReservedServiceVo rsv = (ReservedServiceVo)obj;

            _reservedServiceRepository.RemoveReservedService(rsv.ResNum, rsv.SerId);
            ServiceCommands.Remove(ServiceCommands.Single(x => (x.Data == rsv)));

            ServiceVo     s  = ServiceList.Single(x => x.ServiceId == rsv.SerId);
            ReservationVo r  = ResList.Single(x => x.ResNum == rsv.ResNum);
            TimeSpan      ts = new TimeSpan(s.ServiceTime / 60, s.ServiceTime % 60, 0);

            r.EndAt = r.EndAt - ts;
            _reservationRepository.UpdateReservation(r);
        }
Beispiel #4
0
        private void ExecuteModifyMethod(object obj)
        {
            if (!Check(SelectedRes))
            {
                return;
            }

            int dayInterval  = (SelectedRes.StartAt.Date - formerDate.Date).Days;
            int hourInterval = SelectedRes.StartAt.Hour - formerDate.Hour;
            int minInterval  = SelectedRes.StartAt.Minute - formerDate.Minute;

            //SelectedRes.StartAt.AddDays(dayInterval);
            //SelectedRes.StartAt.AddHours(hourInterval);
            //SelectedRes.StartAt.AddMinutes(minInterval);

            SelectedRes.EndAt = SelectedRes.StartAt;
            int sumTime = 0;

            foreach (ReservedServiceVo rsv in ReservedServiceRepository.RSR.GetReservedServices(SelectedRes.ResNum))
            {
                sumTime += ServiceList.Single(x => x.ServiceId == rsv.SerId).ServiceTime;
            }

            DateTime endAt = new DateTime();//임시로 저장해놓은 endat;

            endAt = SelectedRes.EndAt.AddHours(sumTime / 60);
            endAt = endAt.AddMinutes(sumTime % 60);

            if (HasReservations(SelectedRes.StylistId, SelectedRes.StartAt, endAt))
            {
                MessageBox.Show("이미 예약이 존재한 시간입니다.");
                return;
            }

            //통과하면 실제 데이터에 적용
            SelectedRes.EndAt = SelectedRes.EndAt.AddHours(sumTime / 60);
            SelectedRes.EndAt = SelectedRes.EndAt.AddMinutes(sumTime % 60);
            _reservationRepository.UpdateReservation(SelectedRes);
        }