public async Task <IActionResult> Edit(int id, [Bind("HoursPermissionsId,HoursRange,PermissionId,Reason,Day")] HoursPermissions hoursPermissions)
        {
            if (id != hoursPermissions.HoursPermissionsId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(hoursPermissions);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HoursPermissionsExists(hoursPermissions.HoursPermissionsId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["PermissionId"] = new SelectList(_context.Permission, "PermissionId", "PermissionId", hoursPermissions.PermissionId);
            return(View(hoursPermissions));
        }
        public async Task <IActionResult> Create([Bind("HoursPermissionsId,HoursRange,PermissionId,Reason,Day")] HoursPermissions hoursPermissions, Permission permission)
        {
            if (ModelState.IsValid)
            {
                permission.RequestDate = DateTime.Now;
                permission.Autorize    = "En Espera";
                _context.Add(permission);
                await _context.SaveChangesAsync();

                hoursPermissions.PermissionId = permission.PermissionId;
                hoursPermissions.HoursRange   = Request.Form["hoursRange"].ToString();
                hoursPermissions.Reason       = Request.Form["hours_reason"].ToString();
                hoursPermissions.Day          = Convert.ToDateTime(Request.Form["date"].ToString());

                _context.Add(hoursPermissions);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index), "Permissions", new { id = permission.EmployeeId }));
            }
            return(RedirectToAction("Createto", "Permissions", new { id = permission.EmployeeId }));
        }
        public async Task <IActionResult> Create([Bind("PermissionId,PermissionType,EmployeeId,Autorize,requestDate")] Permission permission, BirthdayPermissions birthdayPermissions, HoursPermissions hoursPermissions, EconomicPermissions economicPermissions)
        {
            if (ModelState.IsValid)
            {
                // permission.EmployeeId = Int32.Parse((Request.Form["employeeid"].ToString()));
                permission.RequestDate = DateTime.Now;
                permission.Autorize    = "En Espera";
                int permissiontype = Int32.Parse((Request.Form["permissiontype"].ToString()));
                int numberOfDays;
                _context.Add(permission);
                await _context.SaveChangesAsync();

                switch (permissiontype)
                {
                case 1:
                    economicPermissions.PermissionId = permission.PermissionId;
                    economicPermissions.StartDate    = Convert.ToDateTime(Request.Form["startdate"].ToString());
                    economicPermissions.FinalDate    = Convert.ToDateTime(Request.Form["finaldate"].ToString());
                    numberOfDays = (int)(economicPermissions.FinalDate - economicPermissions.StartDate).Value.TotalDays + 1;
                    economicPermissions.NumberOfDays = numberOfDays;
                    _context.Add(economicPermissions);
                    await _context.SaveChangesAsync();

                    break;

                case 2:
                    birthdayPermissions.PermissionId   = permission.PermissionId;
                    birthdayPermissions.GrantedDayDate = Convert.ToDateTime(Request.Form["birthdayDayPicker"].ToString());
                    _context.Add(birthdayPermissions);
                    await _context.SaveChangesAsync();

                    break;

                case 3:
                    hoursPermissions.PermissionId = permission.PermissionId;
                    hoursPermissions.HoursRange   = Request.Form["hoursRange"].ToString();
                    hoursPermissions.Reason       = Request.Form["hours_reason"].ToString();
                    _context.Add(hoursPermissions);
                    await _context.SaveChangesAsync();

                    break;

                default:
                    break;
                }
                if (permission.PermissionType == 1)
                {
                    return(RedirectToAction("Index", "", new { id = permission.PermissionId }));
                }
                else if (permission.PermissionType == 2)
                {
                    return(RedirectToAction("Index", "BirthdayPermissions"));
                }
            }

            /* ViewData["EmployeeId"] = new SelectList(_context.Employee, "EmployeeId", "EmployeeId", permission.EmployeeId);
             * ViewData["PermissionType"] = new SelectList(_context.PermissionTypes, "PermissionTypeId", "PermissionTypeId", permission.PermissionType);*/
            return(View(permission));
        }