Example #1
0
 public IList <OrdenDeVentaEncabezado> ObtenerOrdenesdeVentaPorFechaYUsuario(OrdenDeVentaDetalle ordenDeVentaDetalle)
 {
     DbParameter[] parameters =
     {
         new OAParameter
         {
             ParameterName = "@STARTDATE",
             Value         = ordenDeVentaDetalle.STAR_DATE
         }
         , new OAParameter
         {
             ParameterName = "@ENDDATE",
             Value         = ordenDeVentaDetalle.END_DATE
         }
         , new OAParameter
         {
             ParameterName = "@LOGIN",
             Value         = ordenDeVentaDetalle.LOGIN
         }
     };
     return(BaseDeDatosServicio.ExecuteQuery <OrdenDeVentaEncabezado>("SWIFT_SP_GET_SALES_ORDER_FOR_PICKING_BY_DATES", CommandType.StoredProcedure, parameters));
 }
 private bool DetalleNoTieneTonoYCalibre(OrdenDeVentaDetalle detetalle)
 {
     return(string.IsNullOrEmpty(detetalle.TONE) && string.IsNullOrEmpty(detetalle.CALIBER));
 }
        private void AgregarSku(object sender)
        {
            try
            {
                Session["CargadoDeExcel"] = false;
                if (OrdenDeVentaDetalles == null)
                {
                    OrdenDeVentaDetalles = new List <OrdenDeVentaDetalle>();
                }

                var lst = UiListaSku.GridView.GetSelectedFieldValues("SKU;SKU_DESCRIPTION;COST");
                int i   = 1;
                foreach (var item in lst)
                {
                    var existeSku = false;
                    var item1     = item;
                    foreach (var itemOrden in OrdenDeVentaDetalles.Where(itemOrden => item1.ToString().Split('|')[0].Equals(itemOrden.SKU)))
                    {
                        itemOrden.TOTAL_LINE = (itemOrden.QTY * itemOrden.PRICE);
                        existeSku            = true;
                        break;
                    }
                    if (existeSku)
                    {
                        continue;
                    }
                    var lineaDetalle = new OrdenDeVentaDetalle();
                    lineaDetalle.SKU             = item.ToString().Split('|')[0];
                    lineaDetalle.SKU_DESCRIPTION = item.ToString().Split('|')[1];
                    lineaDetalle.QTY             = 1;
                    lineaDetalle.PRICE           = Convert.ToDecimal(item.ToString().Split('|')[2]);
                    lineaDetalle.TOTAL_LINE      = (lineaDetalle.PRICE * lineaDetalle.QTY);
                    lineaDetalle.DISCOUNT        = UiSpinDescuentoAplicado.Number;
                    lineaDetalle.TOTAL_DISCOUNT  = (lineaDetalle.TOTAL_LINE - ((lineaDetalle.TOTAL_LINE * lineaDetalle.DISCOUNT) / 100));

                    lineaDetalle.LINE_SEQ        = i;
                    lineaDetalle.POSTED_DATETIME = DateTime.Now;
                    lineaDetalle.SERIE           = "0";
                    lineaDetalle.SERIE_2         = "0";
                    lineaDetalle.REQUERIES_SERIE = 0;
                    lineaDetalle.COMBO_REFERENCE = lineaDetalle.SKU;
                    lineaDetalle.PARENT_SEQ      = lineaDetalle.LINE_SEQ;
                    lineaDetalle.IS_ACTIVE_ROUTE = 0;

                    OrdenDeVentaDetalles.Add(lineaDetalle);
                    i++;

                    foreach (var itemSkuParaVenta in SkuParaVentas.Where(itemSkuParaVenta => itemSkuParaVenta.SKU.Equals(lineaDetalle.SKU)))
                    {
                        SkuParaVentas.Remove(itemSkuParaVenta);
                        break;
                    }
                }
                UiVistaOrdenDeVentaDetalle.DataSource = OrdenDeVentaDetalles;
                UiVistaOrdenDeVentaDetalle.DataBind();

                ((ASPxGridView)(sender)).JSProperties.Add("cpActualizarListaSkusParaVenta", "enable");
            }
            catch (Exception ex)
            {
                EstablecerError(ex.Message, sender);
            }
        }
Example #4
0
 public IList <OrdenDeVentaDetalle> ObtenerDetalleDeOrdenesDeVentaPorRangoDeFechas(OrdenDeVentaDetalle ordenDeVentaDetalle)
 {
     DbParameter[] parameters =
     {
         new OAParameter
         {
             ParameterName = "@STAR_DATE",
             Value         = ordenDeVentaDetalle.STAR_DATE
         }
         , new OAParameter
         {
             ParameterName = "@END_DATE",
             Value         = ordenDeVentaDetalle.END_DATE
         }
     };
     return(BaseDeDatosServicio.ExecuteQuery <OrdenDeVentaDetalle>("SWIFT_SP_GET_SALES_ORDERS_FOR_ROUTE", CommandType.StoredProcedure, parameters));
 }
Example #5
0
        public Operacion ValidarProductosParaVenta(List <OrdenDeVentaExcel> ordenDeVentaDetalles, string fechaDeEntrega, string idCliente, string idPiceList, string login, ref List <Error> listaErroes)
        {
            var op = new Operacion();

            DbParameter[] parameters =
            {
                new OAParameter
                {
                    ParameterName = "@CODE_PRICE_LIST",
                    Value         = idPiceList
                }
                , new OAParameter
                {
                    ParameterName = "@LOGIN",
                    Value         = login
                }
            };

            var listaSkuparaventa = BaseDeDatosServicio.ExecuteQuery <SkuParaVenta>("SWIFT_SP_GET_PRESALE_SKU_BY_PRICE_LIST", CommandType.StoredProcedure, parameters).ToList();
            IList <OrdenDeVentaDetalle> listaResultadoDeVentaDetalles = new List <OrdenDeVentaDetalle>();

            var     lagSku      = 0;
            int     linea       = 1;
            var     descripcion = "";
            decimal costo       = 0;

            ValidarSkusRepetidos(ordenDeVentaDetalles, linea, ref listaErroes);

            linea = 1;

            foreach (var lineaExcel in ordenDeVentaDetalles)
            {
                linea++;
                //validamos si el sku existe entre la lista de skus del cliente
                foreach (var skus in listaSkuparaventa.Where(skus => lineaExcel.SKU == skus.SKU))
                {
                    descripcion = skus.SKU_DESCRIPTION;
                    costo       = Convert.ToDecimal(skus.COST);
                    lagSku      = 1;
                }
                //verificar si no se encuentra el sku en la lista de precios
                ValidarSkuEnListaDePrecios(lagSku, linea, ref listaErroes);

                lagSku = 0;

                ValidarCantidadDeSkuObtenidaDesdeExcel(lineaExcel, linea, ref listaErroes);

                //validamos si el id del cliente es el mismo en todas las lineas
                ValidarCodigoDeClienteYListaDePrecios(lineaExcel, idCliente, idPiceList, linea, ref listaErroes);

                //validamos si la fecha es la misma en todas las lienas
                ValidarFechaDeEntrega(lineaExcel, linea, ref listaErroes, fechaDeEntrega);

                if (listaErroes.Count < 1)
                {
                    var lineaDetalle = new OrdenDeVentaDetalle();
                    lineaDetalle.SKU             = lineaExcel.SKU;
                    lineaDetalle.SKU_DESCRIPTION = descripcion;
                    lineaDetalle.QTY             = decimal.Parse(lineaExcel.QTY);
                    lineaDetalle.PRICE           = Convert.ToDecimal(costo);
                    lineaDetalle.TOTAL_LINE      = (lineaDetalle.PRICE * lineaDetalle.QTY);
                    lineaDetalle.DISCOUNT        = 0;
                    lineaDetalle.TOTAL_DISCOUNT  = (lineaDetalle.TOTAL_LINE -
                                                    ((lineaDetalle.TOTAL_LINE * lineaDetalle.DISCOUNT) / 100));

                    lineaDetalle.LINE_SEQ        = linea - 1;
                    lineaDetalle.POSTED_DATETIME = DateTime.Now;
                    lineaDetalle.SERIE           = "0";
                    lineaDetalle.SERIE_2         = "0";
                    lineaDetalle.REQUERIES_SERIE = 0;
                    lineaDetalle.COMBO_REFERENCE = lineaDetalle.SKU;
                    lineaDetalle.PARENT_SEQ      = lineaDetalle.LINE_SEQ;
                    lineaDetalle.IS_ACTIVE_ROUTE = 0;

                    listaResultadoDeVentaDetalles.Add(lineaDetalle);
                }
            }
            if (listaErroes.Count < 1)
            {
                op.Dato      = listaResultadoDeVentaDetalles;
                op.Resultado = ResultadoOperacionTipo.Exito;
                return(op);
            }
            op.Resultado = ResultadoOperacionTipo.Error;
            return(op);
        }