Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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());
            }
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        public ActionResult CreatePhep()
        {
            UserEventCreateViewModel model = new UserEventCreateViewModel();

            return(View("CreatePhep", model));
        }