private void actualizarParteMxMnCriterio(int parteMxMnID, string criterios) { if (string.IsNullOrEmpty(criterios)) { return; } Match match = Regex.Match(criterios, @"^(\d+,)*\d+$"); if (!match.Success) { return; } var values = criterios.Split(','); try { var actuales = General.GetListOf <ParteMxMnCriterio>(p => p.ParteMxMnID == parteMxMnID); var selectedValues = new Dictionary <string, int>(); foreach (var item in values) { selectedValues.Add(item, (int)operaciones.Add); } foreach (var item in actuales) { if (selectedValues.ContainsKey(item.MxMnCriterioID.ToString())) { selectedValues[item.MxMnCriterioID.ToString()] = (int)operaciones.None; } else { selectedValues[item.MxMnCriterioID.ToString()] = (int)operaciones.Delete; } } foreach (var item in selectedValues) { if (item.Value == (int)operaciones.Add) //add new { var mxmnc = new ParteMxMnCriterio { ParteMxMnID = parteMxMnID, MxMnCriterioID = Helper.ConvertirEntero(item.Key) }; Guardar.Generico <ParteMxMnCriterio>(mxmnc); } else if (item.Value == (int)operaciones.Delete) //search and delete { var id = Helper.ConvertirEntero(item.Key); var partemxmnc = General.GetEntity <ParteMxMnCriterio>(p => p.ParteMxMnID == parteMxMnID && p.MxMnCriterioID == id); if (partemxmnc != null) { General.Delete <ParteMxMnCriterio>(partemxmnc); } } } } catch (Exception ex) { Helper.MensajeError(ex.Message, GlobalClass.NombreApp); } }
private void actualizarParteMxMnCriterio(int parteMxMnID, string criterios) { if (string.IsNullOrEmpty(criterios)) return; Match match = Regex.Match(criterios, @"^(\d+,)*\d+$"); if (!match.Success) return; var values = criterios.Split(','); try { var actuales = General.GetListOf<ParteMxMnCriterio>(p => p.ParteMxMnID == parteMxMnID); var selectedValues = new Dictionary<string, int>(); foreach (var item in values) { selectedValues.Add(item, (int)operaciones.Add); } foreach (var item in actuales) { if (selectedValues.ContainsKey(item.MxMnCriterioID.ToString())) { selectedValues[item.MxMnCriterioID.ToString()] = (int)operaciones.None; } else { selectedValues[item.MxMnCriterioID.ToString()] = (int)operaciones.Delete; } } foreach (var item in selectedValues) { if (item.Value == (int)operaciones.Add) //add new { var mxmnc = new ParteMxMnCriterio { ParteMxMnID = parteMxMnID, MxMnCriterioID = Helper.ConvertirEntero(item.Key) }; Guardar.Generico<ParteMxMnCriterio>(mxmnc); } else if (item.Value == (int)operaciones.Delete) //search and delete { var id = Helper.ConvertirEntero(item.Key); var partemxmnc = General.GetEntity<ParteMxMnCriterio>(p => p.ParteMxMnID == parteMxMnID && p.MxMnCriterioID == id); if (partemxmnc != null) General.Delete<ParteMxMnCriterio>(partemxmnc); } } } catch (Exception ex) { Helper.MensajeError(ex.Message, GlobalClass.NombreApp); } }