/// <summary> /// elimina los skus de la promo /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void UiVistaSkusAsociadosPromoPorPrecioEspecial_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e) { e.Cancel = true; try { var SkuPromoID = int.Parse(e.Values["SPECIAL_PRICE_LIST_BY_SCALE_ID"].ToString()); var IdPromo = int.Parse(UiTxtCodigoDePromocionDeDescuentoPorPrecioEspecial.Value.ToString()); UsuarioDeseaEliminarSkusAPromo?.Invoke(sender, new PromoArgumento { Promo = new Promo { PROMO_ID = IdPromo }, DescuentoPorPrecioEspecial = new DescuentosPorPrecioEspecial { SPECIAL_PRICE_LIST_BY_SCALE_ID = SkuPromoID } }); } catch (Exception ex) { EstablecerError("No se ha podido eliminar sku debido a: " + ex.Message, sender); } }
/// <summary> /// Actualiza o elimina nuestros skus asociados a la promo /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void UiVistaSkusAsociadosADescuentoPorPrecioEspecial_OnBatchUpdate(object sender, ASPxDataBatchUpdateEventArgs e) { if (!ValidarConexionYUsuarioLogueado(sender)) { return; } #region Actualizar var ListaDeSkusModificados = new List <DescuentosPorPrecioEspecial>(); foreach (var item in e.UpdateValues) { var SkuACambiar = SkusAsociadosAPromo.FirstOrDefault(p => p.SPECIAL_PRICE_LIST_BY_SCALE_ID == int.Parse(item.Keys["SPECIAL_PRICE_LIST_BY_SCALE_ID"].ToString())); if (SkuACambiar == null) { continue; } SkuACambiar.SPECIAL_PRICE_LIST_BY_SCALE_ID = SkuACambiar.SPECIAL_PRICE_LIST_BY_SCALE_ID; SkuACambiar.INCLUDE_DISCOUNT = int.Parse(item.NewValues["INCLUDE_DISCOUNT"].ToString()); SkuACambiar.PRICE = Decimal.Parse(item.NewValues["PRICE"].ToString()); ListaDeSkusModificados.Add(SkuACambiar); } if (ListaDeSkusModificados.Count > 0 || e.DeleteValues.Count > 0) { foreach (var skuUpdate in ListaDeSkusModificados) { UsuarioDeseaActualizarSkusAPromo?.Invoke(sender, new PromoArgumento { DescuentoPorPrecioEspecial = new DescuentosPorPrecioEspecial { SPECIAL_PRICE_LIST_BY_SCALE_ID = skuUpdate.SPECIAL_PRICE_LIST_BY_SCALE_ID, INCLUDE_DISCOUNT = skuUpdate.INCLUDE_DISCOUNT, PRICE = skuUpdate.PRICE }, Promo = new Promo { PROMO_ID = int.Parse(UiTxtCodigoDePromocionDeDescuentoPorPrecioEspecial.Value.ToString()) } }); } } else { EstablecerError(Enums.GetStringValue(ErrorEnPreciosEspeciales.SinRegistrosAActualizar), sender); } #endregion #region Eliminar foreach (var item in e.DeleteValues) { var SkuAEliminar = SkusAsociadosAPromo.FirstOrDefault(p => p.SPECIAL_PRICE_LIST_BY_SCALE_ID == int.Parse(item.Keys["SPECIAL_PRICE_LIST_BY_SCALE_ID"].ToString())); if (SkuAEliminar == null) { continue; } UsuarioDeseaEliminarSkusAPromo?.Invoke(sender, new PromoArgumento { Promo = new Promo { PROMO_ID = int.Parse(UiTxtCodigoDePromocionDeDescuentoPorPrecioEspecial.Value.ToString()) }, DescuentoPorPrecioEspecial = new DescuentosPorPrecioEspecial { SPECIAL_PRICE_LIST_BY_SCALE_ID = SkuAEliminar.SPECIAL_PRICE_LIST_BY_SCALE_ID } }); } #endregion e.Handled = true; }