private static void UpdateAniosMotores(int motorId, List <int> values) { var anioActuales = Datos.GetListOf <MotorAnio>(m => m.MotorID.Equals(motorId)); var selectedValues = new Dictionary <int, string>(); foreach (var item in values) { if (!selectedValues.ContainsKey(item)) { selectedValues.Add(item, NombreOperaciones.Add.ToString()); } } foreach (var item in anioActuales) { if (selectedValues.ContainsKey(item.Anio)) { selectedValues[item.Anio] = NombreOperaciones.None.ToString(); } else { selectedValues[item.Anio] = NombreOperaciones.Delete.ToString(); } } foreach (var item in selectedValues) { if (item.Value == NombreOperaciones.Add.ToString()) //add new { var motorAnio = new MotorAnio { MotorID = motorId, Anio = item.Key, UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID, FechaRegistro = DateTime.Now, Estatus = true, Actualizar = true }; Datos.SaveOrUpdate <MotorAnio>(motorAnio); } else if (item.Value == NombreOperaciones.Delete.ToString()) //search and delete { var anio = Datos.GetEntity <MotorAnio>(n => n.MotorID.Equals(motorId) && n.Anio.Equals(item.Key)); if (anio != null) { Datos.Delete <MotorAnio>(anio); } } } }
private static void UpdateAniosMotores(int motorId, List<int> values) { var anioActuales = Datos.GetListOf<MotorAnio>(m => m.MotorID.Equals(motorId)); var selectedValues = new Dictionary<int, string>(); foreach (var item in values) { if (!selectedValues.ContainsKey(item)) selectedValues.Add(item, NombreOperaciones.Add.ToString()); } foreach (var item in anioActuales) { if (selectedValues.ContainsKey(item.Anio)) { selectedValues[item.Anio] = NombreOperaciones.None.ToString(); } else { selectedValues[item.Anio] = NombreOperaciones.Delete.ToString(); } } foreach (var item in selectedValues) { if (item.Value == NombreOperaciones.Add.ToString()) //add new { var motorAnio = new MotorAnio { MotorID = motorId, Anio = item.Key, UsuarioID = GlobalClass.UsuarioGlobal.UsuarioID, FechaRegistro = DateTime.Now, Estatus = true, Actualizar = true }; Datos.SaveOrUpdate<MotorAnio>(motorAnio); } else if (item.Value == NombreOperaciones.Delete.ToString()) //search and delete { var anio = Datos.GetEntity<MotorAnio>(n => n.MotorID.Equals(motorId) && n.Anio.Equals(item.Key)); if (anio != null) Datos.Delete<MotorAnio>(anio); } } }