public Object DeleteSchedule(int scheduleid)
        {
            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null || (!payload.rol.Contains(3) && !payload.rol.Contains(6)))
            {
                return(new { result = false, info = "Não autorizado." });
            }
            if (BSchedule.DeleteSchedule(scheduleid, payload.aud))
            {
                return(new { result = true });
            }
            return(new { result = false, info = "Não foi possível eliminar aula." });
        }
        public Object PutSchedule([FromBody] TblSchedules schedule)
        {
            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null || (!payload.rol.Contains(3) && !payload.rol.Contains(6)))
            {
                return(new { result = false, info = "Não autorizado." });
            }
            if (BSchedule.EditSchedule(schedule, payload.aud))
            {
                return(new { result = true });
            }
            return(new { result = false, info = "Não foi possível alterar dados da aula." });
        }
        public Object PostSchedule([FromBody] TblSchedules schedule)
        {
            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null || (!payload.rol.Contains(3) && !payload.rol.Contains(6)))
            {
                return(new { result = false, info = "Não autorizado." });
            }
            if (BSchedule.CreateSchedule(schedule))
            {
                return(new { result = true });
            }
            return(new { result = false, info = "Não foi possível registar a aula." });
        }
        public Object GetScheduleByRoom(int roomid)
        {
            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null || (!payload.rol.Contains(3) && !payload.rol.Contains(6)))
            {
                return(new { result = false, info = "Não autorizado." });
            }

            var schedule = BSchedule.GetScheduleByRoom(roomid);

            if (schedule == null)
            {
                return(new { result = false, info = "Aulas não encontradas." });
            }

            return(new { result = true, data = schedule });
        }
        public Object ScheduleByClass(int classid)
        {
            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null || payload.rol.Contains(4) ||
                ((payload.rol.Contains(1) || payload.rol.Contains(5)) && !payload.cla.Contains(classid)))
            {
                return(new { result = false, info = "Não autorizado." });
            }

            var schedule = BSchedule.GetScheduleByClass(classid);

            if (schedule == null)
            {
                return(new { result = false, info = "Aulas não encontradas." });
            }

            return(new { result = true, data = schedule });
        }
        public Object GetSchedule(int scheduleid)
        {
            var schedule = BSchedule.GetSchedule(scheduleid);

            if (schedule == null)
            {
                return(new { result = false, info = "Aula não encontrada." });
            }

            Payload payload = BAccount.ConfirmToken(this.Request);

            if (payload == null || payload.rol.Contains(4) ||
                ((!payload.rol.Contains(3) && !payload.rol.Contains(6)) && !payload.cla.Contains((schedule.ClassFK) ?? default(int))))
            {
                return(new { result = false, info = "Não autorizado." });
            }

            return(new { result = true, data = schedule });
        }
        /// <summary>
        /// @author : khoaht
        /// @createDate:28/05/2008
        /// @description : Save all
        /// </summary>
        private void AddAllScheduleWorkstation()
        {
            BSchedule schedule = new BSchedule();
            if (listWorkstationAdded.Items.Count > 0)
            {
                scheduleWorkstation = new ScheduleWorkstation[listWorkstationAdded.Items.Count];
                InitScheduleWorkstation();
                // Remove older
                if (update)
                {
                    if (_dsWorksationNeed.Tables[0].Rows.Count > 0)
                    {
                        ScheduleWorkstation[] olderRemove = new ScheduleWorkstation[_dsWorksationNeed.Tables[0].Rows.Count];
                        int index = 0;
                        foreach (DataRow row in _dsWorksationNeed.Tables[0].Rows)
                            olderRemove[index++] = new ScheduleWorkstation(this.scheduleId, (int)row["WORKSTATION_ID"]);
                        schedule.Delete(olderRemove);
                    }
                }
                schedule.AddGroupd(scheduleWorkstation);
            }
            else if (update)
            {

                // Remove older
                if (_dsWorksationNeed.Tables[0].Rows.Count > 0)
                {
                    ScheduleWorkstation[] olderRemove = new ScheduleWorkstation[_dsWorksationNeed.Tables[0].Rows.Count];
                    int index = 0;
                    foreach (DataRow row in _dsWorksationNeed.Tables[0].Rows)
                        olderRemove[index++] = new ScheduleWorkstation(this.scheduleId, (int)row["WORKSTATION_ID"]);
                    schedule.Delete(olderRemove);
                }
            }
        }
 /// <summary>
 /// @author : khoaht
 /// @createDate:28/04/2008
 /// @description : UpdateSchedule
 /// </summary>
 private void UpdateSchedule()
 {
     try
     {
         schedule.ClipId = this.clipId;
         //schedule.Price = Qtc.Libs.Util.ExFormatInfo.DeDecimalFormat("PRICE", txtPrice.Text, (IFormatProvider)this);
         schedule.Price = CONFIG.getDecimalValue(txtPrice.Text);
         schedule.Freq = byte.Parse(txtFreq.Text);
         schedule.Status = (byte)1;
         schedule.FromDate = GetDateTime(dteFromDate.Value);
         schedule.ToDate = GetDateTime(dteToDate.Value);
         BSchedule bschedule = new BSchedule();
         if (MsgBoxVN.ShowDlgMsg("Bạn chắc là sẽ cập nhật",IconStyle.Question,new string[]{"&Có","&Không"}, "Thông báo",1)==0)
         {
             if(bschedule.Update(schedule))
             {
                 frmSchedule.UpdateGrid(schedule);
                 SaveScheduleWorkstations(bschedule,schedule);
             }
             Close();
         }
     }
     catch (Exception exp)
     {
         MsgBoxVN.ShowError(exp.Message,Dic.STRING_WARNING);
     }
 }
 /// <summary>
 /// @author : khoaht
 /// @createDate:28/04/2008
 /// @modifiedDate:28/04/2008
 /// @description : Save schedule workstation
 /// </summary>
 private void SaveScheduleWorkstations(BSchedule bsch,Schedule sch)
 {
     bool RemoveAll=true;
     if(scheduleWorkstation!=null)
     {
         for (int i = 0; i < scheduleWorkstation.Length; i++)
            if(scheduleWorkstation[i]!=null)
            {
                scheduleWorkstation[i].ScheduleId = sch.ScheduleId;
                RemoveAll=false;
            }
         bsch.AddGroupd(scheduleWorkstation);
     }
     if(RemoveAll)// Must sure the schedule of all workstations are removed
     {
        bsch.DeleteScheduleFromWorkstatoins(sch);
     }
 }
 /// <summary>
 /// @author : khoaht
 /// @createDate:28/04/2008
 /// @description : Load update
 /// </summary>
 private void LoadUpdate()
 {
     bschedule = new BSchedule();
     schedule = bschedule.GetSchedule(scheduleId);
     BClip bc = new BClip(this.clipId);
     txtClip.Text = bc.clip.Name;
     txtPrice.Text = String.Format("{0:#,###}", (Decimal)schedule.Price);
     txtFreq.Text = schedule.Freq.ToString();
     dteFromDate.Value = schedule.FromDate;
     dteToDate.Value = schedule.ToDate;
 }
        /// <summary>
        /// @author : khoaht
        /// @createDate:28/04/2008
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void listWorkstationAdded_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Khong tu luu khi them moi
            if(update==false)
                return;
            // Danh sach rong
            if (listWorkstationAdded.Items.Count <= 0 || listWorkstationAdded.SelectedIndex==-1)
                return;
            DataRowView drv = (DataRowView)listWorkstationAdded.Items[listWorkstationAdded.SelectedIndex];
            int workstationId = (int)drv.Row[0];

               // SET ADVANCE SCHEDULE
            try
            {
                ScheduleWorkstation sw = new BSchedule().GetScheduleWorkstation(scheduleId, workstationId);
                // Load advance schedule
                LoadAdvanceSchedule(sw.PatternItem);

            }
            catch (Exception exp)
            {
                Console.WriteLine(exp.Message);
            }
        }
 /// <summary>
 /// @author : khoaht
 /// @createDate:28/04/2008
 /// @description : Create new Schedule
 /// </summary>
 private void CreateNewSchedule()
 {
     BSchedule bSchedule = new BSchedule();
     Schedule schedule = new Schedule();
     schedule.ClipId = clipId;
     schedule.FromDate = GetDateTime(dteFromDate.Value);
     schedule.ToDate = GetDateTime(dteToDate.Value); ;
     schedule.Price = Convert.ToDecimal(txtPrice.Text.Trim());
     schedule.Freq = byte.Parse(txtFreq.Text);
     schedule.Status = 1;
     scheduleId = schedule.ScheduleId = bSchedule.Add(schedule);
     SaveScheduleWorkstations(bSchedule,schedule);
     // Add to Grid
     frmSchedule.AddToGrid(schedule);
     // Clear field
     ClearFields();
 }
 /// <summary>
 /// @author : khoaht
 /// @createDate:28/04/2008
 /// @description : UpdateSchedule
 /// </summary>
 private void UpdateSchedule()
 {
     try
     {
         schedule.ClipId = this.clipId;
         schedule.Price = CONFIG.getDecimalValue(txtPrice.Text);
         schedule.Freq = byte.Parse(txtFreq.Text);
         schedule.Status = (byte)1;
         schedule.FromDate = GetDateTime(dteFromDate.Value);
         schedule.ToDate = GetDateTime(dteToDate.Value);
         BSchedule bschedule = new BSchedule();
         if (MsgBoxVN.ShowDlgMsg(Dic.STRING_CONFIRM_UPDATE,IconStyle.Question,new string[]{"&Có","&Không"}, "Thông báo",1)==0)
         {
             if (bschedule.Update(schedule))
             {
                 SaveScheduleWorkstations();
                 frmSchedule.UpdateGrid(schedule);
             }
             Close();
         }
     }
     catch (Exception exp)
     {
         MsgBoxVN.ShowError(exp.Message,Dic.STRING_WARNING);
     }
 }