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; }
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; }; }
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ứ } }