private void UpdateSchedule(object s, RoutedEventArgs e)
 {
     selectedSchedule.Time = DateTime.Now;
     scheduleDbContext.Update(selectedSchedule);
     scheduleDbContext.SaveChanges();
     GetProducts();
 }
Example #2
0
        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)));
        }