public ActionResult Create(int?num)
        {
            var user = db.UserInfos.Where(c => c.EnrollNumber == num.ToString() && c.IsActive).Include("Department").Include("CommunityCenter").FirstOrDefault();
            DailyVacationViewModel DVM = new DailyVacationViewModel();

            DVM.UserId              = user.Id;
            DVM.UserName            = user.FullName;
            DVM.DepartmentName      = user.Department.Name;
            DVM.CommunityCenterName = user.CommunityCenter.Name;
            DVM.UserPosition        = user.Position;
            DVM.VacationTypes       = new List <VacationType>();
            DVM.VacationTypes       = db.VacationTypes.Where(v => v.IsActive).ToList();
            return(View(DVM));
        }
        public ActionResult Create([Bind(Include = "UserId,VacationType,Duration,ApplicationDate,VacationDate,FromDate,ToDate,IsDelegacy,DeputationPerson,Reason")] DailyVacationViewModel vacation)
        {
            if (ModelState.IsValid)
            {
                DailyVacation DV = vacation;
                DV.CreationDate = DateTime.Now;
                DV.CreatedBy    = User.Identity.GetUserName();
                db.DailyVacations.Add(DV);
                db.SaveChanges();
                //return View();
                return(RedirectToAction("Index"));
            }

            return(View(vacation));
        }
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DailyVacation dv = db.DailyVacations.Where(c => c.Id == id && c.IsActive).Include("UserInfo")
                               .Include("UserInfo.CommunityCenter").Include("UserInfo.Department").FirstOrDefault();
            DailyVacationViewModel DVM = dv;

            if (dv == null)
            {
                return(HttpNotFound());
            }
            return(View(DVM));
        }
Esempio n. 4
0
        public ActionResult GetEmpDisDetails(int num, DateTime fromDate, DateTime toDate)
        {
            ApplicationDbContext _db        = new ApplicationDbContext();
            EmpDiscountDetails   empDetails = new EmpDiscountDetails();

            empDetails.EnrollNumber   = num;
            empDetails.Name           = _db.UserInfos.FirstOrDefault(c => c.EnrollNumber == num.ToString())?.FullName;
            empDetails.Logs           = new List <LogDataInfoViewModel>();
            empDetails.DailyVacations = new List <DailyVacationViewModel>();
            empDetails.HourVacations  = new List <HourVacationViewModel>();
            List <LogDataInfo> logs = _db.LogDataInfos.Where(c => c.EnrollNum == num.ToString() &&
                                                             (c.LogDate >= fromDate && c.LogDate <= toDate))
                                      .Include("UserInfo").Include("UserInfo.CommunityCenter").Include("UserInfo.Department").OrderBy(c => c.LogDate).ThenBy(c => c.LogTime)
                                      .ThenBy(c => c.LogOutTime).ToList();

            foreach (var log in logs)
            {
                LogDataInfoViewModel lvm = log;
                empDetails.Logs.Add(lvm);
            }
            List <DailyVacation> dVacations = _db.DailyVacations.Include("VacationType")
                                              .Where(c => c.UserInfo.EnrollNumber == num.ToString() &&
                                                     (c.IsActive) &&
                                                     (c.FromDate <= toDate)).OrderBy(c => c.FromDate).ToList();

            foreach (var dv in dVacations)
            {
                DailyVacationViewModel d = dv;
                empDetails.DailyVacations.Add(d);
            }
            List <HourlyVacation> hvacations = _db.HourlyVacations.Where(c => c.UserInfo.EnrollNumber == num.ToString() &&
                                                                         (c.IsActive) && (c.VacationDate <= toDate)).OrderBy(c => c.VacationDate).ToList();

            foreach (var hv in hvacations)
            {
                HourVacationViewModel hvm = hv;
                empDetails.HourVacations.Add(hvm);
            }

            return(View(empDetails));
        }
        public ActionResult Edit([Bind(Include = "Id,VacationType,Duration,ApplicationDate,VacationDate,FromDate,ToDate,IsDelegacy,DeputationPerson,Reason")] DailyVacationViewModel DVM)
        {
            if (ModelState.IsValid)
            {
                DailyVacation dv = db.DailyVacations.Where(c => c.Id == DVM.Id).FirstOrDefault();


                dv.VacationTypeId   = DVM.VacationType;
                dv.ApplicationDate  = Convert.ToDateTime(DVM.ApplicationDate);
                dv.Duration         = DVM.Duration;
                dv.FromDate         = Convert.ToDateTime(DVM.FromDate);
                dv.ToDate           = Convert.ToDateTime(DVM.ToDate);
                dv.IsDelegacy       = DVM.IsDelegacy;
                dv.DeputationPerson = DVM.DeputationPerson;
                dv.Reason           = DVM.Reason;
                dv.UpdatedDate      = DateTime.Now;
                dv.UpdatedBy        = User.Identity.GetUserName();
                db.Entry(dv).State  = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(DVM));
        }
        // GET: DailyVacation
        public ActionResult Index(string sortOrder, string currentFilter, string searchString, int?page)
        {
            ViewBag.CurrentSort                 = sortOrder;
            ViewBag.NumSortParm                 = String.IsNullOrEmpty(sortOrder) ? "num_desc" : "";
            ViewBag.NameSortParm                = sortOrder == "Name" ? "name_desc" : "Name";
            ViewBag.DateSortParm                = sortOrder == "Date" ? "date_desc" : "Date";
            ViewBag.FromDateSortParm            = sortOrder == "FromDate" ? "fdate_desc" : "FromDate";
            ViewBag.ToDateSortParm              = sortOrder == "ToDate" ? "tdate_desc" : "ToDate";
            ViewBag.UserPositionSortParm        = sortOrder == "Position" ? "pos_desc" : "Position";
            ViewBag.CommunityCenterNameSortParm = sortOrder == "CenterName" ? "cname_desc" : "CenterName";
            ViewBag.DepartmentNameSortParm      = sortOrder == "DepartmentName" ? "dname_desc" : "DepartmentName";
            ViewBag.DurationSortParm            = sortOrder == "Duration" ? "dur_desc" : "Duration";
            List <DailyVacation> vacations = db.DailyVacations.Where(c => c.IsActive).Include("UserInfo")
                                             .Include("UserInfo.CommunityCenter").Include("VacationType").Include("UserInfo.Department").ToList();
            List <DailyVacationViewModel> vactionViewModel = new List <DailyVacationViewModel>();

            foreach (var vac in vacations)
            {
                DailyVacationViewModel DVM = vac;
                vactionViewModel.Add(vac);
            }
            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewBag.CurrentFilter = searchString;
            if (!String.IsNullOrEmpty(searchString))
            {
                vactionViewModel = vactionViewModel.Where(u => u.UserName.ToLower().Contains(searchString.ToLower())).ToList();
            }
            switch (sortOrder)
            {
            case "Name":
                vactionViewModel = vactionViewModel.OrderBy(c => c.UserName).ToList();
                break;

            case "name_desc":
                vactionViewModel = vactionViewModel.OrderByDescending(c => c.UserName).ToList();
                break;

            case "date_desc":
                vactionViewModel = vactionViewModel.OrderByDescending(c => c.ApplicationDate).ToList();
                break;

            case "Date":
                vactionViewModel = vactionViewModel.OrderBy(c => c.ApplicationDate).ToList();
                break;

            case "dur_desc":
                vactionViewModel = vactionViewModel.OrderByDescending(c => c.Duration).ToList();
                break;

            case "Duration":
                vactionViewModel = vactionViewModel.OrderBy(c => c.Duration).ToList();
                break;

            case "pos_desc":
                vactionViewModel = vactionViewModel.OrderByDescending(c => c.UserPosition).ToList();
                break;

            case "Position":
                vactionViewModel = vactionViewModel.OrderBy(c => c.UserPosition).ToList();
                break;

            case "fdate_desc":
                vactionViewModel = vactionViewModel.OrderByDescending(c => c.FromDate).ToList();
                break;

            case "FromDate":
                vactionViewModel = vactionViewModel.OrderBy(c => c.FromDate).ToList();
                break;

            case "tdate_desc":
                vactionViewModel = vactionViewModel.OrderByDescending(c => c.ToDate).ToList();
                break;

            case "ToDate":
                vactionViewModel = vactionViewModel.OrderBy(c => c.ToDate).ToList();
                break;

            case "CenterName":
                vactionViewModel = vactionViewModel.OrderBy(c => c.CommunityCenterName).ToList();
                break;

            case "cname_desc":
                vactionViewModel = vactionViewModel.OrderByDescending(c => c.CommunityCenterName).ToList();
                break;

            case "DepartmentName":
                vactionViewModel = vactionViewModel.OrderBy(c => c.DepartmentName).ToList();
                break;

            default:
                vactionViewModel = vactionViewModel.OrderBy(c => c.UserName).ToList();
                break;
            }
            int pageSize   = (int)Math.Ceiling(vactionViewModel.Count / 10.0) != 0 ? (int)Math.Ceiling(vactionViewModel.Count / 10.0) : 1;
            int pageNumber = (page ?? 1);

            return(View(vactionViewModel.ToPagedList(pageNumber, pageSize)));
        }