コード例 #1
0
        public async Task <IActionResult> OnPostConfirmAsync(int?id)
        {
            if (id == null)
            {
                StatusMessage = "Error: Prašymas nerastas";
                return(Page());
            }

            EmployeeAppealSalon employeeAppealSalon = await _context.EmployeeAppealSalons.Where(r => r.Id == id.Value).FirstOrDefaultAsync();

            if (employeeAppealSalon == null)
            {
                StatusMessage = "Error: Prašymas nerastas";
                return(Page());
            }

            var user = await _context.Employees.Where(r => r.Id == employeeAppealSalon.EmployeeId).FirstOrDefaultAsync();

            if (user == null)
            {
                StatusMessage = "Error: Tokio darbuotojo nėra.";
                return(Page());
            }
            if (user.SalonId != null)
            {
                StatusMessage = "Error: Darbuotojas turi saloną.";
                return(Page());
            }

            var salon = await _context.Salons.Where(r => r.Id == employeeAppealSalon.SalonId).FirstOrDefaultAsync();

            if (salon == null)
            {
                StatusMessage = "Error: Tokio salono nėra.";
                return(Page());
            }

            var employeeAppealSalons = await _context.EmployeeAppealSalons.Where(r => r.EmployeeId == employeeAppealSalon.EmployeeId).ToListAsync();

            _context.EmployeeAppealSalons.RemoveRange(employeeAppealSalons);
            user.Salon = salon;

            await _context.EmployeeSchedules.Where(r => r.EmployeeId == user.Id).ForEachAsync(day =>
            {
                day.StartTime      = new TimeSpan(0, 0, 0);
                day.EndTime        = new TimeSpan(0, 0, 0);
                day.BreakStartTime = new TimeSpan(0, 0, 0);
                day.BreakEndTime   = new TimeSpan(0, 0, 0);
                day.IsTakingBreak  = false;
                day.IsWorking      = false;
            });

            await _context.SaveChangesAsync();


            return(RedirectToPage());
        }
コード例 #2
0
        public async Task <IActionResult> OnPostCancelAsync(int?id)
        {
            if (id == null)
            {
                StatusMessage = "Error: Prašymas nerastas";
                return(Page());
            }

            EmployeeAppealSalon employeeAppealSalon = await _context.EmployeeAppealSalons.Where(r => r.Id == id.Value).FirstOrDefaultAsync();

            if (employeeAppealSalon == null)
            {
                StatusMessage = "Error: Prašymas nerastas";
                return(Page());
            }

            _context.EmployeeAppealSalons.Remove(employeeAppealSalon);
            await _context.SaveChangesAsync();


            return(RedirectToPage());
        }