/// <summary> /// UiVistaDeSkusAsociadosAPromocionDeVentaPorMultiplo_OnBatchUpdate(object sender, ASPxDataBatchUpdateEventArgs e) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void UiVistaDeSkusAsociadosAPromocionDeVentaPorMultiplo_OnBatchUpdate(object sender, ASPxDataBatchUpdateEventArgs e) { if (!ValidarConexionYUsuarioLogueado(sender)) { return; } try { var listaDeSkusModificados = new List <VentaPorMultiploDePromo>(); foreach (var item in e.UpdateValues) { var skuDeVentaPorMultiplo = SkusAsociadosAPromocionDeVentaPorMultiplo.FirstOrDefault(sku => sku.SWIFT_PROMO_SKU_SALES_BY_MULTIPLE_ID == int.Parse(item.Keys["SWIFT_PROMO_SKU_SALES_BY_MULTIPLE_ID"].ToString())); if (skuDeVentaPorMultiplo == null) { continue; } skuDeVentaPorMultiplo.MULTIPLE = int.Parse(item.NewValues["MULTIPLE"].ToString()); listaDeSkusModificados.Add(skuDeVentaPorMultiplo); } if (listaDeSkusModificados.Count > 0) { UsuarioDeseaModificarSkuDeVentaPorMultiploAsociadoAPromocionDeVentaPorMultiplo?.Invoke( sender, new PromoArgumento { Promo = new Promo { PROMO_ID = int.Parse(UiTxtCodigoDePromocionDeVentaPorMultiplo.Value.ToString()) } , VentasPorMultiploDePromo = listaDeSkusModificados }); } var listaDeSkusEliminados = e.DeleteValues.Select(skuEliminado => SkusAsociadosAPromocionDeVentaPorMultiplo.FirstOrDefault(sku => sku.SWIFT_PROMO_SKU_SALES_BY_MULTIPLE_ID == int.Parse(skuEliminado.Keys["SWIFT_PROMO_SKU_SALES_BY_MULTIPLE_ID"].ToString()))).ToList(); if (listaDeSkusEliminados.Count > 0) { UsuarioDeseaEliminarSkuDeVentaPorMultiploAsociadoAPromocionDeVentaPorMultiplo?.Invoke(sender, new PromoArgumento { Promo = new Promo { PROMO_ID = int.Parse(UiTxtCodigoDePromocionDeVentaPorMultiplo.Value.ToString()) } , VentasPorMultiploDePromo = listaDeSkusEliminados }); } e.Handled = true; } catch (Exception exception) { EstablecerError(exception.Message, sender); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void UiVistaDeSkusAsociadosAPromocionDeVentaPorMultiplo_OnCustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e) { if (!ValidarConexionYUsuarioLogueado(sender)) { return; } try { switch (e.Parameters.Split('|')[0]) { case "ExpandirGruposDeUiVistaDeSkusAsociadosAPromocionDeVentaPorMultiplo": UiVistaDeSkusAsociadosAPromocionDeVentaPorMultiplo.ExpandAll(); break; case "ContraerGruposDeUiVistaDeSkusAsociadosAPromocionDeVentaPorMultiplo": UiVistaDeSkusAsociadosAPromocionDeVentaPorMultiplo.CollapseAll(); break; case "EliminarSkusAsociadosAPromocionDeVentaPorMultiplo": var listaDeSkusAEliminar = new List <VentaPorMultiploDePromo>(); for (var i = 0; i < UiVistaDeSkusAsociadosAPromocionDeVentaPorMultiplo.VisibleRowCount; i++) { listaDeSkusAEliminar.Add((VentaPorMultiploDePromo)UiVistaDeSkusAsociadosAPromocionDeVentaPorMultiplo.GetRow(i)); } UsuarioDeseaEliminarSkuDeVentaPorMultiploAsociadoAPromocionDeVentaPorMultiplo?.Invoke(sender, new PromoArgumento { Promo = new Promo { PROMO_ID = int.Parse(UiTxtCodigoDePromocionDeVentaPorMultiplo.Value.ToString()) } , VentasPorMultiploDePromo = listaDeSkusAEliminar }); break; case "LimpiarVistaDeSkusAsociadosAPromocionDeVentaPorMultiplo": SkusAsociadosAPromocionDeVentaPorMultiplo = null; break; case "CargarSkusAsociadosAPromocionDeVentaPorMultiplo": UsuarioDeseaObtenerSkusDeVentaPorMultiploAsociadosAPromocionDeVentaPorMultiplo?.Invoke(sender, new PromoArgumento { Promo = new Promo { PROMO_ID = int.Parse(UiTxtCodigoDePromocionDeVentaPorMultiplo.Value.ToString()) } }); break; case "AsociarSkusAPromocionDeVentaPorMultiplo": if (double.Parse(UiQtyVentaMinimaParaAplicarASkuDeVentaPorMultiplo.Value.ToString()) <= 0) { EstablecerError("La cantidad de venta mínima debe ser mayor cero.", sender); return; } var idPromocionDeVentaPorMultiplo = UiTxtCodigoDePromocionDeVentaPorMultiplo.Value == null ? 0 : int.Parse(UiTxtCodigoDePromocionDeVentaPorMultiplo.Value.ToString()); var listaSkusAAsociar = UiListaDeSkusNoAsociadosAPromocionDeVentaPorMultiplo.GridView.GetSelectedFieldValues("CODE_SKU", "PACK_UNIT"); if (listaSkusAAsociar.Count <= 0) { EstablecerError("Por favor, seleccione los productos que desea asociar a la promoción.", sender); return; } ; var listaDeSkusConVentaPorMultiploAAsociar = listaSkusAAsociar.Select(sku => new VentaPorMultiploDePromo { PROMO_ID = idPromocionDeVentaPorMultiplo, CODE_SKU = ((object[])sku)[0].ToString(), PACK_UNIT = int.Parse(((object[])sku)[1].ToString()), MULTIPLE = int.Parse(UiQtyVentaMinimaParaAplicarASkuDeVentaPorMultiplo.Value.ToString()) }).ToList(); UsuarioDeseaAsociarSkuDeVentaPorMultiploAPromocionDeVentaPorMultiplo?.Invoke(sender, new PromoArgumento { Promo = new Promo { PROMO_ID = idPromocionDeVentaPorMultiplo, PROMO_NAME = UiTxtNombreDePromocionDeVentaPorMultiplo.Value.ToString(), PROMO_TYPE = "SALES_BY_MULTIPLE" } , VentasPorMultiploDePromo = listaDeSkusConVentaPorMultiploAAsociar }); break; } } catch (Exception exception) { EstablecerError(exception.Message, sender); } }