protected void UiVistaSkuConSerie_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
        {
            e.Cancel = true;
            try
            {
                var skuCode = UiVistaSkuConSerie.GetRowValues(UiVistaSkuConSerie.FocusedRowIndex, "SKU_CODE").ToString();
                var serie   = UiVistaSkuConSerie.GetRowValues(UiVistaSkuConSerie.FocusedRowIndex, "SERIE").ToString();
                var transferenciaDetalle = new TransferenciaDetalle {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text), SKU_CODE = skuCode.ToString(), SERIE = serie
                };
                UsuarioDeseaEliminarTransferenciaDetalle?.Invoke(sender, new TransferenciaDetalleArgumento {
                    Data = transferenciaDetalle
                });

                UiVistaSkuConSerie.JSProperties.Add("cpRecargarVistaSkuConSerie", "enable");
                UsuarioSeleccionoTransferenciaEncabezado?.Invoke(sender, new TransferenciaDetalleArgumento {
                    DataTransferenciaEncabezado = new TransferenciaEncabezado {
                        TRANSFER_ID = Convert.ToInt32(txtCodigo.Text)
                    }
                });
            }
            catch (Exception ex)
            {
                EstablecerError("No se ha podido eliminar el Sku seleccionado debido a: " + ex.Message, sender);
            }
        }
        private void AgregarSkuConSerie(object sender)
        {
            TransferenciaDetalle transferenciaDetalle;
            var agregoSku = false;
            var sku       = UiListaSkuConSerie.GridView.GetRowValues(UiListaSkuConSerie.GridView.FocusedRowIndex, "SKU");
            var series    = UiListaSeriePorSku.GridView.GetSelectedFieldValues("SERIAL_NUMBER");

            foreach (var serie in series)
            {
                transferenciaDetalle = new TransferenciaDetalle {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text), SKU_CODE = sku.ToString(), QTY = 1, SERIE = serie.ToString()
                };
                UsuarioDeseaCrearTransferenciaDetalle?.Invoke(sender, new TransferenciaDetalleArgumento {
                    Data = transferenciaDetalle
                });
                agregoSku = true;
            }
            if (agregoSku)
            {
                TransferenciaEncabezado transferenciaEncabezado;
                transferenciaEncabezado = new TransferenciaEncabezado {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text)
                };
                ObtenerTransferenciaDetalleSkusConSerie?.Invoke(sender, new TransferenciaDetalleArgumento {
                    DataTransferenciaEncabezado = transferenciaEncabezado
                });

                UiVistaSkuConSerie.JSProperties.Add("cpRecargarVistaSkuConSerie", "enable");
            }
        }
        public void AgregarSku(object sender)
        {
            TransferenciaDetalle transferenciaDetalle;
            var listaSku  = UiListaSku.GridView.GetSelectedFieldValues("SKU");
            var agregoSku = false;

            foreach (var sku in listaSku)
            {
                transferenciaDetalle = new TransferenciaDetalle {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text), SKU_CODE = sku.ToString(), QTY = 0
                };
                UsuarioDeseaCrearTransferenciaDetalle?.Invoke(sender, new TransferenciaDetalleArgumento {
                    Data = transferenciaDetalle
                });
                agregoSku = true;
            }
            if (agregoSku)
            {
                TransferenciaEncabezado transferenciaEncabezado;
                transferenciaEncabezado = new TransferenciaEncabezado {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text)
                };
                ObtenerTransferenciaDetalle?.Invoke(sender, new TransferenciaDetalleArgumento {
                    DataTransferenciaEncabezado = transferenciaEncabezado
                });
                UiViewSkuTranferencia.JSProperties.Add("cpRecargarListaSku", "Enable");
            }
        }
 public Operacion Crear(TransferenciaDetalle transferenciaDetalle)
 {
     BaseDeDatosServicio.BeginTransaction();
     try
     {
         DbParameter[] parameters =
         {
             new OAParameter
             {
                 ParameterName = "@TRANSFER_ID",
                 Value         = transferenciaDetalle.TRANSFER_ID
             },
             new OAParameter
             {
                 ParameterName = "@SKU_CODE",
                 Value         = transferenciaDetalle.SKU_CODE
             },
             new OAParameter
             {
                 ParameterName = "@QTY",
                 Value         = transferenciaDetalle.QTY
             },
             new OAParameter
             {
                 ParameterName = "@SERIE",
                 Value         = transferenciaDetalle.SERIE
             }
         };
         var op = BaseDeDatosServicio.ExecuteQuery <Operacion>("SWIFT_SP_INSERT_TRANSFER_DETAIL", CommandType.StoredProcedure, parameters)[0];
         BaseDeDatosServicio.Commit();
         return(op);
     }
     catch (DbException e)
     {
         BaseDeDatosServicio.Rollback();
         return(new Operacion
         {
             Codigo = e.ErrorCode,
             Mensaje = e.Message,
             Resultado = Tipos.ResultadoOperacionTipo.Error
         });
     }
     catch (Exception ex)
     {
         BaseDeDatosServicio.Rollback();
         return(new Operacion
         {
             Codigo = -1,
             Mensaje = ex.Message,
             Resultado = Tipos.ResultadoOperacionTipo.Error
         });
     }
 }
        protected void UiViewSkuTranferencia_BatchUpdate(object sender, DevExpress.Web.Data.ASPxDataBatchUpdateEventArgs e)
        {
            if (!ValidarConexionYUsuarioLogueado(sender))
            {
                return;
            }
            var actualizoSku = false;
            var borroSku     = false;
            TransferenciaDetalle transferenciaDetalle;

            foreach (var item in e.UpdateValues)
            {
                transferenciaDetalle = new TransferenciaDetalle {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text), SKU_CODE = item.Keys["SKU_CODE"].ToString(), QTY = float.Parse(item.NewValues["QTY"].ToString())
                };
                UsuarioDeseaCrearTransferenciaDetalle?.Invoke(sender, new TransferenciaDetalleArgumento {
                    Data = transferenciaDetalle
                });
                actualizoSku = true;
            }

            foreach (var item in e.DeleteValues)
            {
                transferenciaDetalle = new TransferenciaDetalle {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text), SKU_CODE = item.Keys["SKU_CODE"].ToString()
                };
                UsuarioDeseaEliminarTransferenciaDetalle?.Invoke(sender, new TransferenciaDetalleArgumento {
                    Data = transferenciaDetalle
                });
                actualizoSku = true;
                borroSku     = true;
            }
            if (actualizoSku)
            {
                TransferenciaEncabezado transferenciaEncabezado;
                transferenciaEncabezado = new TransferenciaEncabezado {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text)
                };
                ObtenerTransferenciaDetalle?.Invoke(sender, new TransferenciaDetalleArgumento {
                    DataTransferenciaEncabezado = transferenciaEncabezado
                });
                if (borroSku)
                {
                    UiViewSkuTranferencia.JSProperties.Add("cpRecargarListaSku", "Enable");
                }
            }
            e.Handled = true;

            UiViewSkuTranferencia.JSProperties.Add("cpLimpiarListaSKUSinSerie", "Enable");
        }
        protected void UiVistaSkuConSerie_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e)
        {
            if (!ValidarConexionYUsuarioLogueado(sender))
            {
                return;
            }
            TransferenciaEncabezado transferenciaEncabezado;
            TransferenciaDetalle    transferenciaDetalle;

            switch (e.Parameters.Split('|')[0])
            {
            case "AgregarSkuConSerie":
                var online           = 0;
                var codigoDeVendedor = UiListaVendedor.Value.ToString();
                if (UiCheckBoxTransferenciaEnLiena.Checked)
                {
                    online = 1;
                }
                transferenciaEncabezado = new TransferenciaEncabezado
                {
                    TRANSFER_ID           = Convert.ToInt32(txtCodigo.Text),
                    SELLER_CODE           = codigoDeVendedor.Split('|')[0],
                    SELLER_ROUTE          = codigoDeVendedor.Split('|')[1],
                    CODE_WAREHOUSE_SOURCE = UiListaBodega.Value.ToString(),
                    LAST_UPDATE_BY        = Session["USER"].ToString(),
                    COMMENT   = UiComentairo.Text,
                    STATUS    = e.Parameters.Split('|')[1],
                    IS_ONLINE = online
                };
                UsuarioDeseaModificarTransferenciaEncabezado?.Invoke(sender, new TransferenciaEncabezadoArgumento {
                    Data = transferenciaEncabezado
                });
                AgregarSkuConSerie(sender);
                break;

            case "LlenarVistaSkuConSerie":
                transferenciaEncabezado = new TransferenciaEncabezado {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text)
                };
                UsuarioSeleccionoTransferenciaEncabezado?.Invoke(sender, new TransferenciaDetalleArgumento {
                    DataTransferenciaEncabezado = transferenciaEncabezado
                });

                //UiVistaSkuConSerie.JSProperties.Add("cpDeshabilitarBodega", "Enable");

                if (e.Parameters.Split('|')[2] != "PENDIENTE")
                {
                    UiVistaSkuConSerie.JSProperties.Add("cpDeshabilitarVistaSkuConSerie", "Enable");
                    UiViewSkuTranferencia.JSProperties.Add("cpDeshabilitarBodega", "Enable");
                }
                else
                {
                    UiVistaSkuConSerie.JSProperties.Add("cpHabilitarVistaSkuConSerie", "Enable");
                }

                break;

            case "BorrarTodoDetalleSkuConSerie":
                transferenciaDetalle = new TransferenciaDetalle {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text)
                };
                transferenciaEncabezado = new TransferenciaEncabezado {
                    TRANSFER_ID = Convert.ToInt32(txtCodigo.Text)
                };
                UsuarioDeseaEliminarTodoTransferenciaDetalle?.Invoke(sender, new TransferenciaDetalleArgumento {
                    Data = transferenciaDetalle, DataTransferenciaEncabezado = transferenciaEncabezado
                });

                UiVistaSkuConSerie.JSProperties.Add("cpRecargarVistaSkuConSerie", "enable");
                UsuarioSeleccionoTransferenciaEncabezado?.Invoke(sender, new TransferenciaDetalleArgumento {
                    DataTransferenciaEncabezado = new TransferenciaEncabezado {
                        TRANSFER_ID = Convert.ToInt32(txtCodigo.Text)
                    }
                });
                break;

            case "LimpiarVistaSkuConSerie":
                TransferenciaDetalleSkusConSerie = new List <TransferenciaDetalle>();
                break;

            case "OcultarColumnaBorrar":
                UiVistaSkuConSerie.Columns[0].Visible = e.Parameters.Split('|')[1].Equals("0");
                break;
            }
        }