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()); }
public async Task <IActionResult> OnPostInsertAsync() { if (!ModelState.IsValid) { StatusMessage = "Error: Tokio salono nėra."; return(RedirectToPage()); } var user = await _userManager.GetUserAsync(User); EmployeeAppealSalon.EmployeeId = user.Id; EmployeeAppealSalon.CreatedDate = DateTime.Now; _context.EmployeeAppealSalons.Add(EmployeeAppealSalon); await _context.SaveChangesAsync(); StatusMessage = "Prašymas pateiktas salono administratoriams."; return(RedirectToPage()); }
public async Task <IActionResult> OnPostInsertAsync() { var user = await _userManager.GetUserAsync(User); if (!ModelState.IsValid || UploadPicture == null) { return(Page()); } if (Tools.FileImageCheck.IsImage(UploadPicture)) { Image image = Image.FromStream(UploadPicture.OpenReadStream(), true, true); var newImage = new Bitmap(200, 200); using (var g = Graphics.FromImage(newImage)) { g.DrawImage(image, 0, 0, 200, 200); } ImageConverter converter = new ImageConverter(); EmployeePicture.Picture = (byte[])converter.ConvertTo(newImage, typeof(byte[])); } else { StatusMessage = "Error: Įkeltas failas neatpažįstamas kaip nuotrauka."; return(RedirectToPage()); } EmployeePicture.ModifiedDate = DateTime.Now; EmployeePicture.EmployeeId = user.Id; if (_context.EmployeePictures.Any(r => r.EmployeeId == user.Id)) { EmployeePicture.Id = await _context.EmployeePictures.Where(r => r.EmployeeId == user.Id).Select(r => r.Id).FirstOrDefaultAsync(); _context.Attach(EmployeePicture).State = EntityState.Modified; } else { _context.EmployeePictures.Add(EmployeePicture); } await _context.SaveChangesAsync(); StatusMessage = "Jūsų nuotrauka buvo pakeista."; return(RedirectToPage()); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } _context.JobTitles.Add(JobTitle); await _context.SaveChangesAsync(); return(RedirectToPage()); }
public async Task <IActionResult> OnPostAsync(int?userId, int?salonId, bool?isSelected) { if (userId == null || salonId == null || isSelected == null) { return(RedirectToPage("./Index")); } var user = await _userManager.FindByIdAsync(userId.Value.ToString()); if (user == null) { return(NotFound("Nerastas toks vartotojas.")); } if (!await _userManager.IsInRoleAsync(user, "Staff")) { return(NotFound()); } if (isSelected.Value) { var staffSalonEntry = await _context.StaffSalons .Where(r => r.StaffId == userId.Value && r.SalonId == salonId.Value).FirstOrDefaultAsync(); if (staffSalonEntry == null) { return(NotFound()); } _context.StaffSalons.Remove(staffSalonEntry); } else if (!isSelected.Value) { StaffSalon = new StaffSalon(); StaffSalon.SalonId = salonId.Value; StaffSalon.StaffId = userId.Value; _context.Add(StaffSalon); } try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { return(NotFound("Nepavyko atnaujinti.")); } return(RedirectToPage("./AssignStaffToSalonsEdit", new { id = userId.Value })); }
public async Task <IActionResult> OnPostCreateNotificationAsync() { int userId = PostDataValues.UserId; string link = PostDataValues.Link; { MemoryStream stream = new MemoryStream(); Request.Body.CopyTo(stream); stream.Position = 0; using (StreamReader reader = new StreamReader(stream)) { string requestBody = reader.ReadToEnd(); if (requestBody.Length > 0) { var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, MissingMemberHandling = MissingMemberHandling.Ignore, }; try { var obj = JsonConvert.DeserializeObject <PostData>(requestBody, settings); if (obj != null && !Tools.Comparer.IsDefaultValue(obj.UserId) && !Tools.Comparer.IsDefaultValue(obj.Link)) { userId = obj.UserId; link = obj.Link; var notification = new Notification(userId, link, (NotiflicationType)2); _context.Add(notification); await _context.SaveChangesAsync(); } else { throw new Exception("Tuščios vertės buvo perduotos"); } } catch (Exception e) { return(BadRequest(e)); } } } return(new OkResult()); } }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound()); } //var salon = await _context.Salons.Where(r=>r.Id==Salon.Id).FirstOrDefaultAsync() var staffManagesSalonIds = await _context.StaffSalons .Where(r => r.StaffId == user.Id).Select(r => r.SalonId).ToListAsync(); if (!staffManagesSalonIds.Contains(Salon.Id)) { return(NotFound()); } foreach (var day in Salon.SalonSchedule) { if (day.EndTime.Value.Minutes % 15 != 0 || day.StartTime.Value.Minutes % 15 != 0) { StatusMessage = "Error: Minutės gali būti tik 15 min intervalu (0,15,30,45)."; return(Page()); } if (day.EndTime == day.StartTime) { day.IsWorking = false; } if (!day.IsWorking) { day.StartTime = new TimeSpan(0, 0, 0); day.EndTime = new TimeSpan(0, 0, 0); } if (day.EndTime < day.StartTime) { StatusMessage = $"Error: Salono darbo laikas yra vėlesnis nei pabaigos. Diena: {Tools.DayToWord.LithuanianDayWord(day.Day)}."; return(Page()); } } var employeeSchedule = await _context.EmployeeSchedules.Include(r => r.Employee).Where(r => r.Employee.SalonId == Salon.Id).ToListAsync(); List <string> employeeNamesWithSchedulesChanged = new List <string>(); foreach (var salonDay in Salon.SalonSchedule) { var takenDayListOfEmployeeSchedules = employeeSchedule.Where(r => r.Day == salonDay.Day); foreach (var employeeDay in takenDayListOfEmployeeSchedules) { bool IsChangeMade = false; if (employeeDay.StartTime < salonDay.StartTime) { employeeDay.StartTime = salonDay.StartTime; IsChangeMade = true; } if (employeeDay.EndTime > salonDay.EndTime) { employeeDay.EndTime = salonDay.EndTime; IsChangeMade = true; } if (IsChangeMade) { employeeNamesWithSchedulesChanged.Add(employeeDay.Employee.FullName); } } } _context.Update(Salon); await _context.SaveChangesAsync(); StatusMessage = !employeeNamesWithSchedulesChanged.Any() ? "Success: Salono darbo laikas atnaujintas" : $"Success: Salono darbo laikas atnaujintas ir pataisytas darbo laikas šiems darbuotojams: \r\n{String.Join(",", employeeNamesWithSchedulesChanged.Distinct())}"; return(Page()); //return RedirectToPage("./ManageSalons"); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } Salon.SalonSchedule = new List <SalonSchedule>() { new SalonSchedule { Day = 1, StartTime = new TimeSpan(0, 0, 0), EndTime = new TimeSpan(0, 0, 0) }, new SalonSchedule { Day = 2, StartTime = new TimeSpan(0, 0, 0), EndTime = new TimeSpan(0, 0, 0) } , new SalonSchedule { Day = 3, StartTime = new TimeSpan(0, 0, 0), EndTime = new TimeSpan(0, 0, 0) } , new SalonSchedule { Day = 4, StartTime = new TimeSpan(0, 0, 0), EndTime = new TimeSpan(0, 0, 0) } , new SalonSchedule { Day = 5, StartTime = new TimeSpan(0, 0, 0), EndTime = new TimeSpan(0, 0, 0) } , new SalonSchedule { Day = 6, StartTime = new TimeSpan(0, 0, 0), EndTime = new TimeSpan(0, 0, 0) } , new SalonSchedule { Day = 7, StartTime = new TimeSpan(0, 0, 0), EndTime = new TimeSpan(0, 0, 0) } }; _context.Salons.Add(Salon); await _context.SaveChangesAsync(); return(RedirectToPage("./AddSalons")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound()); } var staffManagesSalonIds = await _context.StaffSalons .Where(r => r.StaffId == user.Id).Select(r => r.SalonId).ToListAsync(); if (!staffManagesSalonIds.Contains(EmployeeVM.SalonId)) { return(NotFound()); } foreach (var day in EmployeeVM.EmployeeSchedule) { if (day.EndTime.Value.Minutes % 15 != 0 || day.StartTime.Value.Minutes % 15 != 0 || day.BreakEndTime.Value.Minutes % 15 != 0 || day.BreakStartTime.Value.Minutes % 15 != 0) { StatusMessage = "Error: Minutės gali būti tik 15 min intervalu (0,15,30,45)."; return(Page()); } if (day.EndTime == day.StartTime) { day.IsWorking = false; } if (!day.IsWorking) { 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; } else if (!day.IsTakingBreak) { day.BreakStartTime = new TimeSpan(0, 0, 0); day.BreakEndTime = new TimeSpan(0, 0, 0); } if (day.EndTime < day.StartTime) { StatusMessage = $"Error: Darbo laiko pradžia yra vėlesė nei pabaigos. Diena: {Tools.DayToWord.LithuanianDayWord(day.Day)}."; return(Page()); } if (day.BreakEndTime < day.BreakStartTime) { StatusMessage = $"Error: Petraukos laikas prasideda vėliau, nei pabaiga. Diena: {Tools.DayToWord.LithuanianDayWord(day.Day)}."; return(Page()); } if (day.IsTakingBreak && (day.StartTime > day.BreakStartTime || day.EndTime < day.BreakEndTime)) { StatusMessage = $"Error: Petraukos laikas nėra tarp darbo laiko. Diena: {Tools.DayToWord.LithuanianDayWord(day.Day)}."; return(Page()); } if (day.IsWorking && (day.StartTime < EmployeeVM.SalonSchedule[day.Day.Value - 1].StartTime || day.EndTime > EmployeeVM.SalonSchedule[day.Day.Value - 1].EndTime)) { StatusMessage = $"Error: Darbuotojo darbo laikas nėra tarp salono darbo laiko. Diena: {Tools.DayToWord.LithuanianDayWord(day.Day)}."; return(Page()); } } Employee = await _context.Employees .Include(e => e.EmployeeSchedule) .FirstOrDefaultAsync(m => m.Id == EmployeeVM.Id); Employee.JobTitleId = EmployeeVM.JobTitleId; int index = 0; foreach (var day in Employee.EmployeeSchedule) { if (day.Day == EmployeeVM.EmployeeSchedule[index].Day) { day.IsTakingBreak = EmployeeVM.EmployeeSchedule[index].IsTakingBreak; day.IsWorking = EmployeeVM.EmployeeSchedule[index].IsWorking; day.StartTime = EmployeeVM.EmployeeSchedule[index].StartTime; day.BreakStartTime = EmployeeVM.EmployeeSchedule[index].BreakStartTime; day.EndTime = EmployeeVM.EmployeeSchedule[index].EndTime; day.BreakEndTime = EmployeeVM.EmployeeSchedule[index].BreakEndTime; } index++; } var test = Employee.EmployeeSchedule.Where(r => r.Day == 5).FirstOrDefault(); _context.Update(Employee); await _context.SaveChangesAsync(); return(RedirectToPage("./ManageEmployees")); }