public string Update(Parameters parameters) { var obiedinenie = context.Obiedinenie.Where(x => (x.id.ToString() == parameters.id)).FirstOrDefault(); var tip_id = context.Tip_obiedineniya.Where(x => (x.nazvanie == parameters.tipObiedineniya)).FirstOrDefault(); obiedinenie.tip = tip_id.id; obiedinenie.nazvanie = parameters.nazvanie; var ob_ch = context.Obiedinenie_chast.Where(x => (x.obiedinenie.ToString() == parameters.id)); foreach (var o_c in ob_ch) { if (!parameters.sostav.Contains(o_c.chast.ToString())) { context.Obiedinenie_chast.Remove(o_c); parameters.sostav.Remove(o_c.chast.ToString()); } } foreach (var chast in parameters.sostav) { var o_c = new Context.Obiedinenie_chast(); o_c.id = context.Obiedinenie_chast.Max(x => x.id) + 1; o_c.obiedinenie = obiedinenie.id; o_c.chast = int.Parse(chast.ToString()); } context.SaveChanges(); return("Изменения сохраены"); }
/// <summary> /// Обновляет информацию о Обьединении в базе /// </summary> /// <param name="id">Уникальный идетификатор </param> /// <param name="nazvanie">Название обьединения</param> /// <param name="tipObiedineniya">Тип обьединения(Дивизия,Бригада,Корпус)</param> /// <param name="sostav">Уникальные идентификаторы частей,входящие в состав обьединения</param> /// <returns></returns> public string UpdateObiedinenie(string id, string tipObiedineniya, string nazvanie, List <string> sostav) { try { var obiedinenie = context.Obiedinenie.Where(x => (x.id.ToString() == id)).FirstOrDefault(); var tip_id = context.Tip_obiedineniya.Where(x => (x.nazvanie == tipObiedineniya)).FirstOrDefault(); obiedinenie.tip = tip_id.id; obiedinenie.nazvanie = nazvanie; var ob_ch = context.Obiedinenie_chast.Where(x => (x.obiedinenie.ToString() == id)); foreach (var o_c in ob_ch) { if (!sostav.Contains(o_c.chast.ToString())) { context.Obiedinenie_chast.Remove(o_c); sostav.Remove(o_c.chast.ToString()); } } foreach (var chast in sostav) { var o_c = new Context.Obiedinenie_chast(); o_c.id = context.Obiedinenie_chast.Max(x => x.id) + 1; o_c.obiedinenie = obiedinenie.id; o_c.chast = int.Parse(chast.ToString()); } context.SaveChanges(); return("Изменения сохраены"); } catch (Exception ex) { return(ex.ToString()); } }