예제 #1
0
        public ActionResult Edit(CTravelViewModel model)
        {
            if (ModelState.IsValid == false)
            {
                ViewBag.Departments = db.TUserDepartments.ToList();
                ViewBag.Status      = db.TCheckStatuses.ToList();

                return(View(model));
            }

            var entity = db.TTravelExpenseApplications.Where(e => e.CApplyNumber == model.CApplyNumber).FirstOrDefault();

            if (entity == null)
            {
                return(RedirectToAction("List"));
            }

            entity.CAmont           = model.CAmont;
            entity.CReason          = model.CReason;
            entity.CTravelEndTime   = model.CTravelEndTime;
            entity.CTravelStartTime = model.CTravelStartTime;
            entity.CCheckStatus     = model.CCheckStatus;

            db.SaveChanges();
            return(RedirectToAction("List"));
        }
예제 #2
0
        public IActionResult Edit(int?id)
        {
            if (id.HasValue == false)
            {
                return(RedirectToAction("List"));
            }

            TTravelExpenseApplication et = db.TTravelExpenseApplications.Where(e => e.CApplyNumber == id).FirstOrDefault();

            if (et == null)
            {
                return(RedirectToAction("List"));
            }

            var result = new CTravelViewModel
            {
                CAmont           = et.CAmont,
                CApplyNumber     = et.CApplyNumber,
                CCheckStatus     = et.CCheckStatus,
                CDepartmentId    = et.CDepartmentId,
                CEmployeeId      = et.CEmployeeId,
                CReason          = et.CReason,
                CTravelEndTime   = et.CTravelEndTime,
                CTravelStartTime = et.CTravelStartTime
            };

            ViewBag.Departments = db.TUserDepartments.ToList();
            ViewBag.Status      = db.TCheckStatuses.ToList();

            return(View(result));
        }
예제 #3
0
        public IActionResult Create(CTravelViewModel model)
        {
            if (ModelState.IsValid == false)
            {
                ViewBag.Departments = db.TUserDepartments.ToList();
                ViewBag.Status      = db.TCheckStatuses.ToList();
                return(View(model));
            }

            db.TTravelExpenseApplications.Add(new TTravelExpenseApplication
            {
                CAmont           = model.CAmont,
                CApplyDate       = DateTime.UtcNow.AddHours(8),
                CCheckStatus     = model.CCheckStatus,
                CDepartmentId    = model.CDepartmentId,
                CEmployeeId      = model.CEmployeeId,
                CReason          = model.CReason,
                CTravelEndTime   = model.CTravelEndTime,
                CTravelStartTime = model.CTravelStartTime
            });
            db.SaveChanges();
            return(RedirectToAction("List"));
        }
예제 #4
0
        public IActionResult List(DateTime?startDate = null, DateTime?endDate = null, DateTime?travelstart = null, DateTime?travelend = null)
        {
            ViewBag.StartDate   = startDate; //時間查詢
            ViewBag.EndDate     = endDate;
            ViewBag.travelstart = travelstart;
            ViewBag.travelend   = travelend;
            ViewBag.Status      = db.TCheckStatuses.ToList();
            IQueryable <TTravelExpenseApplication> tt = db.TTravelExpenseApplications.AsQueryable();

            if (startDate.HasValue)          //時間有值
            {
                tt = tt.Where(e => e.CApplyDate >= startDate.Value);
            }
            if (endDate.HasValue)
            {
                tt = tt.Where(e => e.CApplyDate <= endDate.Value);
            }
            if (travelstart.HasValue)
            {
                tt = tt.Where(e => e.CTravelStartTime >= travelstart.Value);
            }
            if (travelend.HasValue)
            {
                tt = tt.Where(e => e.CTravelEndTime <= travelend.Value);
            }

            if (getUserDepartmentId() == 6)     //設觀看權限顯示畫面
            {
                var traveltable = from t in tt
                                  join c in db.TCheckStatuses on t.CCheckStatus equals c.CCheckStatusId
                                  join u in db.TUsers on t.CEmployeeId equals u.CEmployeeId
                                  select new
                {
                    CApplyNumber     = t.CApplyNumber,
                    CDepartmentId    = t.CDepartmentId,
                    CEmployeeId      = t.CEmployeeId,
                    CEmployeeName    = u.CEmployeeName,
                    CReason          = t.CReason,
                    CApplyDate       = t.CApplyDate,
                    CTravelStartTime = t.CTravelStartTime,
                    CTravelEndTime   = t.CTravelEndTime,
                    CAmont           = t.CAmont,
                    CCheckStatus     = c.CCheckStatusId
                };
                foreach (var titem in traveltable)
                {
                    CTravelViewModel ctlvm = new CTravelViewModel()
                    {
                        CApplyNumber     = titem.CApplyNumber,
                        CDepartmentId    = titem.CDepartmentId,
                        CEmployeeId      = titem.CEmployeeId,
                        CEmployeeName    = titem.CEmployeeName,
                        CReason          = titem.CReason,
                        CApplyDate       = titem.CApplyDate,
                        CTravelStartTime = titem.CTravelStartTime,
                        CTravelEndTime   = titem.CTravelEndTime,
                        CAmont           = titem.CAmont,
                        CCheckStatus     = titem.CCheckStatus
                    };
                    tlist.Add(ctlvm);
                }
                return(View(tlist));
            }
            else
            {
                var traveltable = from t in tt
                                  join c in db.TCheckStatuses on t.CCheckStatus equals c.CCheckStatusId
                                  join u in db.TUsers on t.CEmployeeId equals u.CEmployeeId
                                  where t.CEmployeeId == getUserId()
                                  select new
                {
                    CApplyNumber     = t.CApplyNumber,
                    CDepartmentId    = t.CDepartmentId,
                    CEmployeeId      = t.CEmployeeId,
                    CEmployeeName    = u.CEmployeeName,
                    CReason          = t.CReason,
                    CApplyDate       = t.CApplyDate,
                    CTravelStartTime = t.CTravelStartTime,
                    CTravelEndTime   = t.CTravelEndTime,
                    CAmont           = t.CAmont,
                    CCheckStatus     = c.CCheckStatusId
                };

                foreach (var titem in traveltable)
                {
                    CTravelViewModel ctlvm = new CTravelViewModel()
                    {
                        CApplyNumber     = titem.CApplyNumber,
                        CDepartmentId    = titem.CDepartmentId,
                        CEmployeeId      = titem.CEmployeeId,
                        CEmployeeName    = titem.CEmployeeName,
                        CReason          = titem.CReason,
                        CApplyDate       = titem.CApplyDate,
                        CTravelStartTime = titem.CTravelStartTime,
                        CTravelEndTime   = titem.CTravelEndTime,
                        CAmont           = titem.CAmont,
                        CCheckStatus     = titem.CCheckStatus
                    };
                    tlist.Add(ctlvm);
                }
                return(View(tlist));
            }
        }