private void Impuesto_Guardar(string idItem, bool nuevo)
        {
            ImpuestoWCFClient objImpuestoWCF;
            List <gsImpuesto_ListarPorItemResult> lstImpuestos;

            try
            {
                if (nuevo)
                {
                    objImpuestoWCF = new ImpuestoWCFClient();
                    lstImpuestos   = objImpuestoWCF.Impuesto_ListarPorItem(((Usuario_LoginResult)Session["Usuario"]).idEmpresa,
                                                                           ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, idItem, DateTime.Now.Date).ToList();
                    if (Session["lstImpuestos"] == null)
                    {
                        Session["lstImpuestos"] = lstImpuestos;
                    }
                    else
                    {
                        ((List <gsImpuesto_ListarPorItemResult>)Session["lstImpuestos"]).AddRange(lstImpuestos);
                    }
                    lstImpuestos = ((List <gsImpuesto_ListarPorItemResult>)Session["lstImpuestos"]);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #2
0
        static void Pedido_Cargar(string idOrdenVenta, int idEmpresa, int codigoUsuario)
        {
            OrdenVentaWCFClient       objOrdenVentaWCF = new OrdenVentaWCFClient();
            gsOV_BuscarCabeceraResult objOrdenVentaCab;
            List <GlosaBE>            lstGlosa       = new List <GlosaBE>();
            ImpuestoWCFClient         objImpuestoWCF = new ImpuestoWCFClient();

            gsOV_BuscarImpuestoResult[]           lstImpuestos    = null;
            List <gsImpuesto_ListarPorItemResult> lstImpuestoItem = new List <gsImpuesto_ListarPorItemResult>();

            gsOV_BuscarDetalleResult[] objOrdenVentaDet = null;
            List <gsItem_BuscarResult> lstProductos     = new List <gsItem_BuscarResult>();
            bool?           bloqueado      = false;
            string          mensajeBloqueo = null;
            AgendaWCFClient objAgendaWCFClient;

            AgendaWCF.VBG01134Result objAgendaCliente;
            decimal? lineaCredito    = null;
            DateTime?fechaVecimiento = null;
            string   strLETRAS       = "";

            try
            {
                objAgendaWCFClient = new AgendaWCFClient();
                objAgendaCliente   = new AgendaWCF.VBG01134Result();
                //List<gsPedidos_FechasLetrasSelectResult> lstFechas = new List<gsPedidos_FechasLetrasSelectResult>();


                objOrdenVentaCab = objOrdenVentaWCF.OrdenVenta_Buscar(idEmpresa, codigoUsuario, int.Parse(idOrdenVenta), ref objOrdenVentaDet, ref lstImpuestos, ref bloqueado, ref mensajeBloqueo);
                objAgendaCliente = objAgendaWCFClient.Agenda_BuscarCliente_Contado(idEmpresa, codigoUsuario, objOrdenVentaCab.ID_Agenda, ref lineaCredito, ref fechaVecimiento, (int)objOrdenVentaCab.ID_Moneda);

                List <GlosaBE> Impuesto_Obtener_R = new List <GlosaBE>();
                gsPedidos_FechasLetrasSelectResult[] lstFechas = objOrdenVentaWCF.PedidoLetras_Detalle(idEmpresa, codigoUsuario, 0, int.Parse(idOrdenVenta));
                strLETRAS = PedidosFechas_Letras(lstFechas.ToList(), (DateTime)objOrdenVentaCab.FechaEmision);

                objOrdenVentaWCF.OrdenVenta_Registrar_Contado(idEmpresa, 1, OrdenVenta_ObtenerCabecera(objOrdenVentaCab, idOrdenVenta, lstImpuestos, ref Impuesto_Obtener_R),
                                                              OrdenVenta_ObtenerDetalle(objOrdenVentaCab, objOrdenVentaDet, idEmpresa, codigoUsuario).ToArray(),
                                                              Impuesto_Obtener_R.ToArray(), decimal.Parse(idOrdenVenta), Math.Abs((decimal)lineaCredito),
                                                              (DateTime)fechaVecimiento, lstFechas, strLETRAS);

                //string pedido = "Realizado.";
            }
            catch (Exception ex)
            {
                throw new ArgumentException(ex.Message, ex.TargetSite.Name + "No se pudo registrar el pedido en la base de datos.");
            }
        }
Example #3
0
        static List <gsOV_BuscarDetalleResult> OrdenVenta_ObtenerDetalle(gsOV_BuscarCabeceraResult objOrdenVentaCab_R,
                                                                         gsOV_BuscarDetalleResult[] objOrdenVentaDet, int idEmpresa, int codigoUsuario)
        {
            ImpuestoWCFClient objImpuestoWCF = new ImpuestoWCFClient();

            gsOV_BuscarImpuestoResult[]     lstImpuestos = null;
            List <gsOV_BuscarDetalleResult> lstPedidoDet;
            List <gsItem_BuscarResult>      lstProductos = new List <gsItem_BuscarResult>(); // = (List<gsItem_BuscarResult>)Session["lstProductos"];
            //List<gsItem_BuscarResult> lstProductosR = new List<gsItem_BuscarResult>();
            gsOV_BuscarDetalleResult objProducto;
            List <gsImpuesto_ListarPorItemResult> lstImpuestoItem = new List <gsImpuesto_ListarPorItemResult>();
            DateTime fecha;

            try
            {
                foreach (gsOV_BuscarDetalleResult objDetalle in objOrdenVentaDet)
                {
                    gsItem_BuscarResult objItem = new gsItem_BuscarResult();

                    objItem.Codigo           = objDetalle.ID_Item;
                    objItem.Cantidad         = Convert.ToInt32(objDetalle.Cantidad);
                    objItem.DctoMax          = objDetalle.DctoMax;
                    objItem.Descuento        = objDetalle.Dcto;
                    objItem.ID_Moneda        = objDetalle.ID_Moneda;
                    objItem.ID_UnidadControl = objDetalle.ID_UnidadDoc;
                    objItem.ID_UnidadInv     = objDetalle.ID_UnidadInv;
                    objItem.Importe          = objDetalle.Importe;
                    objItem.Item             = objDetalle.Item;
                    objItem.Item_ID          = objDetalle.Item_ID;
                    objItem.NombreMoneda     = objDetalle.NombreMoneda;
                    objItem.Observacion      = objDetalle.Observaciones;
                    objItem.Precio           = objDetalle.Precio;
                    objItem.PrecioInicial    = objDetalle.PrecioMinimo;
                    objItem.Signo            = objDetalle.Signo;
                    if (objOrdenVentaCab_R.Aprobacion1)
                    {
                        objItem.Stock = objDetalle.Stock + objDetalle.Cantidad;
                    }
                    else
                    {
                        objItem.Stock = objDetalle.Stock;
                    }
                    objItem.FactorUnidadInv    = objDetalle.FactorUnidadInv;
                    objItem.UnidadPresentacion = objDetalle.UnidadPresentacion;
                    objItem.ID_Amarre          = objDetalle.ID_Amarre;
                    objItem.Estado             = 1;
                    objItem.CostoUnitario      = objDetalle.CostoUnitario;
                    lstImpuestoItem.AddRange(objImpuestoWCF.Impuesto_ListarPorItem(idEmpresa, codigoUsuario, objDetalle.ID_Item, DateTime.Now));
                    //ViewState["fecha"] = objOrdenVentaCab.FechaOrden;
                    fecha = objOrdenVentaCab_R.FechaOrden;
                    lstProductos.Add(objItem);
                }

                //Session["lstProductos"] = lstProductos;
                //Session["lstImpuestos"] = lstImpuestoItem;


                lstPedidoDet = new List <gsOV_BuscarDetalleResult>();
                foreach (gsItem_BuscarResult producto in lstProductos)
                {
                    objProducto               = new gsOV_BuscarDetalleResult();
                    objProducto.ID_Amarre     = producto.ID_Amarre;
                    objProducto.TablaOrigen   = "OV";
                    objProducto.ID_Item       = producto.Codigo;
                    objProducto.ID_ItemPedido = null;
                    objProducto.Item_ID       = producto.Item_ID;
                    objProducto.Cantidad      = producto.Cantidad;
                    objProducto.Precio        = producto.Precio;
                    objProducto.Dcto          = producto.Descuento;
                    //objProducto.DctoValor = Math.Round(producto.Descuento * producto.Precio / 100, 2);
                    objProducto.DctoValor         = Math.Round(((producto.Descuento / 100)) * producto.Precio, 4);
                    objProducto.Importe           = producto.Importe;
                    objProducto.ID_ItemAnexo      = null;
                    objProducto.ID_CCosto         = null;
                    objProducto.ID_UnidadGestion  = null;
                    objProducto.ID_UnidadProyecto = null;
                    objProducto.ID_UnidadInv      = producto.ID_UnidadInv;
                    objProducto.FactorUnidadInv   = producto.FactorUnidadInv;
                    objProducto.CantidadUnidadInv = producto.Cantidad; // Consultar como se calcula realmente
                    objProducto.ID_UnidadDoc      = producto.ID_UnidadControl;
                    objProducto.CantidadUnidadDoc = producto.Cantidad; // Consultar como se calcula realmente
                    objProducto.Observaciones     = producto.Observacion;
                    objProducto.Estado            = (int)producto.Estado;
                    objProducto.Stock             = producto.Stock;

                    lstPedidoDet.Add(objProducto);
                }
                return(lstPedidoDet);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #4
0
        static void Pedido_Cargar(string idOrdenVenta, int idEmpresa, int codigoUsuario)
        {
            OrdenVentaWCFClient       objOrdenVentaWCF = new OrdenVentaWCFClient();;
            gsOV_BuscarCabeceraResult objOrdenVentaCab;
            List <GlosaBE>            lstGlosa       = new List <GlosaBE>();
            ImpuestoWCFClient         objImpuestoWCF = new ImpuestoWCFClient();

            gsOV_BuscarImpuestoResult[]           lstImpuestos    = null;
            List <gsImpuesto_ListarPorItemResult> lstImpuestoItem = new List <gsImpuesto_ListarPorItemResult>();

            gsOV_BuscarDetalleResult[] objOrdenVentaDet = null;
            List <gsItem_BuscarResult> lstProductos     = new List <gsItem_BuscarResult>();
            bool?           bloqueado      = false;
            string          mensajeBloqueo = null;
            AgendaWCFClient objAgendaWCFClient;

            AgendaWCF.VBG01134Result objAgendaCliente;
            decimal? lineaCredito    = null;
            DateTime?fechaVecimiento = null;
            string   strLETRAS       = "";
            decimal? TC = 0;

            try
            {
                objAgendaWCFClient = new AgendaWCFClient();
                objAgendaCliente   = new AgendaWCF.VBG01134Result();

                objOrdenVentaCab = objOrdenVentaWCF.OrdenVenta_Buscar(idEmpresa, codigoUsuario, int.Parse(idOrdenVenta),
                                                                      ref objOrdenVentaDet, ref lstImpuestos, ref bloqueado, ref mensajeBloqueo);

                objAgendaCliente = objAgendaWCFClient.Agenda_BuscarCliente(idEmpresa, codigoUsuario, objOrdenVentaCab.ID_Agenda, ref lineaCredito, ref fechaVecimiento, ref TC);
                List <GlosaBE> Impuesto_Obtener_R = new List <GlosaBE>();


                gsPedidos_FechasLetrasSelectResult[] lstFechas = objOrdenVentaWCF.PedidoLetras_Detalle(idEmpresa, codigoUsuario, 0, int.Parse(idOrdenVenta));
                strLETRAS = PedidosFechas_Letras(lstFechas.ToList(), (DateTime)objOrdenVentaCab.FechaEmision);



                //-----------------------------------------------------------

                gsOV_BuscarCabeceraResult  cabecera = OrdenVenta_ObtenerCabecera(objOrdenVentaCab, idOrdenVenta, lstImpuestos, ref Impuesto_Obtener_R);
                gsOV_BuscarDetalleResult[] detalle  = OrdenVenta_ObtenerDetalle(objOrdenVentaCab, objOrdenVentaDet, idEmpresa, codigoUsuario).ToArray();


                int KardexFlete = 0;
                List <gsOV_BuscarDetalleResult> kardex      = new List <gsOV_BuscarDetalleResult>();
                gsOV_BuscarDetalleResult        objetoFlete = new gsOV_BuscarDetalleResult();
                kardex = detalle.ToList().FindAll(x => x.Item.Contains("Flete") && x.Estado == 1).ToList();

                if (kardex.Count > 0)
                {
                    KardexFlete = Convert.ToInt32(kardex[0].Item_ID);
                    //-----------------------------------------------------------
                    if (KardexFlete > 0)
                    {
                        objetoFlete = detalle.ToList().Find(x => x.Item_ID == KardexFlete && x.Estado == 1);
                    }
                }

                // ----------------------------------------------------------
                objOrdenVentaWCF.OrdenVenta_Registrar(idEmpresa, 1,
                                                      cabecera,
                                                      detalle,
                                                      Impuesto_Obtener_R.ToArray(), decimal.Parse(idOrdenVenta), (decimal)lineaCredito,
                                                      (DateTime)fechaVecimiento, lstFechas, strLETRAS, KardexFlete, objetoFlete);

                //objOrdenVentaWCF.OrdenVenta_Registrar(codEmpresa, codUsuario, cabecera, detalle, impuesto, idPedido, LineaCredito,
                //                                       dtFechaVencimiento, fechas, PlanLetras, KardexFlete, objetoFlete);

                //string pedido = "Realizado.";
            }
            catch (Exception ex)
            {
                throw new ArgumentException(ex.Message, ex.TargetSite.Name + "No se pudo registrar el pedido en la base de datos.");
            }
        }