public int CheckCongThem(UserEventCreateViewModel modelEvent) { int result = 0; //int loopLength = modelEvent.UeWillExpires.Value.Day - modelEvent.UeDateExpires.Value.Day; var fromDate = modelEvent.UeDateExpires.Value; var toDate = modelEvent.UeWillExpires.Value; int i = 0; try { while (fromDate.Date.AddDays(i) <= toDate.Date) { var modelAtt = new tbl_Attandance(); modelAtt.UserID = modelEvent.UserID; modelAtt.AtDateCheckIn = fromDate.Date.AddDays(i); modelAtt.AtInOrOut = (int)Enums.LoaiCong.ChoDuyet; modelAtt.AtMonth = fromDate.Date.AddDays(i).Month; modelAtt.AtDay = fromDate.Date.AddDays(i).Day; modelAtt.AtYear = fromDate.Date.AddDays(i).Year; modelAtt.AtTime = DateTime.Now; modelAtt.AtNote = GetDayOfWeek(fromDate.Date.AddDays(i).Year, fromDate.Date.AddDays(i).Month, fromDate.Date.AddDays(i).Day); modelAtt.UeID = modelEvent.UeID; List <tbl_Attandance> liAtt = CheckDateUnique(fromDate.Date.AddDays(i), modelEvent.UserID.Value); if (liAtt.Count() < 1) { db.tbl_Attandance.Add(modelAtt); result = db.SaveChanges(); } else { using (TransactionScope scope = new TransactionScope()) { result = db.Database.ExecuteSqlCommand("exec proc_as_UpdateAttandaceWithEvent @AtID,@AtInOrOut,@UeID", new SqlParameter("@AtID", liAtt[0].AtID), new SqlParameter("@AtInOrOut", (int)Enums.LoaiCong.ChoDuyet), new SqlParameter("@UeID", modelEvent.UeID)); scope.Complete(); } } i++; } } catch (Exception ex) { throw ex; } return(result); }
public long CreateUserEvent(UserEventCreateViewModel createModel) { var result = CheckFromDateToDate(createModel.UeDateExpires.Value, createModel.UeWillExpires.Value, createModel.UserID.Value); if (result == 1) { try { var model = new tbl_UserEvent(); model.EventID = createModel.EventID; model.UserID = createModel.UserID; model.UeCount = createModel.UeType; //Phep hay Cong tac model.UeOk = false; model.UeCreateDate = DateTime.Now; model.UeDateExpires = createModel.UeDateExpires; model.UeNote = createModel.UeNote; model.UeWillExpires = createModel.UeWillExpires; model.UeCount = createModel.UeType; db.tbl_UserEvent.Add(model); db.SaveChanges(); int UeId = model.UeID; if (UeId > 0) { try { AttandanceDAL modelAtt = new AttandanceDAL(); createModel.UeID = model.UeID; var kq = modelAtt.CheckCongThem(createModel); }catch (Exception ex) { throw ex; } } } catch (Exception ex) { throw ex; } } return(result); }
public ActionResult CreatePhep(UserEventCreateViewModel createPhepModel) { try { if (!ModelState.IsValid) { return(View(createPhepModel)); } UsersDAL userDAL = new UsersDAL(); var modelUser = userDAL.GetUser(User.Identity.Name); createPhepModel.UserID = modelUser.UserID; createPhepModel.UeType = 2; createPhepModel.EventID = 1; var result = ueDAL.CreateUserEvent(createPhepModel); if (result < 1) { switch (result) { case -1: ModelState.AddModelError("Message", "Ngày bắt đầu không được lớn hơn ngày kết thúc!"); break; case -2: ModelState.AddModelError("Message", "Bạn đã đăng ký nghỉ thời gian này!"); break; default: ModelState.AddModelError("Message", "Đã có lỗi xảy ra, hãy liên hệ IT!"); break; } return(View(createPhepModel)); } ModelState.Clear(); return(RedirectToAction("IndexPhep")); } catch (Exception ex) { ModelState.AddModelError("Message", ex.Message); return(View()); } }
public void CheckCongThemTest() { //arrange DateTime fromDate = new DateTime(2017, 02, 12); DateTime toDate = new DateTime(2017, 02, 15); var model = new UserEventCreateViewModel(); model.UeID = 3; model.UeCreateDate = DateTime.Now; model.UeDateExpires = fromDate.Date; model.UeWillExpires = toDate.Date; model.UserID = 1; AttandanceDAL modelAtt = new AttandanceDAL(); var expected = 1; //act var actual = modelAtt.CheckCongThem(model); //assert Assert.AreEqual(expected, actual); }
public void CreateUserEvents() { //arrange DateTime fromDate = new DateTime(2017, 02, 13); DateTime toDate = new DateTime(2017, 02, 15); var model = new UserEventCreateViewModel(); model.UeCreateDate = DateTime.Now; model.UeDateExpires = fromDate.Date; model.UeWillExpires = toDate.Date; model.UserID = 2; model.EventID = 1; model.UeOk = false; model.UeType = 1; model.UeNote = "D2ND-BLLD-120217"; UserEventDAL modelUe = new UserEventDAL(); //act var actual = modelUe.CreateUserEvent(model); //assert Assert.IsNotNull(actual); }
public ActionResult CreatePhep() { UserEventCreateViewModel model = new UserEventCreateViewModel(); return(View("CreatePhep", model)); }