示例#1
0
        public async Task <IHttpActionResult> DoiTrangThai(string MaXP)
        {
            XinPhep xp = db.XinPheps.FirstOrDefault(x => x.MaXP == MaXP);

            if (xp != null)
            {
                if (xp.DaXem == false)
                {
                    xp.DaXem = true;
                    await db.SaveChangesAsync();

                    return(Ok(new { Code = 200 }));
                }
            }
            return(Ok(new { Code = 201 }));//Không thể xin phép cho quá khứ
        }
        public RegistrationRollCallPage(XinPhep val, bool save)
        {
            InitializeComponent();
            Save = save;
            xp   = val;
            FillData(val);
            ViewPage(save);
            if (!save)
            {
                if (val.NghiDen < date)
                {
                    btnEdit.Text      = "";
                    btnEdit.IsEnabled = save;
                }
            }

            #region Giới hạn set ngày

            dpkFrom.DateSelected += (sender, e) =>
            {
                if (dpkFrom.Date < date)
                {
                    dpkFrom.Date = date;
                    dpkTo.Date   = dpkFrom.Date;
                    DisplayAlert("Thông báo",
                                 "Cần xin phép trước 3 ngày.\nNếu trường hợp có thể gọi trực tiếp cho giao viên chủ nhiệm",
                                 "OK");
                }
            };
            dpkTo.DateSelected += (sender, e) =>
            {
                if (dpkTo.Date < dpkFrom.Date)
                {
                    dpkTo.Date = dpkFrom.Date;
                    DisplayAlert("Thông báo",
                                 "Ngày nghỉ cuối cùng không thể bằng ngày nghỉ đầu tiên",
                                 "OK");
                }
            };

            #endregion
        }
 public void FillData(XinPhep val)
 {
     dpkFrom.Date    = val.NghiTu;
     dpkTo.Date      = val.NghiDen;
     edtContent.Text = val.LyDo;
 }
示例#4
0
        public ListRRollCall()
        {
            InitializeComponent();
            GetData(App.StudentSeclect.ID);

            #region Tao MenuStrip bằng picker

            // tạo item
            PickerChooseTrue.ItemsSource = new List <ItemPicker>()
            {
                new ItemPicker(1, "Xem chi tiết"),
                new ItemPicker(2, "Hủy xin phép")
            };

            PickerChooseFalse.ItemsSource = new List <ItemPicker>()
            {
                new ItemPicker(1, "Sửa xin phép"),
                new ItemPicker(2, "Hủy xin phép")
            };

            #region Menu success

            PickerChooseTrue.SelectedIndexChanged += async(sender, args) =>
            {
                if (PickerChooseTrue.SelectedIndex != -1)
                {
                    int ValInt = ((ItemPicker)PickerChooseTrue.SelectedItem).ID;
                    switch (ValInt)
                    {
                    case 1:
                        await Navigation.PushAsync(new RegistrationRollCallPage(ItemSelect, false));

                        PickerChooseTrue.SelectedIndex = -1;
                        break;

                    case 2:
                    {
                        if (ItemSelect.NghiTu <= DateTime.Now)
                        {
                            await DisplayAlert("Thông báo",
                                               "Đơn này đa quá ngày yêu cầu hủy.\nChỉ có thể sử hoặc xem",
                                               "OK");

                            return;
                        }
                        int IntReturn = await ItemSelect.DeleteData(ItemSelect.ID);

                        if (IntReturn == 0)
                        {
                            await DisplayAlert("Thông báo",
                                               "Có lỗi xảy ra vui lòng thử lại",
                                               "OK");
                        }
                        else if (IntReturn < 0)
                        {
                            await DisplayAlert("Thông báo",
                                               new HandleError().IDErrorToNotify(IntReturn),
                                               "OK");
                        }
                        else
                        {
                            await DisplayAlert("Thông báo",
                                               "Đã gửi yêu cầu hủy xin phép cho GVCN, vui lòng đợi GVCN duyệt.",
                                               "OK");
                        }
                        PickerChooseTrue.SelectedIndex = -1;
                        break;
                    }

                    default:
                        break;
                    }
                }
            };


            #endregion

            #region Menu Wait success

            PickerChooseFalse.SelectedIndexChanged += async(sender, args) =>
            {
                if (PickerChooseFalse.SelectedIndex != -1)
                {
                    int ValInt = ((ItemPicker)PickerChooseFalse.SelectedItem).ID;
                    switch (ValInt)
                    {
                    case 1:
                        await Navigation.PushAsync(new RegistrationRollCallPage(ItemSelect, true));

                        PickerChooseFalse.SelectedIndex = -1;
                        break;

                    case 2:
                    {
                        if (ItemSelect.NghiTu <= DateTime.Now)
                        {
                            await DisplayAlert("Thông báo",
                                               "Đơn này đa quá ngày yêu cầu hủy.\nChỉ có thể sử hoặc xem",
                                               "OK");

                            return;
                        }
                        int IntReturn = await ItemSelect.DeleteData(ItemSelect.ID);

                        if (IntReturn == 0)
                        {
                            await DisplayAlert("Thông báo",
                                               "Có lỗi xảy ra vui lòng thử lại",
                                               "OK");
                        }
                        else if (IntReturn < 0)
                        {
                            await DisplayAlert("Thông báo",
                                               new HandleError().IDErrorToNotify(IntReturn),
                                               "OK");
                        }
                        else
                        {
                            await DisplayAlert("Thông báo",
                                               "Đã gửi yêu cầu hủy xin phép cho GVCN, vui lòng đợi GVCN duyệt.",
                                               "OK");
                        }
                        PickerChooseFalse.SelectedIndex = -1;
                        break;
                    }

                    default:
                        break;
                    }
                }
            };

            #endregion

            #endregion

            if (lst.Count == 0)
            {
                StackLayoutMain.Children.Remove(ListViewRRollCall);
            }
            else
            {
                lst.Sort(new SortXinPhep());
                lst.Reverse();
                ListViewRRollCall.ItemsSource = lst;
                StackLayoutMain.Children.Remove(lblNotify);
            }

            // event click item
            ListViewRRollCall.ItemSelected += async(sender, e) =>
            {
                if (ListViewRRollCall.SelectedItem != null)
                {
                    ItemSelect = (XinPhep)ListViewRRollCall.SelectedItem;
                    if (ItemSelect.TrangThai.Equals("Chờ duyệt"))
                    {
                        PickerChooseTrue.Focus();
                    }
                    else if (ItemSelect.TrangThai.Equals("Đã duyệt"))
                    {
                        PickerChooseFalse.Focus();
                    }
                    else
                    {
                        return;
                    }
                }

                ListViewRRollCall.SelectionMode = ListViewSelectionMode.None;
                ListViewRRollCall.SelectionMode = ListViewSelectionMode.Single;
            };
        }
示例#5
0
        public async Task <IHttpActionResult> CreateXinPhep(string MaUser, string NgayPhep, string Buoi, string LyDo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            DateTime date = new DateTime();

            string[] NgayPheps = NgayPhep.Trim().Split('-');
            date = DateTime.Parse(NgayPheps[1] + "/" + NgayPheps[0] + "/" + NgayPheps[2]); // ngày xin nghỉ
            if (date.Date >= DateTime.Now.Date)                                            // nếu ngày xin nghỉ lớn hơn hoặc bằng ngày hiện tại thid=f mới thực hiện
            {
                var dk = db.DuKienTTs.FirstOrDefault(x => x.Ngay == date.Day.ToString() && x.Thang == date.Month.ToString() && x.MaUser == MaUser);
                //
                string ma = "XP_" + dk.MaDuKien + "_" + Buoi.ToUpper();
                //
                if (Buoi.ToUpper() == "CN")
                {
                    if ((db.XinPheps.FirstOrDefault(x => x.MaXP == ma) == null) &&
                        (db.XinPheps.FirstOrDefault(x => x.MaXP == "XP_" + dk.MaDuKien + "_SA") == null) &&
                        (db.XinPheps.FirstOrDefault(x => x.MaXP == "XP_" + dk.MaDuKien + "_CH") == null))  //Chưa xin phép
                    {
                        XinPhep dd = new XinPhep();
                        dd.MaXP     = ma;
                        dd.MaDuKien = dk.MaDuKien;
                        dd.NgayTao  = DateTime.Now;
                        dd.Buoi     = Buoi;
                        dd.LyDo     = LyDo;
                        dd.DaXem    = false;
                        db.XinPheps.Add(dd);
                        await db.SaveChangesAsync();

                        return(Ok(new { Code = 200 }));//Thành công
                    }
                    else
                    {
                        return(Ok(new { Code = 201 }));// Đã Xin phép
                    }
                }
                else if (db.XinPheps.FirstOrDefault(x => x.MaXP == ma) == null)//Chưa xin phép
                {
                    XinPhep dd = new XinPhep();
                    dd.MaXP     = ma;
                    dd.MaDuKien = dk.MaDuKien;
                    dd.NgayTao  = DateTime.Now;
                    dd.Buoi     = Buoi;
                    dd.LyDo     = LyDo;
                    dd.DaXem    = false;
                    db.XinPheps.Add(dd);
                    await db.SaveChangesAsync();

                    return(Ok(new { Code = 200 }));//Thành công
                }
                else
                {
                    return(Ok(new { Code = 201 }));// Đã Xin phép
                }
            }
            else
            {
                return(Ok(new { Code = 202 }));//Không thể xin phép cho quá khứ
            }
        }