예제 #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);
        }
예제 #2
0
        public List <ServiceVo> GetServices()
        {
            List <ServiceVo> list = new List <ServiceVo>();

            _ds = new DataSet();



            MySqlDataAdapter adapter = new MySqlDataAdapter(_sql, _conn.Msc);

            adapter.Fill(_ds, "Service");

            foreach (DataRow r in _ds.Tables[0].Rows)
            {
                ServiceVo service = new ServiceVo();
                service.ServiceId          = (ushort)r["serviceId"];
                service.ServiceName        = r["serviceName"] as string;
                service.ServicePrice       = (uint)r["servicePrice"];
                service.ServiceTime        = (ushort)r["serviceTime"];
                service.ServiceDescription = r["serviceDescription"] as string;
                list.Add(service);
            }

            return(list);
        }
예제 #3
0
 private bool Check(ServiceVo sv)
 {
     if (sv.ServiceName != null && sv.ServiceDescription != null)
     {
         return(true);
     }
     MessageBox.Show("빈칸이 존재합니다.");
     return(false);
 }
예제 #4
0
 private void ExecuteDeleteMethod(object obj)
 {
     if (SelectedService.ServiceId == 0)
     {
         MessageBox.Show("서비스를 선택해주세요");
         return;
     }
     _serviceRepository.DeleteService(SelectedService.ServiceId);
     ServiceList.Remove(SelectedService);
     SelectedService = new ServiceVo();
 }
예제 #5
0
        public ServiceViewModel()
        {
            _serviceRepository = ServiceRepository.SR;

            _selectedService           = new ServiceVo();
            _selectedService.ServiceId = 0;
            ServiceList = new ObservableCollection <ServiceVo>(_serviceRepository.GetServicesFromLocal());

            InsertCommand    = new Command(ExecuteInsertMethod, CanExecuteMethod);
            ModifyCommand    = new Command(ExecuteModifyMethod, CanExecuteMethod);
            DeleteCommand    = new Command(ExecuteDeleteMethod, CanExecuteMethod);
            InitalizeCommand = new Command(ExecuteInitalizeMethod, CanExecuteMethod);
        }
예제 #6
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);
        }
예제 #7
0
 private void ExecuteInsertMethod(object obj)
 {
     if (!Check(SelectedService))
     {
         return;
     }
     else
     {
         _serviceRepository.InsertService(SelectedService);
         ServiceList.Add(SelectedService);
         ServiceList     = new ObservableCollection <ServiceVo>(_serviceRepository.GetServices());
         SelectedService = new ServiceVo();
     }
 }
예제 #8
0
        public bool UpdateService(ServiceVo s)
        {
            MySqlDataAdapter adapter = new MySqlDataAdapter(_sql, _conn.Msc);

            DataTable table = _ds.Tables[0];

            DataRow row = table.Select().Single(x => (ushort)x["serviceId"] == s.ServiceId);

            row["serviceName"]        = s.ServiceName;
            row["servicePrice"]       = s.ServicePrice;
            row["serviceTime"]        = s.ServiceTime;
            row["serviceDescription"] = s.ServiceDescription;

            if (Save(adapter) == -1)
            {
                return(false);
            }
            return(true);
        }
예제 #9
0
        public bool InsertService(ServiceVo s)
        {
            MySqlDataAdapter adapter = new MySqlDataAdapter(_sql, _conn.Msc);

            DataTable table = _ds.Tables[0];

            DataRow row = table.NewRow();

            row["serviceId"]          = s.ServiceId;
            row["serviceName"]        = s.ServiceName;
            row["servicePrice"]       = s.ServicePrice;
            row["serviceTime"]        = s.ServiceTime;
            row["serviceDescription"] = s.ServiceDescription;

            table.Rows.Add(row);

            if (Save(adapter) == -1)
            {
                return(false);
            }
            return(true);
        }
예제 #10
0
 private void ExecuteInitalizeMethod(object obj)
 {
     SelectedService = new ServiceVo();
     IsSelected      = true;
 }