/// <summary> /// Удаление записи /// </summary> /// <param name="decree">Удаляемая запись</param> public void DeleteDecree(Decree decree) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к удалению приказа."); try { var decreeToDelete = context.Decree.FirstOrDefault(d => d.DecreeId == decree.DecreeId); if (decreeToDelete != null) { context.Decree.Remove(decreeToDelete); context.SaveChanges(); logger.Debug("Удаление успешно завершено."); } } catch (SqlException sqlEx) { logger.Error("Ошибка удаления записи приказа."); logger.Error($"Ошибка SQL Server — {sqlEx.Number}."); logger.Error($"Сообщение об ошибке: {sqlEx.Message}."); } catch (Exception ex) { logger.Error("Ошибка удаления записи приказа."); logger.Error($"Ошибка — {ex.Message}."); } }
public async Task <ActionResult> Create([Bind(Include = "DecreeId,DateSigning,DateArrival,DateEviction,StudentsId,RoomsId,HousingId")] Decree decree) { string login = User.Identity.Name; var HousingId = db.Users.Where(u => u.Login == login).Select(s => s.HousingId).FirstOrDefault(); var IdRomsAdd = db.Rooms.Where(r => r.RoomsId == decree.RoomsId).Where(h => h.HousingId == HousingId).FirstOrDefault(); var IdRoomsD = db.Decree.Where(s => s.StudentsId == decree.StudentsId).OrderByDescending(s => s.DecreeId).FirstOrDefault(); var IdRomsS = db.Rooms.Where(r => r.RoomsId == IdRoomsD.RoomsId).Where(h => h.HousingId == HousingId).FirstOrDefault(); if (ModelState.IsValid) { IdRomsS.NumberSeatsFree = IdRomsS.NumberSeatsFree + 1; IdRomsAdd.NumberSeatsFree = IdRomsAdd.NumberSeatsFree - 1; db.Decree.Add(decree); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } ViewBag.RoomsId = new SelectList(db.Rooms, "RoomsId", "RoomsId", decree.RoomsId); ViewBag.StudentsId = new SelectList(db.Students, "StudentsId", "Surname", decree.StudentsId); ViewBag.HousingId = new SelectList(db.Housing, "HousingId", "HousingId", decree.HousingId); return(View(decree)); }
/// <summary> /// Добавление записи /// </summary> /// <param name="decree">Новая запись приказа</param> /// <returns>Добавленная запись</returns> public Decree InsertDecree(Decree decree) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к добавлению приказа."); try { logger.Debug($"Добавляемая запись {decree.ToString()}"); context.Decree.Add(decree); context.SaveChanges(); logger.Debug($"Запись успешно добавлена."); return(decree); } catch (SqlException sqlEx) { logger.Error("Ошибка добавления приказа."); logger.Error($"Ошибка SQL Server — {sqlEx.Number}."); logger.Error($"Сообщение об ошибке: {sqlEx.Message}."); return(null); } catch (Exception ex) { logger.Error("Ошибка добавления приказа."); logger.Error($"Ошибка — {ex.Message}."); return(null); } }
/// <summary> /// Обновление записи /// </summary> /// <param name="decree">Редактируемая запись приказа</param> /// <returns>Отредактированная запись</returns> public Decree UpdateDecree(Decree decree) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к обновлению приказа."); try { var decreeToUpdate = context.Decree.FirstOrDefault(d => d.DecreeId == decree.DecreeId); logger.Debug($"Текущая запись {decreeToUpdate.ToString()}"); decreeToUpdate.DecreeNumber = decree.DecreeNumber; decreeToUpdate.DecreeDate = decree.DecreeDate; decreeToUpdate.Content = decree.Content; decreeToUpdate.ProtocolNumber = decree.ProtocolNumber; decreeToUpdate.ProtocolDate = decree.ProtocolDate; context.SaveChanges(); logger.Debug($"Новая запись {decreeToUpdate.ToString()}"); return(decreeToUpdate); } catch (SqlException sqlEx) { logger.Error("Ошибка редактирования приказа."); logger.Error($"Ошибка SQL Server — {sqlEx.Number}."); logger.Error($"Сообщение об ошибке: {sqlEx.Message}."); return(null); } catch (Exception ex) { logger.Error("Ошибка редактирования приказа."); logger.Error($"Ошибка — {ex.Message}."); return(null); } }
public void DeleteDecree(Decree decree) { if (decree != null) { _context.Decrees.Remove(decree); _context.SaveChanges(); } }
public async Task <ActionResult> DeleteConfirmed(int id) { Decree decree = await db.Decree.FindAsync(id); db.Decree.Remove(decree); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
/// <summary> /// Обработчик выбора приказа /// </summary> /// <param name="sender">Выпадающий список приказов</param> /// <param name="e"></param> private void cbDecree_SelectedValueChanged(object sender, EventArgs e) { // Если список приказов не пуст // Получаем уникальный идентификатор выбранного приказа // Получаем приказ по уникальному идентификатору if (cbDecree.SelectedValue != null) { int id = (int)cbDecree.SelectedValue; decree = decreeService.GetDecree(id); } }
public async Task SaveDecree(Decree decree) { if (decree.DecreeId == 0) { _context.Decrees.Add(decree); } else { _context.Entry(decree).State = EntityState.Modified; } await _context.SaveChangesAsync(); }
public async ValueTask <PassDecreeResponse> PassDecreeAsync(string key, int clock, int index, string value) { var processClock = await _store.GetOrCreateAsync(ClockKey, a => { return(Task.FromResult(0)); }); Book book = await _store.GetOrCreateAsync(key, a => { return(Task.FromResult(new Book())); }); var decrees = book.Decrees; var response = new PassDecreeResponse() { Index = index, MaxIndexSoFar = decrees.Count - 1 }; response.Clock = clock; if (decrees.Count >= index + 1) { if (decrees[index] != null) { response.Value = decrees[index].SubjectValue; } else { response.Value = value; decrees[index] = new Decree() { Committed = false, SubjectValue = value }; } } else { response.Value = value; for (int i = decrees.Count - 1; i < index - 1; i++) { decrees.Add(null); } decrees.Add(new Decree() { Committed = false, SubjectValue = value }); } _store.Set(ClockKey, Math.Max(clock, processClock) + 1); return(response); }
public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Decree decree = await db.Decree.FindAsync(id); if (decree == null) { return(HttpNotFound()); } return(View(decree)); }
/// <summary> /// Метод инициализации списка приказов /// </summary> private void InitializeDecreeComboBox() { // Отключаем отслеживание изменения приказа cbDecree.SelectedValueChanged -= cbDecree_SelectedValueChanged; // Получаем список приказов var decrees = decreeService.GetDecrees(); // Заполняем комбо-бокс cbDecree.DataSource = decrees; cbDecree.DisplayMember = "DecreeNumber"; cbDecree.ValueMember = "DecreeId"; // Если список приказов не пуст // Устанавливаем выбранный приказ первым элементом списка if (decrees.Count != 0) { decree = decrees[0]; } // Включаем отслеживание изменения приказа cbDecree.SelectedValueChanged += cbDecree_SelectedValueChanged; }
public async ValueTask <bool> CommitDecreeAsync(string key, int index, string value) { var book = await _store.GetOrCreateAsync(key, a => { return(Task.FromResult(new Book())); }); var decrees = book.Decrees; if (decrees.Count < index + 1) { for (int i = decrees.Count - 1; i < index - 1; i++) { decrees.Add(null); } decrees.Add(new Decree() { Committed = true, SubjectValue = value }); } else { decrees[index] = new Decree() { Committed = true, SubjectValue = value }; } if (index > book.LatestCommittedIndex) { book.LatestCommittedIndex = index; } book.LatestCommittedValue = decrees[book.LatestCommittedIndex].SubjectValue; return(await Task.FromResult(true)); }
/// <summary> /// Получение списка абитуриентов /// </summary> /// <param name="decree">Приказ</param> /// <returns>Список абитуриентов</returns> public List <Enrollee> GetEnrollees(Decree decree) { logger.Trace("Попытка подключения к источнику данных."); logger.Trace("Подготовка к поиску списка абитуриентов, зачисленных по выбранному приказу."); try { var enrollees = context.Enrollee.AsNoTracking().Where(e => e.DecreeId == decree.DecreeId).ToList(); logger.Debug($"Поиск окончен. Количество записей: {enrollees.Count}."); return(enrollees); } catch (SqlException sqlEx) { logger.Error("Ошибка получения списка зачисленных абитуриентов."); logger.Error($"Ошибка SQL Server — {sqlEx.Number}."); logger.Error($"Сообщение об ошибке: {sqlEx.Message}."); return(null); } catch (Exception ex) { logger.Error("Ошибка получения списка зачисленных абитуриентов."); logger.Error($"Ошибка — {ex.Message}."); return(null); } }