public Operacion EliminarProductoDelCombo(SkuPorCombo skuPorCombo) { BaseDeDatosServicio.BeginTransaction(); try { DbParameter[] parameters = { new OAParameter { ParameterName = "@COMBO_ID", Value = skuPorCombo.COMBO_ID } , new OAParameter { ParameterName = "@CODE_SKU", Value = skuPorCombo.CODE_SKU } , new OAParameter { ParameterName = "@PACK_UNIT", Value = skuPorCombo.PACK_UNIT } }; var op = BaseDeDatosServicio.ExecuteQuery <Operacion>("SWIFT_SP_DELETE_SKU_BY_COMBO", CommandType.StoredProcedure, false, parameters)[0]; if (op.Resultado == ResultadoOperacionTipo.Error) { BaseDeDatosServicio.Rollback(); } else { BaseDeDatosServicio.Commit(); } return(op); } catch (DbException e) { BaseDeDatosServicio.Rollback(); return(new Operacion { Codigo = e.ErrorCode, Mensaje = e.Message, Resultado = ResultadoOperacionTipo.Error }); } catch (Exception ex) { BaseDeDatosServicio.Rollback(); return(new Operacion { Codigo = -1, Mensaje = ex.Message, Resultado = ResultadoOperacionTipo.Error }); } }
public void AgregarSkusCombo(object sender) { var idCombo = Int32.Parse(UiTxtCodigo.Text); var cantidad = Int32.Parse(UiTxtCantidadSku.Text); if (cantidad < 0) { EstablecerError("La cantidad debe de ser mayor a 0.", UiVistaCombos); return; } var listaSkusAAsociar = UiListaSku.GridView.GetSelectedFieldValues("CODE_SKU", "PACK_UNIT"); if (listaSkusAAsociar.Count > 0) { List <SkuPorCombo> listaSkuPorCombos = new List <SkuPorCombo>(); foreach (var sku in listaSkusAAsociar) { var skuPorCombo = new SkuPorCombo { COMBO_ID = idCombo , CODE_SKU = ((object[])sku)[0].ToString() , PACK_UNIT = int.Parse(((object[])sku)[1].ToString()) , QTY = cantidad }; listaSkuPorCombos.Add(skuPorCombo); skuPorCombo = null; } UsuarioDeseaAgregarProductoAlCombo?.Invoke(sender, new ComboArgumento { Combo = new Combo { COMBO_ID = idCombo , SkusPorCombo = listaSkuPorCombos } }); } }
public void AgregarSkusNuevoCombo(object sender) { var cantidad = Int32.Parse(UiTxtCantidadSku.Text); if (cantidad < 0) { EstablecerError("La cantidad debe de ser mayor a 0.", UiVistaCombos); return; } var listaSkusAAsociar = UiListaSku.GridView.GetSelectedFieldValues("CODE_SKU", "PACK_UNIT", "DESCRIPTION_SKU", "CODE_PACK_UNIT", "DESCRIPTION_PACK_UNIT", "FAMILY_SKU", "CODE_FAMILY_SKU", "DESCRIPTION_FAMILY_SKU", "ID"); var listaSkuPorCombos = new List <SkuPorCombo>(); if (ProductosDeCombo == null) { var comboArgumento = new ComboArgumento { Combo = new Combo { COMBO_ID = null } }; UsuarioSeleccionoCombo?.Invoke(sender, comboArgumento); } else { listaSkuPorCombos = ProductosDeCombo.ToList(); } if (listaSkusAAsociar.Count > 0) { foreach (var sku in listaSkusAAsociar) { int? famSku = null; string famCode = null; string descFam = null; if (((object[])sku)[5] != null) { famSku = int.Parse(((object[])sku)[5].ToString()); famCode = ((object[])sku)[6].ToString(); descFam = ((object[])sku)[7].ToString(); } var skuPorCombo = new SkuPorCombo { COMBO_ID = 0 , CODE_SKU = ((object[])sku)[0].ToString() , PACK_UNIT = int.Parse(((object[])sku)[1].ToString()) , QTY = cantidad , DESCRIPTION_SKU = ((object[])sku)[2].ToString() , CODE_PACK_UNIT = ((object[])sku)[3].ToString() , DESCRIPTION_PACK_UNIT = ((object[])sku)[4].ToString() , FAMILY_SKU = famSku , CODE_FAMILY_SKU = famCode , DESCRIPTION_FAMILY_SKU = descFam , ID = int.Parse(((object[])sku)[8].ToString()) }; listaSkuPorCombos.Add(skuPorCombo); skuPorCombo = null; } } ProductosDeCombo = listaSkuPorCombos; var res = ProductosNoAsociadosAlCombo.Where( s => ProductosDeCombo.All(s2 => s2.ID != s.ID)).ToList(); ProductosNoAsociadosAlCombo = res; }
protected void UiVistaSkusCombo_OnBatchUpdate(object sender, ASPxDataBatchUpdateEventArgs e) { var idCombo = 0; if (UiTxtCodigo.Text != "") { idCombo = int.Parse(UiTxtCodigo.Text); } if (idCombo != 0) { var listaSkuPorCombos = new List <SkuPorCombo>(); var listaSkuPorComboEliminados = new List <SkuPorCombo>(); foreach (var item in e.UpdateValues) { var skuPorCombo = new SkuPorCombo { COMBO_ID = idCombo , CODE_SKU = item.Keys["CODE_SKU"].ToString() , PACK_UNIT = int.Parse(item.Keys["PACK_UNIT"].ToString()) , QTY = int.Parse(item.NewValues["QTY"].ToString()) }; listaSkuPorCombos.Add(skuPorCombo); skuPorCombo = null; } if (listaSkuPorCombos.Count > 0) { UsuarioDeseaActualizarProductoDelCombo?.Invoke(sender, new ComboArgumento { Combo = new Combo { COMBO_ID = idCombo } , ProductosDeComboQueCambiaron = listaSkuPorCombos }); } foreach (var item in e.DeleteValues) { var skuPorCombo = new SkuPorCombo { COMBO_ID = idCombo , CODE_SKU = item.Keys["CODE_SKU"].ToString() , PACK_UNIT = int.Parse(item.Keys["PACK_UNIT"].ToString()) }; listaSkuPorComboEliminados.Add(skuPorCombo); skuPorCombo = null; } if (listaSkuPorComboEliminados.Count > 0) { UsuarioDeseaEliminarProductoAlCombo?.Invoke(sender, new ComboArgumento { Combo = new Combo { COMBO_ID = idCombo , SkusPorCombo = listaSkuPorComboEliminados } }); } e.Handled = true; UiVistaSkusCombo.JSProperties.Add("cpTerminoBatch", "Enabled"); } else { var listaNueva = ProductosDeCombo ?? new List <SkuPorCombo>(); foreach (var item in e.UpdateValues) { listaNueva.Where(w => w.CODE_SKU == item.Keys["CODE_SKU"].ToString() && w.PACK_UNIT == int.Parse(item.Keys["PACK_UNIT"].ToString())).ToList().ForEach(i => i.QTY = int.Parse(item.NewValues["QTY"].ToString())); } foreach (var item in e.DeleteValues) { var tmp = (List <SkuPorCombo>)listaNueva; tmp.RemoveAll(x => x.CODE_SKU == item.Keys["CODE_SKU"].ToString() && x.PACK_UNIT == int.Parse(item.Keys["PACK_UNIT"].ToString())); listaNueva = tmp; } ProductosDeCombo = listaNueva; e.Handled = true; var res = ProductosNoAsociadosAlCombo.Where( s => ProductosDeCombo.All(s2 => s2.CODE_SKU != s.CODE_SKU && s2.PACK_UNIT != s.PACK_UNIT)).ToList(); ProductosNoAsociadosAlCombo = res; UiVistaSkusCombo.JSProperties.Add("cpTerminoBatchNuevoCombo", "Enabled"); } }