public async Task <ActionResult> AddOrEdit(Lecturer model) { var res = new JsonQuery(true); res.Parse(ModelState); if (ModelState.IsValid) { Lecturer current; if (!string.IsNullOrWhiteSpace(model.Id)) { if (!await DbContext.Lecturers.AnyAsync(l => l.Id == model.Id)) { res.AddError(null, "FirstName", "Лектор не найден"); goto res; } DbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; current = await DbContext.Lecturers.FirstOrDefaultAsync(l => l.Id == model.Id); var find = await DbContext.Lecturers.FirstOrDefaultAsync(l => l.FirstName == model.FirstName && l.SecondName == model.SecondName && l.LastName == model.LastName); if (find != null && find.Id != current.Id) { res.AddError(null, "FirstName", "Лектор с таким именем фамилией и отчеством уже есть."); goto res; } DbContext.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.TrackAll; DbContext.Update(model); } else { if (await DbContext.Lecturers.AnyAsync(l => l.FirstName == model.FirstName && l.SecondName == model.SecondName && l.LastName == model.LastName)) { res.AddError(null, "FirstName", "Лектор с таким именем фамилией и отчеством уже есть."); goto res; } await DbContext.Lecturers.AddAsync(model); } await DbContext.SaveChangesAsync(); } res: return(Json(res.Result(data: model))); }
public async Task AddReservation(Four25ClassSchedule schedule, string userName) { var res = new Reservation() { UserName = userName, ClubId = _settings.ClubId, EventId = schedule.EventItemId, StartTime = DateTime.ParseExact($"{schedule.EventDate} {schedule.EventStartTime}", Globals.GymTimeFormat, CultureInfo.InvariantCulture) }; await _context.Reservations.AddAsync(res); await _context.SaveChangesAsync(); }