示例#1
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.");
            }
        }