protected void grvOrdenPedidos_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            if (!validateService(oParamentro.IdModulo, CMD_Administrar))
            {
                lblError.Text = "Usted no tiene privilegios para realizar esta acción!";
                return;
            }

            string CodigoOrden = (grvOrdenPedidos.DataKeys[e.RowIndex].Value).ToString();
            eOrden oItem       = cCMS.Orden_item(CodigoOrden);

            if (cCMS.Orden_delete(CodigoOrden))
            {
                if (oProcesoActual.RegLog)
                {
                    RegistrarLog(oProcesoActual.IdProceso, "Se elimino la orden " + CodigoOrden.ToString());
                }

                BindListadoOrden();
            }
            else
            {
                lblError.Text = cCMS.getErrorMessage();
            }

            BindListado();
        }
        public eOrden GetListProducto(string CodigoOrden)
        {
            SqlCommand cmd = new SqlCommand("usp_tbordenSelectProducto");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@CodigoOrden", SqlDbType.VarChar).Value = CodigoOrden;
            SqlDataReader         reader             = ExecuteReader(cmd);
            List <eOrdenProducto> listaOrdenProducto = new List <eOrdenProducto>();
            List <eProducto>      listaProducto      = new List <eProducto>();
            eOrden sOrden = new eOrden();

            while (reader.Read())
            {
                eOrdenProducto oOrdenProducto = new eOrdenProducto();
                eProducto      oProducto      = new eProducto();
                oProducto.ModeloProducto             = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : "");
                oProducto.PrecioProducto             = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDecimal(1) : Convert.ToDecimal(0));
                oOrdenProducto.CantidadOrdenProducto = ((!reader[2].Equals(DBNull.Value)) ? reader.GetInt32(2) : Convert.ToInt32(0));
                sOrden.FechaOrden    = ((!reader[3].Equals(DBNull.Value)) ? reader.GetDateTime(3) : DateTime.Today);
                oProducto.IDProducto = ((!reader[4].Equals(DBNull.Value)) ? reader.GetInt32(4) : 0);
                listaOrdenProducto.Add(oOrdenProducto);
                listaProducto.Add(oProducto);
            }

            eOrden oOrden = new eOrden();

            oOrden.lOrdenProducto = listaOrdenProducto;

            oOrden.lProducto  = listaProducto;
            oOrden.FechaOrden = sOrden.FechaOrden;
            reader.Close();
            return(oOrden);
        }
        protected void grvListadoPedidos_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            Literal litDespacho = (Literal)e.Row.FindControl("litDespacho");
            Literal litEstado   = (Literal)e.Row.FindControl("litEstado");
            Image   imgEstado   = (Image)e.Row.FindControl("imgEstado");

            lnkCodigoOrden = (LinkButton)e.Row.FindControl("lnkCodigoOrden");

            if (litDespacho != null)
            {
                eOrden oOrden = (eOrden)e.Row.DataItem;
                litDespacho.Text = (oOrden.TipoOrden == 0) ? "Delivery" : "Recojo";
                litEstado.Text   = oOrden.EstadoPago;

                if (litEstado.Text == "AUTORIZADO")
                {
                    imgEstado.ImageUrl = "~/images/circulo_verde.png";
                }
                else if (litEstado.Text == "DENEGADO")
                {
                    imgEstado.ImageUrl = "~/images/circulo_rojo.png";
                }
                else
                {
                    imgEstado.ImageUrl = "~/images/circulo_naranja.png";
                }

                lnkCodigoOrden.Text = oOrden.CodigoOrden;
            }
        }
        public List <eOrden> Orden_buscar_codUsuario(Int64 id_usuario)
        {
            //llenamos la lista de Entrega....
            SqlCommand cmd = new SqlCommand("usp_Pedido_Buscar_Usuario");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@id_usuario", SqlDbType.Int).Value = id_usuario;


            SqlDataReader reader = ExecuteReader(cmd);
            List <eOrden> lista  = new List <eOrden>();

            while (reader.Read())
            {
                eOrden       oOrden      = new eOrden();
                eUsuariosWeb oUsuarioWeb = new eUsuariosWeb();


                oOrden.CodigoOrden         = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : "");
                oOrden.FechaOrden          = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDateTime(1) : DefaultDateTime);
                oUsuarioWeb.nombre_usuario = ((!reader[2].Equals(DBNull.Value)) ? reader.GetString(2) : "");
                oUsuarioWeb.descripcion_documento_identidad_usuario = ((!reader[3].Equals(DBNull.Value)) ? reader.GetString(3) : "");
                oUsuarioWeb.estado_trabajador = ((!reader[4].Equals(DBNull.Value)) ? reader.GetInt32(4) : 0);
                oOrden.MontoTotal             = ((!reader[5].Equals(DBNull.Value)) ? reader.GetDecimal(5) : 0);
                oOrden.TipoOrden  = ((!reader[6].Equals(DBNull.Value)) ? reader.GetInt32(6) : 0);
                oOrden.EstadoPago = ((!reader[7].Equals(DBNull.Value)) ? reader.GetString(7) : "");


                oOrden.eUsuario = oUsuarioWeb;
                lista.Add(oOrden);
            }
            reader.Close();
            return(lista);
        }
示例#5
0
        private bool ValidarPrecio()
        {
            bool   valida = true;
            eOrden oOrden = new eOrden();

            oOrden = cCMS.OrdenProducto_listar(codigoOrden);
            decimal tipoCambio = oOrden.TipoCambio;
            int     IgvInt     = Convert.ToInt32(cCMS.ParametroAlias(4).Replace("%", ""));
            string  IgvString  = "1." + IgvInt.ToString();
            decimal igv        = Convert.ToDecimal(IgvString);

            foreach (var item in oOrden.lProducto)
            {
                eProducto oProducto = new eProducto();
                oProducto = cCMS.Producto_item(item.IDProducto);
                decimal PrecioIGV = oProducto.PrecioProducto * igv;
                PrecioIGV = decimal.Round(PrecioIGV, 2);
                if (PrecioIGV != item.PrecioProducto)
                {
                    valida = false;
                    break;
                }
            }
            return(valida);
        }
示例#6
0
        private void ActualizarMoneda()
        {
            eOrden oOrden = new eOrden();

            oOrden.CodigoOrden = codigoOrden;
            oOrden.MonedaOrden = moneda;
            bool actualizarOrden = cCMS.Orden_Update(oOrden);
        }
        protected void grvOrdenPedidos_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            eOrden oOrden = (eOrden)e.Row.DataItem;

            if (oOrden == null)
            {
                return;
            }
        }
        public int Update(eOrden oOrden)
        {
            SqlCommand cmd = new SqlCommand("usp_tb_ordenUpdate");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@codigo_orden", SqlDbType.VarChar, 100).Value = oOrden.CodigoOrden;
            cmd.Parameters.Add("@moneda_orden", SqlDbType.VarChar, 100).Value = oOrden.MonedaOrden;

            return(UpdateCommand(cmd));
        }
        public int Insert(eOrden oOrden)
        {
            SqlCommand cmd = new SqlCommand("usp_tb_ordenInsert");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@fecha_orden", SqlDbType.DateTime).Value = oOrden.FechaOrden;
            cmd.Parameters.Add("@id_usuario", SqlDbType.BigInt).Value    = oOrden.IdUsuario;

            return(InsertCommand(cmd, true));
        }
示例#10
0
        public string Orden_add(eOrden oOrden)
        {
            int addNew = 0;

            IdException = cOrden.Insert(oOrden);
            if (IdException == 0)
            {
                addNew = cOrden.getLastID;
            }

            return(addNew == 0 ? "" : addNew.ToString());
        }
        public List <eOrden> Orden_buscar(int criterio, string codigo_orden, string nombre_usuario, string numero_documento, DateTime fecha_desde, DateTime fecha_hasta, string estado)
        {
            //llenamos la lista de Entrega....
            SqlCommand cmd = new SqlCommand("sp_pedidos_buscar");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@criterio", SqlDbType.Int).Value = criterio;
            cmd.Parameters.Add("@codigo_orden", SqlDbType.VarChar, 100).Value     = codigo_orden;
            cmd.Parameters.Add("@nombre_usuario", SqlDbType.VarChar, 100).Value   = nombre_usuario;
            cmd.Parameters.Add("@numero_documento", SqlDbType.VarChar, 100).Value = numero_documento;
            cmd.Parameters.Add("@fecha_desde", SqlDbType.DateTime).Value          = fecha_desde;
            cmd.Parameters.Add("@fecha_hasta", SqlDbType.DateTime).Value          = fecha_hasta;
            cmd.Parameters.Add("@estado", SqlDbType.VarChar, 100).Value           = estado;

            SqlDataReader reader = ExecuteReader(cmd);
            List <eOrden> lista  = new List <eOrden>();

            while (reader.Read())
            {
                eOrden       oOrden      = new eOrden();
                eUsuariosWeb oUsuarioWeb = new eUsuariosWeb();
                ePago        oPago       = new ePago();


                oOrden.CodigoOrden         = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : "");
                oOrden.FechaOrden          = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDateTime(1) : DefaultDateTime);
                oUsuarioWeb.nombre_usuario = ((!reader[2].Equals(DBNull.Value)) ? reader.GetString(2) : "");
                oUsuarioWeb.descripcion_documento_identidad_usuario = ((!reader[3].Equals(DBNull.Value)) ? reader.GetString(3) : "");
                oUsuarioWeb.estado_trabajador = ((!reader[4].Equals(DBNull.Value)) ? reader.GetInt32(4) : 0);
                oOrden.MontoTotal             = ((!reader[5].Equals(DBNull.Value)) ? reader.GetDecimal(5) : 0);
                oOrden.TipoOrden              = ((!reader[6].Equals(DBNull.Value)) ? reader.GetInt32(6) : 0);
                oOrden.EstadoPago             = ((!reader[7].Equals(DBNull.Value)) ? reader.GetString(7) : "");
                oUsuarioWeb.id_pais           = ((!reader[8].Equals(DBNull.Value)) ? reader.GetInt32(8) : 0);
                oUsuarioWeb.id_departamento   = ((!reader[9].Equals(DBNull.Value)) ? reader.GetInt32(9) : 0);
                oUsuarioWeb.id_provincia      = ((!reader[10].Equals(DBNull.Value)) ? reader.GetInt32(10) : 0);
                oUsuarioWeb.id_distrito       = ((!reader[11].Equals(DBNull.Value)) ? reader.GetInt32(11) : 0);
                oUsuarioWeb.direccion_usuario = ((!reader[12].Equals(DBNull.Value)) ? reader.GetString(12) : "");
                //excel
                oOrden.MonedaOrden        = ((!reader[13].Equals(DBNull.Value)) ? reader.GetString(13) : "");
                oOrden.MontoConDescuento  = ((!reader[14].Equals(DBNull.Value)) ? reader.GetDecimal(14) : 0);
                oOrden.TipoCambio         = ((!reader[15].Equals(DBNull.Value)) ? reader.GetDecimal(15) : 0);
                oPago.CodTiendaPago       = ((!reader[16].Equals(DBNull.Value)) ? reader.GetString(16) : "");
                oPago.ETicketPago         = ((!reader[17].Equals(DBNull.Value)) ? reader.GetString(17) : "");
                oUsuarioWeb.email_usuario = ((!reader[18].Equals(DBNull.Value)) ? reader.GetString(18) : "");
                oUsuarioWeb.descripcion_telefono_usuarios = ((!reader[19].Equals(DBNull.Value)) ? reader.GetString(19) : "");
                oOrden.eUsuario = oUsuarioWeb;
                oOrden.epago    = oPago;
                lista.Add(oOrden);
            }
            reader.Close();
            return(lista);
        }
        public eOrden GetItem(string CodigoOrden)
        {
            SqlCommand cmd = new SqlCommand("usp_tb_ordenSelect");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@codigo_orden", SqlDbType.VarChar).Value = CodigoOrden;

            SqlDataReader reader = ExecuteReader(cmd);
            eOrden        oOrden = null;

            if (reader.Read())
            {
                oOrden = new eOrden();

                oOrden.eDireccionEntrega  = new eDireccionEntrega();
                oOrden.eDireccionDespacho = new eDireccionDespacho();

                oOrden.CodigoOrden       = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : "");
                oOrden.FechaOrden        = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDateTime(1) : DefaultDateTime);
                oOrden.MonedaOrden       = ((!reader[2].Equals(DBNull.Value)) ? reader.GetString(2) : "");
                oOrden.Recibido          = ((!reader[3].Equals(DBNull.Value)) ? reader.GetInt32(3) : 0);
                oOrden.EmailUsuarioOrden = ((!reader[4].Equals(DBNull.Value)) ? reader.GetString(4) : "");

                oOrden.MontoTotal        = ((!reader[5].Equals(DBNull.Value)) ? reader.GetDecimal(5) : 0);
                oOrden.MontoTotalSoles   = ((!reader[6].Equals(DBNull.Value)) ? reader.GetDecimal(6) : 0);
                oOrden.MontoConDescuento = ((!reader[7].Equals(DBNull.Value)) ? reader.GetDecimal(7) : 0);

                oOrden.eDireccionEntrega.NombreEntrega    = ((!reader[8].Equals(DBNull.Value)) ? reader.GetString(8) : "");
                oOrden.eDireccionEntrega.DireccionEntrega = ((!reader[9].Equals(DBNull.Value)) ? reader.GetString(9) : "");
                oOrden.eDireccionEntrega.Telefono01       = ((!reader[10].Equals(DBNull.Value)) ? reader.GetString(10) : "");
                oOrden.eDireccionEntrega.Telefono02       = ((!reader[11].Equals(DBNull.Value)) ? reader.GetString(11) : "");
                oOrden.eDireccionEntrega.Telefono03       = ((!reader[12].Equals(DBNull.Value)) ? reader.GetString(12) : "");
                oOrden.eDireccionEntrega.Telefono04       = ((!reader[13].Equals(DBNull.Value)) ? reader.GetString(13) : "");

                oOrden.eDireccionDespacho.NombreDespacho              = ((!reader[14].Equals(DBNull.Value)) ? reader.GetString(14) : "");
                oOrden.eDireccionDespacho.DireccionDespacho           = ((!reader[15].Equals(DBNull.Value)) ? reader.GetString(15) : "");
                oOrden.eDireccionDespacho.DescripcionTelefonoDespacho = ((!reader[16].Equals(DBNull.Value)) ? reader.GetString(16) : "");

                oOrden.TipoOrden = ((!reader[17].Equals(DBNull.Value)) ? reader.GetInt32(17) : 0);
                oOrden.IdUsuario = ((!reader[18].Equals(DBNull.Value)) ? reader.GetInt64(18) : Convert.ToInt64(0));
                oOrden.Eticket   = ((!reader[19].Equals(DBNull.Value)) ? reader.GetString(19) : "");
            }

            reader.Close();

            return(oOrden);
        }
        public eOrden OrdenUltima(Int64 id_usuario)
        {
            SqlCommand cmd = new SqlCommand("usp_tb_orden_SelectUltima");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@id_usuario", SqlDbType.BigInt).Value = id_usuario;
            SqlDataReader reader = ExecuteReader(cmd);
            eOrden        sOrden = new eOrden();

            while (reader.Read())
            {
                eOrdenProducto oOrdenProducto = new eOrdenProducto();

                sOrden.CodigoOrden = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : "");
                sOrden.FechaOrden  = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDateTime(1) : DateTime.Today);
            }
            reader.Close();
            return(sOrden);
        }
        public List <eOrden> Orden_buscar_codigo(string codigo_orden)
        {
            //llenamos la lista de Entrega....
            SqlCommand cmd = new SqlCommand("SP_PEDIDO_DETALLE");

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.Add("@codigo_orden", SqlDbType.VarChar, 100).Value = codigo_orden;

            SqlDataReader reader = ExecuteReader(cmd);
            List <eOrden> lista  = new List <eOrden>();

            while (reader.Read())
            {
                eOrden       oOrden      = new eOrden();
                eUsuariosWeb oUsuarioWeb = new eUsuariosWeb();
                ePago        oPago       = new ePago();

                oOrden.CodigoOrden         = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : "");
                oOrden.FechaOrden          = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDateTime(1) : DefaultDateTime);
                oUsuarioWeb.nombre_usuario = ((!reader[2].Equals(DBNull.Value)) ? reader.GetString(2) : "");
                oUsuarioWeb.descripcion_documento_identidad_usuario = ((!reader[3].Equals(DBNull.Value)) ? reader.GetString(3) : "");
                oUsuarioWeb.estado_trabajador = ((!reader[4].Equals(DBNull.Value)) ? reader.GetInt32(4) : 0);
                oOrden.MontoTotal             = ((!reader[5].Equals(DBNull.Value)) ? reader.GetDecimal(5) : 0);
                oOrden.TipoOrden          = ((!reader[6].Equals(DBNull.Value)) ? reader.GetInt32(6) : 0);
                oOrden.EstadoPago         = ((!reader[7].Equals(DBNull.Value)) ? reader.GetString(7) : "");
                oOrden.TipoCambio         = ((!reader[8].Equals(DBNull.Value)) ? reader.GetDecimal(8) : 0);
                oOrden.MonedaOrden        = ((!reader[9].Equals(DBNull.Value)) ? reader.GetString(9) : "");
                oOrden.Eticket            = ((!reader[10].Equals(DBNull.Value)) ? reader.GetString(10) : "");
                oPago.CodTiendaPago       = ((!reader[11].Equals(DBNull.Value)) ? reader.GetString(11) : "");
                oUsuarioWeb.email_usuario = ((!reader[12].Equals(DBNull.Value)) ? reader.GetString(12) : "");
                oUsuarioWeb.descripcion_telefono_usuarios = ((!reader[13].Equals(DBNull.Value)) ? reader.GetString(13) : "");
                oOrden.Direccion = ((!reader[14].Equals(DBNull.Value)) ? reader.GetString(14) : "");
                oOrden.Telefono  = ((!reader[15].Equals(DBNull.Value)) ? reader.GetString(15) : "");
                oUsuarioWeb.Codigo_Confirmacion = ((!reader[16].Equals(DBNull.Value)) ? reader.GetString(16) : "");

                oOrden.eUsuario = oUsuarioWeb;
                oOrden.ePago    = oPago;
                lista.Add(oOrden);
            }
            reader.Close();
            return(lista);
        }
        protected void grvOrdenPedidos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "MoveUp")
            {
                GridViewRow row         = (GridViewRow)((Control)e.CommandSource).NamingContainer;
                string      CodigoOrden = Convert.ToString(grvOrdenPedidos.DataKeys[row.RowIndex].Value);

                eOrden oOrden = cCMS.Orden_item(CodigoOrden);
                if (oOrden == null)
                {
                    return;
                }

                GridViewHelper grwHelper = new GridViewHelper(grvOrdenPedidos);
                ViewState["SortType"] = "ASC";
                grwHelper.SetGridView_StyleSort(ViewState["SortType"].ToString(), "Posicion");
                OrderBy = "Posicion " + ViewState["SortType"];

                BindListadoOrden();
            }
        }
        public List <eOrden> GetList()
        {
            SqlCommand cmd = new SqlCommand("usp_tb_ordenSelectTotal");

            cmd.CommandType = CommandType.StoredProcedure;

            SqlDataReader reader = ExecuteReader(cmd);
            List <eOrden> lista  = new List <eOrden>();

            while (reader.Read())
            {
                eOrden oOrden = new eOrden();
                oOrden.CodigoOrden       = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : "");
                oOrden.FechaOrden        = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDateTime(1) : DefaultDateTime);
                oOrden.EmailUsuarioOrden = ((!reader[2].Equals(DBNull.Value)) ? reader.GetString(2) : "");
                oOrden.IdUsuario         = ((!reader[3].Equals(DBNull.Value)) ? reader.GetInt64(3) : Convert.ToInt64(0));
                lista.Add(oOrden);
            }
            reader.Close();

            return(lista);
        }
        public List <eOrden> Orden_listar_Filtrado(Int64 id_usuario)
        {
            SqlCommand cmd = new SqlCommand("usp_tb_ordenSelectFiltro");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@id_usuario", SqlDbType.BigInt).Value = id_usuario;
            SqlDataReader reader = ExecuteReader(cmd);
            List <eOrden> lista  = new List <eOrden>();

            while (reader.Read())
            {
                eOrden oOrden = new eOrden();
                oOrden.CodigoOrden       = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : "");
                oOrden.FechaOrden        = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDateTime(1) : DefaultDateTime);
                oOrden.EmailUsuarioOrden = ((!reader[2].Equals(DBNull.Value)) ? reader.GetString(2) : "");
                oOrden.IdUsuario         = ((!reader[3].Equals(DBNull.Value)) ? reader.GetInt64(3) : Convert.ToInt64(0));
                lista.Add(oOrden);
            }
            reader.Close();

            return(lista);
        }
        public eOrden GetItemETicket(string eticket)
        {
            SqlCommand cmd = new SqlCommand("usp_tb_orden_SelectETicket");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@eticket", SqlDbType.VarChar).Value = eticket;

            SqlDataReader reader = ExecuteReader(cmd);
            eOrden        oOrden = null;

            if (reader.Read())
            {
                oOrden                   = new eOrden();
                oOrden.CodigoOrden       = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : "");
                oOrden.FechaOrden        = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDateTime(1) : DefaultDateTime);
                oOrden.MonedaOrden       = ((!reader[2].Equals(DBNull.Value)) ? reader.GetString(2) : "");
                oOrden.Recibido          = ((!reader[3].Equals(DBNull.Value)) ? reader.GetInt32(3) : 0);
                oOrden.EmailUsuarioOrden = ((!reader[4].Equals(DBNull.Value)) ? reader.GetString(4) : "");
            }
            reader.Close();

            return(oOrden);
        }
示例#19
0
        void bindListado()
        {
            lCMS cCMS = new lCMS();

            List <eOrden> lOrden = new List <eOrden>();

            lOrden = cCMS.Orden_buscar(0, "", "", "", DateTime.Now, DateTime.Now, "");

            foreach (var itemOrden in lOrden)
            {
                ePago oPago = new ePago();

                List <eOrden> lOrdenComplete = new List <eOrden>();

                lOrdenComplete = cCMS.Orden_buscar_codigo(itemOrden.CodigoOrden);

                eOrden oOrden = lOrdenComplete[0];

                if (oOrden.EstadoPago == "DENEGADO" || oOrden.EstadoPago == "AUTORIZADO" || oOrden.EstadoPago == "TRUNCA")
                {
                    try
                    {
                        WSConsulTicket.WSConsultaEticketSoapClient soapClient = new WSConsulTicket.WSConsultaEticketSoapClient();
                        string xmlIn = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> " +
                                       "<consulta_eticket>" +
                                       "<parametros>" +
                                       "<parametro id=\"CODTIENDA\">" + oOrden.ePago.CodTiendaPago + "</parametro>" +
                                       "<parametro id=\"ETICKET\">" + oOrden.Eticket + "</parametro>" +
                                       "</parametros>" +
                                       "</consulta_eticket>";
                        string      xmlConsultaEticket = soapClient.ConsultaEticket(xmlIn);
                        GridView    grvListado         = new GridView();
                        string      myXMLfile          = xmlConsultaEticket.ToString();
                        XmlDocument xm = new XmlDocument();
                        xm.LoadXml(myXMLfile);
                        XmlNodeReader reader = new XmlNodeReader(xm);
                        while (reader.Read())
                        {
                            XmlNode xmlNode1 = xm.ReadNode(reader);
                            if (xmlNode1.InnerText != "version=\"1.0\" encoding=\"UTF-8\"")
                            {
                                XmlNodeList xmlNodeLi    = xmlNode1.ChildNodes;
                                XmlElement  xmlNodeCampo = xmlNode1["operacion"];
                                if (xmlNodeCampo != null)
                                {
                                    XmlNodeList   xmlNodeListCampo = xmlNodeCampo.ChildNodes;
                                    List <string> listaCampo       = new List <string>();
                                    int           contCampo        = 0;
                                    foreach (XmlElement item in xmlNodeListCampo)
                                    {
                                        listaCampo.Add(item.InnerText);
                                        //Response.Write("Num. campo: "+contCampo.ToString()+" campo: " + item.Attributes[0].Value.ToString() + " valor: " + item.InnerText + "<br>");
                                        contCampo = contCampo + 1;
                                    }
                                    //Response.Write(" Tot campo --> " + contCampo.ToString());

                                    oPago.RespuestaPago  = listaCampo[0].ToString();
                                    oPago.EstadoPago     = listaCampo[1].ToString();
                                    oPago.CodTiendaPago  = listaCampo[2].ToString();
                                    oPago.NumOtPago      = listaCampo[3].ToString();
                                    oPago.CodigoAccion   = listaCampo[4].ToString();
                                    oPago.NombrePago     = listaCampo[6].ToString();
                                    oPago.FechaYHoraPago = Convert.ToDateTime(listaCampo[15].ToString());
                                    oPago.ETicketPago    = oOrden.Eticket;
                                    oPago.NumTarjetaPan  = listaCampo[5].ToString();
                                    oPago.DescEci        = listaCampo[10].ToString();
                                    oPago.ImpTotal       = listaCampo[14].ToString();


                                    break;
                                }
                                break;
                            }
                        }


                        //actualizamos orden
                        if (oOrden.EstadoPago == "TRUNCA" || oOrden.EstadoPago == "DENEGADO")
                        {
                            if (oPago.EstadoPago != null)
                            {
                                if (oPago.EstadoPago != oOrden.EstadoPago)
                                {
                                    cCMS.PagoEstado_Update(oOrden.CodigoOrden, oPago.EstadoPago);

                                    if (oPago.EstadoPago != "DENEGADO")
                                    {
                                        EnviarCorreo(oOrden.CodigoOrden, oOrden.eUsuario.Codigo_Confirmacion);
                                    }
                                }
                            }
                        }
                    }
                    catch (Exception)
                    {
                        throw;
                    }
                }
            }
        }
示例#20
0
        protected void grvListadoPedidos_SelectedIndexChanged(object sender, EventArgs e)
        {
            string codigo_orden = "";

            litErrorForm.Text = "";

            codigo_orden = grvListadoPedidos.SelectedDataKey.Value.ToString();

            List <eOrden> lOrden = new List <eOrden>();

            lOrden = cCMS.Orden_buscar(1, codigo_orden, "", "", DateTime.Now, DateTime.Now, "");
            eOrden oOrden1 = lOrden[0];

            Pais             = cFormulario.Pais_item((short)oOrden1.eUsuario.id_pais).Descripcion;
            Departamento     = cFormulario.Departamento_item((short)oOrden1.eUsuario.id_pais, (short)oOrden1.eUsuario.id_departamento).Descripcion;
            Provincia        = cFormulario.Provincia_item((short)oOrden1.eUsuario.id_pais, (short)oOrden1.eUsuario.id_departamento, (short)oOrden1.eUsuario.id_provincia).Descripcion;
            Distrito         = cFormulario.Distrito_item((short)oOrden1.eUsuario.id_pais, (short)oOrden1.eUsuario.id_departamento, (short)oOrden1.eUsuario.id_provincia, (short)oOrden1.eUsuario.id_distrito).Descripcion;
            DireccionCliente = oOrden1.eUsuario.direccion_usuario;

            lOrden = cCMS.Orden_buscar_codigo(codigo_orden);

            eOrden oOrden = lOrden[0];

            lblNroOrden.Text   = codigo_orden;
            lblFecha.Text      = oOrden.FechaOrden.ToString();
            lblMoneda.Text     = oOrden.MonedaOrden;
            lblDolares.Text    = oOrden.MontoTotal.ToString();
            lblSoles.Text      = (oOrden.MontoTotal * oOrden.TipoCambio).ToString();
            lblTipoCambio.Text = oOrden.TipoCambio.ToString();
            lblEticket.Text    = oOrden.Eticket;

            mvwPedidos.ActiveViewIndex = 1;

            ePago oPago = new ePago();



            if (oOrden.EstadoPago == "DENEGADO" || oOrden.EstadoPago == "AUTORIZADO" || oOrden.EstadoPago == "TRUNCA" || oOrden.EstadoPago == "LIQUIDADO")
            {
                try
                {
                    WSConsulTicket.WSConsultaEticketSoapClient soapClient = new WSConsulTicket.WSConsultaEticketSoapClient();
                    string xmlIn = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> " +
                                   "<consulta_eticket>" +
                                   "<parametros>" +
                                   "<parametro id=\"CODTIENDA\">" + oOrden.ePago.CodTiendaPago + "</parametro>" +
                                   "<parametro id=\"ETICKET\">" + oOrden.Eticket + "</parametro>" +
                                   "</parametros>" +
                                   "</consulta_eticket>";
                    string      xmlConsultaEticket = soapClient.ConsultaEticket(xmlIn);
                    GridView    grvListado         = new GridView();
                    string      myXMLfile          = xmlConsultaEticket.ToString();
                    XmlDocument xm = new XmlDocument();
                    xm.LoadXml(myXMLfile);
                    XmlNodeReader reader = new XmlNodeReader(xm);
                    while (reader.Read())
                    {
                        XmlNode xmlNode1 = xm.ReadNode(reader);
                        if (xmlNode1.InnerText != "version=\"1.0\" encoding=\"UTF-8\"")
                        {
                            XmlNodeList xmlNodeLi    = xmlNode1.ChildNodes;
                            XmlElement  xmlNodeCampo = xmlNode1["operacion"];
                            if (xmlNodeCampo != null)
                            {
                                XmlNodeList   xmlNodeListCampo = xmlNodeCampo.ChildNodes;
                                List <string> listaCampo       = new List <string>();
                                int           contCampo        = 0;
                                foreach (XmlElement item in xmlNodeListCampo)
                                {
                                    listaCampo.Add(item.InnerText);
                                    //Response.Write("Num. campo: "+contCampo.ToString()+" campo: " + item.Attributes[0].Value.ToString() + " valor: " + item.InnerText + "<br>");
                                    contCampo = contCampo + 1;
                                }
                                //Response.Write(" Tot campo --> " + contCampo.ToString());

                                oPago.RespuestaPago  = listaCampo[0].ToString();
                                oPago.EstadoPago     = listaCampo[1].ToString();
                                oPago.CodTiendaPago  = listaCampo[2].ToString();
                                oPago.NumOtPago      = listaCampo[3].ToString();
                                oPago.CodigoAccion   = listaCampo[4].ToString();
                                oPago.NombrePago     = listaCampo[6].ToString();
                                oPago.FechaYHoraPago = Convert.ToDateTime(listaCampo[15].ToString());
                                oPago.ETicketPago    = oOrden.Eticket;
                                oPago.NumTarjetaPan  = listaCampo[5].ToString();
                                oPago.DescEci        = listaCampo[10].ToString();
                                oPago.ImpTotal       = listaCampo[14].ToString();


                                break;
                            }
                            break;
                        }
                    }
                }
                catch (Exception ex)
                {
                    litErrorForm.Text = "Error conectando al web service: " + ex.Message;
                }
            }


            lblCodTienda.Text = oOrden.ePago.CodTiendaPago;
            if (oOrden.EstadoPago == "DENEGADO")
            {
                lblNroVisa.Text = oPago.NumTarjetaPan;
                lblEstado.Text  = VisaNet.MensajeError(oPago.CodigoAccion);
            }
            else if (oOrden.EstadoPago == "AUTORIZADO")
            {
                lblNroVisa.Text = oPago.NumTarjetaPan;
                lblEstado.Text  = oOrden.EstadoPago;
            }
            else
            {
                lblNroVisa.Text = (oPago.NumTarjetaPan == null) ? "" : oPago.NumTarjetaPan;

                lblEstado.Text = (oPago.EstadoPago == null) ? oOrden.EstadoPago : oPago.EstadoPago;
            }

            //actualizamos orden
            if (oOrden.EstadoPago == "TRUNCA" || oOrden.EstadoPago == "DENEGADO")
            {
                if (oPago.EstadoPago != null)
                {
                    if (oPago.EstadoPago != oOrden.EstadoPago)
                    {
                        cCMS.PagoEstado_Update(oOrden.CodigoOrden, oPago.EstadoPago);
                        EnviarCorreo(oOrden.CodigoOrden, oOrden.eUsuario.Codigo_Confirmacion);
                    }
                }
            }

            string tipo_orden = "";

            if (oOrden.TipoOrden == 0)
            {
                tipo_orden = "Delivery";
            }
            else
            {
                tipo_orden = "Recojo";
            }

            string estado = "";

            if (oOrden.eUsuario.estado_trabajador == 0)
            {
                estado = "No";
            }
            else
            {
                estado = "Si";
            }



            if (tipo_orden == "Delivery")
            {
                eDireccionDespacho oDireccion = new eDireccionDespacho();
                oDireccion = cCMS.DireccionDespacho_FiltradoxOrden(codigo_orden);

                litDetalleCliente.Text = "<tr><td><strong>Nombre y Apellido: </strong></td><td>" + oOrden.eUsuario.nombre_usuario + "</td>" +
                                         "<td><strong>Tipo de Despacho: </strong></td><td>" + tipo_orden + "</td></tr>" +
                                         "<tr><td><strong>Colaborador Ferreycorp : </strong></td><td>" + estado + "</td>" +
                                         "<td><strong>Persona de Contacto : </strong></td><td>" + oDireccion.NombreDespacho + "</td></tr>" +
                                         "<tr><td><strong>Correo electrónico : </strong></td><td>" + oOrden.eUsuario.email_usuario + "</td>" +
                                         "<td><strong>Correo electrónico : </strong></td><td>" + oDireccion.Emailusuario + "</td></tr>" +
                                         "<tr><td><strong>Teléfono : </strong></td><td>" + oOrden.eUsuario.descripcion_telefono_usuarios + " </td>" +
                                         "<td><strong>Teléfono : </strong></td><td>" + oDireccion.DescripcionTelefonoDespacho + " </td></tr>" +
                                         "<tr><td><strong>Dirección : </strong></td><td>" + DireccionCliente + " </td>" +
                                         "<td><strong>Dirección : </strong></td><td>+ " + oDireccion.DireccionDespacho + " </td></tr>" +
                                         "<tr><td><strong>Distrito : </strong></td><td>" + Distrito + " </td>" +
                                         "<td><strong>Distrito : </strong></td><td>" + cFormulario.Distrito_item((short)oDireccion.IdPaisDespacho, (short)oDireccion.IdDepartamentoDespacho, (short)oDireccion.IdProvinciaDespacho, (short)oDireccion.IdDistritoDespacho).Descripcion + " </td></tr>" +
                                         "<tr><td><strong>Provincia : </strong></td><td>" + Provincia + " </td>" +
                                         "<td><strong>Referencia : </strong></td><td>" + oDireccion.ReferenciaDespacho + " </td></tr>" +
                                         "<tr><td><strong>Departamento : </strong></td><td colspan=\"3\">" + Departamento + "</td></tr>" +
                                         "<tr><td><strong>País : </strong></td><td colspan=\"3\">" + Pais + "</td></tr>";
            }
            else
            {
                eDireccionEntrega oDireccion = new eDireccionEntrega();
                oDireccion = cCMS.DireccionEntrega_FiltradoxOrden(codigo_orden);

                litDetalleCliente.Text = "<tr><td><strong>Nombre y Apellido: </strong></td><td>" + oOrden.eUsuario.nombre_usuario + "</td>" +
                                         "<td><strong>Tipo de Despacho: </strong></td><td>" + tipo_orden + "</td></tr>" +
                                         "<tr><td><strong>Colaborador Ferreycorp : </strong></td><td>" + estado + "</td>" +
                                         "<td><strong>Sede : </strong></td><td>" + oDireccion.NombreEntrega + "</td></tr>" +
                                         "<tr><td><strong>Correo electrónico : </strong></td><td>" + oOrden.eUsuario.email_usuario + "</td>" +
                                         "<td><strong>Teléfono : </strong></td><td>" + oDireccion.Telefono01 + "</td></tr>" +
                                         "<tr><td><strong>Teléfono : </strong></td><td>" + oOrden.eUsuario.descripcion_telefono_usuarios + " </td>" +
                                         "<td><strong>Dirección : </strong></td><td>" + oDireccion.DireccionEntrega + " </td></tr>" +
                                         "<tr><td><strong>Dirección : </strong></td><td>" + DireccionCliente + " </td>" +
                                         "<td><strong>Distrito : </strong></td><td>+ " + cFormulario.Distrito_item((short)oDireccion.IdPaisEntrega, (short)oDireccion.IdDepartamentoEntrega, (short)oDireccion.IdProvinciaEntrega, (short)oDireccion.IdDistritoEntrega).Descripcion + " </td></tr>" +
                                         "<tr><td><strong>Distrito : </strong></td><td>" + Distrito + " </td>" +
                                         "<td><strong>Provincia : </strong></td><td>" + cFormulario.Provincia_item((short)oDireccion.IdPaisEntrega, (short)oDireccion.IdDepartamentoEntrega, (short)oDireccion.IdProvinciaEntrega).Descripcion + " </td></tr>" +
                                         "<tr><td><strong>Provincia : </strong></td><td>" + Provincia + " </td>" +
                                         "<td><strong>Departamento : </strong></td><td>" + cFormulario.Departamento_item((short)oDireccion.IdPaisEntrega, (short)oDireccion.IdDepartamentoEntrega).Descripcion + " </td></tr>" +
                                         "<tr><td><strong>Departamento : </strong></td><td colspan=\"3\">" + Departamento + "</td></tr>" +
                                         "<tr><td><strong>País : </strong></td><td colspan=\"3\">" + Pais + "</td></tr>";
            }


            List <eParte> lParte = new List <eParte>();

            lParte = cCMS.EPart_buscar(codigo_orden);

            grvListadoEPART.DataSource = lParte;
            grvListadoEPART.DataBind();
        }
示例#21
0
        protected void grvListadoPedidos_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            Literal litNombreUsuario            = (Literal)e.Row.FindControl("litNombreUsuario");
            Literal litDNI                      = (Literal)e.Row.FindControl("litDNI");
            Literal litColaborador              = (Literal)e.Row.FindControl("litColaborador");
            Literal litDespacho                 = (Literal)e.Row.FindControl("litDespacho");
            Literal litEstado                   = (Literal)e.Row.FindControl("litEstado");
            Literal litClienteNombre            = (Literal)e.Row.FindControl("litClienteNombre");
            Literal litColaboradorPedido        = (Literal)e.Row.FindControl("litColaboradorPedido");
            Literal litCodTiendaPago            = (Literal)e.Row.FindControl("litCodTiendaPago");
            Literal litETicketPago              = (Literal)e.Row.FindControl("litETicketPago");
            Literal litClienteCorreo            = (Literal)e.Row.FindControl("litClienteCorreo");
            Literal litClienteTelefono          = (Literal)e.Row.FindControl("litClienteTelefono");
            Literal litDespachoPedido           = (Literal)e.Row.FindControl("litDespachoPedido");
            Literal litDespachoContactoNombre   = (Literal)e.Row.FindControl("litDespachoContactoNombre");
            Literal litDespachoContactoTelefono = (Literal)e.Row.FindControl("litDespachoContactoTelefono");
            Literal litDespachoSede             = (Literal)e.Row.FindControl("litDespachoSede");
            Literal litDespachoDireccion        = (Literal)e.Row.FindControl("litDespachoDireccion");
            Literal litDespachoDepartamento     = (Literal)e.Row.FindControl("litDespachoDepartamento");
            Literal litEstadoPedido             = (Literal)e.Row.FindControl("litEstadoPedido");
            Literal litEstadoObservacion        = (Literal)e.Row.FindControl("litEstadoObservacion");
            Literal litNroTarjetaVisa           = (Literal)e.Row.FindControl("litNroTarjetaVisa");

            Image imgEstado = (Image)e.Row.FindControl("imgEstado");

            lnkCodigoOrden = (LinkButton)e.Row.FindControl("lnkCodigoOrden");

            if (litNombreUsuario != null && litDNI != null && litColaborador != null & litDespacho != null &&
                litEstado != null && litClienteNombre != null && litColaboradorPedido != null && litCodTiendaPago != null &&
                litETicketPago != null && litClienteCorreo != null && litClienteTelefono != null && litDespachoPedido != null &&
                litDespachoContactoNombre != null && litDespachoContactoTelefono != null && litDespachoSede != null &&
                litDespachoDireccion != null && litDespachoDepartamento != null && litEstadoPedido != null &&
                litEstadoObservacion != null && litNroTarjetaVisa != null)
            {
                eOrden oOrden = (eOrden)e.Row.DataItem;

                string tipo_orden = "";
                if (oOrden.TipoOrden == 0)
                {
                    tipo_orden = "Delivery";
                }
                else
                {
                    tipo_orden = "Recojo";
                }

                litDespacho.Text       = tipo_orden;
                litDespachoPedido.Text = tipo_orden;


                ////////
                if (tipo_orden == "Delivery")
                {
                    eDireccionDespacho oDireccion = new eDireccionDespacho();
                    oDireccion = cCMS.DireccionDespacho_FiltradoxOrden(oOrden.CodigoOrden);
                    if (oDireccion != null)
                    {
                        litDespachoContactoNombre.Text   = oDireccion.NombreDespacho;
                        litDespachoContactoTelefono.Text = oDireccion.DescripcionTelefonoDespacho;
                        litDespachoSede.Text             = "";
                        litDespachoDireccion.Text        = oDireccion.DireccionDespacho;
                        litDespachoDepartamento.Text     = cFormulario.Departamento_item((short)oDireccion.IdPaisDespacho, (short)oDireccion.IdDepartamentoDespacho).Descripcion;
                    }
                }
                else
                {
                    eDireccionEntrega oDireccionEntrega = new eDireccionEntrega();
                    oDireccionEntrega = cCMS.DireccionEntrega_FiltradoxOrden(oOrden.CodigoOrden);
                    if (oDireccionEntrega != null)
                    {
                        litDespachoContactoNombre.Text   = "";
                        litDespachoContactoTelefono.Text = oDireccionEntrega.Telefono01;
                        litDespachoSede.Text             = oDireccionEntrega.NombreEntrega;
                        litDespachoDireccion.Text        = oDireccionEntrega.DireccionEntrega;
                        litDespachoDepartamento.Text     = cFormulario.Departamento_item((short)oDireccionEntrega.IdPaisEntrega, (short)oDireccionEntrega.IdDepartamentoEntrega).Descripcion;
                    }
                }

                litNombreUsuario.Text   = oOrden.eUsuario.nombre_usuario;
                litDNI.Text             = oOrden.eUsuario.descripcion_documento_identidad_usuario;
                litClienteNombre.Text   = oOrden.eUsuario.nombre_usuario;
                litCodTiendaPago.Text   = oOrden.epago.CodTiendaPago;
                litETicketPago.Text     = "' " + oOrden.epago.ETicketPago;
                litClienteCorreo.Text   = oOrden.eUsuario.email_usuario;
                litClienteTelefono.Text = oOrden.eUsuario.descripcion_telefono_usuarios;
                //ubigeo
                //lblPais.Text = cFormulario.Pais_item((short)oOrden.eUsuario.id_pais).Descripcion;
                //lblDepartamento.Text = cFormulario.Departamento_item((short)oOrden.eUsuario.id_pais, (short)oOrden.eUsuario.id_departamento).Descripcion;
                //lblProvincia.Text = cFormulario.Provincia_item((short)oOrden.eUsuario.id_pais, (short)oOrden.eUsuario.id_departamento, (short)oOrden.eUsuario.id_provincia).Descripcion;
                //lblDistrito.Text = cFormulario.Distrito_item((short)oOrden.eUsuario.id_pais, (short)oOrden.eUsuario.id_departamento, (short)oOrden.eUsuario.id_provincia, (short)oOrden.eUsuario.id_distrito).Descripcion;
                //LblDireccionCliente.Text = oOrden.eUsuario.direccion_usuario;


                //LblDireccionCliente.Text = oOrden.eUsuario.direccion_usuario;



                string estado = "";
                if (oOrden.eUsuario.estado_trabajador == 0)
                {
                    estado = "No";
                }
                else
                {
                    estado = "Si";
                }
                litColaborador.Text       = estado;
                litColaboradorPedido.Text = estado;



                litEstado.Text       = oOrden.EstadoPago;
                litEstadoPedido.Text = oOrden.EstadoPago;


                if (litEstado.Text == "AUTORIZADO" || litEstado.Text == "LIQUIDADO")
                {
                    imgEstado.ImageUrl = "~/images/circulo_verde.png";
                }
                else if (litEstado.Text == "DENEGADO")
                {
                    imgEstado.ImageUrl = "~/images/circulo_rojo.png";
                }
                else
                {
                    imgEstado.ImageUrl = "~/images/circulo_naranja.png";
                }

                lnkCodigoOrden.Text = oOrden.CodigoOrden;



                ePago oPago = new ePago();

                //
                if (oOrden.EstadoPago == "DENEGADO" || oOrden.EstadoPago == "AUTORIZADO" || oOrden.EstadoPago == "TRUNCA" || oOrden.EstadoPago == "LIQUIDADO")
                {
                    //try
                    //{
                    WSConsulTicket.WSConsultaEticketSoapClient soapClient = new WSConsulTicket.WSConsultaEticketSoapClient();
                    string xmlIn = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> " +
                                   "<consulta_eticket>" +
                                   "<parametros>" +
                                   "<parametro id=\"CODTIENDA\">" + oOrden.ePago.CodTiendaPago + "</parametro>" +
                                   "<parametro id=\"ETICKET\">" + oOrden.epago.ETicketPago + "</parametro>" +
                                   "</parametros>" +
                                   "</consulta_eticket>";
                    string      xmlConsultaEticket = soapClient.ConsultaEticket(xmlIn);
                    GridView    grvListado         = new GridView();
                    string      myXMLfile          = xmlConsultaEticket.ToString();
                    XmlDocument xm = new XmlDocument();
                    if (myXMLfile != string.Empty)
                    {
                        Trace.Warn("myXMLfile", myXMLfile);

                        xm.LoadXml(myXMLfile);
                        XmlNodeReader reader = new XmlNodeReader(xm);
                        while (reader.Read())
                        {
                            XmlNode xmlNode1 = xm.ReadNode(reader);
                            if (xmlNode1.InnerText != "version=\"1.0\" encoding=\"UTF-8\"")
                            {
                                XmlNodeList xmlNodeLi    = xmlNode1.ChildNodes;
                                XmlElement  xmlNodeCampo = xmlNode1["operacion"];
                                if (xmlNodeCampo != null)
                                {
                                    XmlNodeList   xmlNodeListCampo = xmlNodeCampo.ChildNodes;
                                    List <string> listaCampo       = new List <string>();
                                    int           contCampo        = 0;
                                    foreach (XmlElement item in xmlNodeListCampo)
                                    {
                                        listaCampo.Add(item.InnerText);
                                        //Response.Write("Num. campo: "+contCampo.ToString()+" campo: " + item.Attributes[0].Value.ToString() + " valor: " + item.InnerText + "<br>");
                                        contCampo = contCampo + 1;
                                    }
                                    //Response.Write(" Tot campo --> " + contCampo.ToString());

                                    oPago.RespuestaPago  = listaCampo[0].ToString();
                                    oPago.EstadoPago     = listaCampo[1].ToString();
                                    oPago.CodTiendaPago  = listaCampo[2].ToString();
                                    oPago.NumOtPago      = listaCampo[3].ToString();
                                    oPago.CodigoAccion   = listaCampo[4].ToString();
                                    oPago.NombrePago     = listaCampo[6].ToString();
                                    oPago.FechaYHoraPago = Convert.ToDateTime(listaCampo[15].ToString());
                                    oPago.ETicketPago    = oOrden.Eticket;
                                    oPago.NumTarjetaPan  = listaCampo[5].ToString();
                                    oPago.DescEci        = listaCampo[10].ToString();
                                    oPago.ImpTotal       = listaCampo[14].ToString();


                                    break;
                                }
                                break;
                            }
                        }
                    }

                    //}
                    //catch (Exception)
                    //{

                    //    throw;
                    //}
                }

                //estado observacion
                if (oOrden.EstadoPago == "DENEGADO")
                {
                    litEstadoObservacion.Text = VisaNet.MensajeError(oPago.CodigoAccion);
                }
                else
                {
                    litEstadoObservacion.Text = "";
                }


                //tarjeta visa
                if (oOrden.EstadoPago == "DENEGADO")
                {
                    litNroTarjetaVisa.Text = oPago.NumTarjetaPan;
                }
                else if (oOrden.EstadoPago == "AUTORIZADO")
                {
                    litNroTarjetaVisa.Text = oPago.NumTarjetaPan;
                }
                else
                {
                    litNroTarjetaVisa.Text = (oPago.NumTarjetaPan == null) ? "" : oPago.NumTarjetaPan;
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            codigoDeComercioSoles   = ConfigurationManager.AppSettings["codigoComercioSoles"].ToString();
            codigoDeComercioDolares = ConfigurationManager.AppSettings["codigoComercioDolares"].ToString();

            if (!Page.IsPostBack)
            {
                //eticket recuperado de visanet

                /*
                 * para pasarlo a produccion poner Request.Form
                 * */

                eTicket = (Request["ETICKET"] != null) ? Request.Form["ETICKET"].ToString() : "";

                string[] parts = eTicket.Split(new char[] { ',' });

                eTicket = parts[0];

                Trace.Warn("ETICKET", eTicket);
                eOrden oOrdenETicket = new eOrden();
                oOrdenETicket        = cCMS.Orden_itemETicket(eTicket);
                codigoComercioMoneda = (oOrdenETicket.MonedaOrden == "Soles") ? codigoDeComercioSoles : codigoDeComercioDolares;
                oPagoConsulta        = ConsultarEstadoPedido(eTicket, codigoComercioMoneda);
                /* DFC 20150306 Mapping moneda pago*/
                oPagoConsulta.MonedaPago = oOrdenETicket.MonedaOrden;

                //codigoOrden = (Request["codigoOrden"] != null) ? Request["codigoOrden"] : "";
                codigoOrden = oPagoConsulta.NumOtPago;
                if (codigoOrden == "")
                {
                    Response.Redirect("" + url_root + "producto_compras");
                }

                eOrden oOrden = new eOrden();
                oOrden = cCMS.Orden_item(codigoOrden);

                oUsuarioWeb = (oOrden.CodigoOrden != null) ? cCMS.UsuariosWeb_item(oOrden.IdUsuario) : null;
                if (oUsuarioWeb == null)
                {
                    Response.Redirect("" + url_root + "cuenta");
                }

                lOrdenProducto = cCMS.Producto_HistorialPedidos(codigoOrden);
                if (lOrdenProducto.Count == 0)
                {
                    Response.Redirect("" + url_root);
                }

                StringBuilder sb = new StringBuilder();
                if (oPagoConsulta.RespuestaPago == "1")
                {
                    eOrdenEntrega  oOrdenEntrega  = new eOrdenEntrega();
                    eOrdenDespacho oOrdenDespacho = new eOrdenDespacho();

                    cCMS.ActualizarEstadoOrden(oOrden.TipoOrden, Int32.Parse(codigoOrden));

                    imgIcono.ImageUrl    = "~/images/ico_gracias.png";
                    litTitulo.Text       = "Gracias por comprar en Ferreyshop";
                    divHistorial.Visible = true;

                    sb.Append("<ul>\n");
                    sb.Append("<li><strong>Número pedido:</strong> " + oPagoConsulta.NumOtPago + "</li>\n");
                    sb.Append("<li><strong>Nombre:</strong> " + oPagoConsulta.NombrePago + "</li>\n");
                    sb.Append("<li><strong>Número de Tarjeta enmascarada:</strong> " + oPagoConsulta.NumTarjetaPan + "</li>\n");
                    sb.Append("<li><strong>Fecha y hora del pedido:</strong> " + oPagoConsulta.FechaYHoraPago.ToString() + "</li>\n");
                    sb.Append("<li><strong>Importe:</strong> " + oPagoConsulta.ImpTotal + "</li>\n");
                    sb.Append("<li><strong>Moneda:</strong> " + oPagoConsulta.MonedaPago + "</li>\n");
                    sb.Append("<li><strong>Descripción:</strong> " + GetProductos() + "</li>\n");
                    sb.Append("</ul>\n");

                    litDetalleTrans.Text = sb.ToString();
                    EnviarCorreo(codigoOrden); //Enviar mail al usuario y webmaster
                    ValidarStock();

                    Session["carrito"] = null;
                }
                else
                {
                    imgIcono.ImageUrl    = "~/images/ico_error.png";
                    litTitulo.Text       = "Orden de compra no procesada";
                    divHistorial.Visible = false;

                    sb.Append("<ul>\n");
                    sb.Append("<li><strong>Número pedido:</strong> " + oPagoConsulta.NumOtPago + "</li>\n");
                    sb.Append("<li><strong>Fecha y hora del pedido:</strong> " + oPagoConsulta.FechaYHoraPago.ToString() + "</li>\n");
                    sb.Append("<li><strong>Motivo:</strong> " + VisaNet.MensajeError(oPagoConsulta.CodigoAccion) + "</li>\n");
                    sb.Append("</ul>\n");
                    litDetalleTrans.Text = sb.ToString();
                }
            }
        }
示例#23
0
        private void BindControl()
        {
            decimal monto_total = 0;

            rblMoneda.Items.Add(new ListItem("Soles", "1"));
            rblMoneda.Items.Add(new ListItem("Dólares", "2"));
            rblMoneda.Items[1].Selected = true;

            #region validarProductos
            //validar producto

            lCarritoSave = cCMS.Carrito_itemEmail(oUsuarioWeb.id_usuario);
            foreach (var item in lCarritoSave)
            {
                eProducto oProducto = new eProducto();
                oProducto.IDProducto     = item.IdProducto;
                oProducto.ImagenChica    = item.ImagenCarrito;
                oProducto.ModeloProducto = item.NombreProductoCarrito;
                eProducto oProductoss = new eProducto();
                oProductoss = cCMS.Producto_item(item.IdProducto);
                string  stockMinimo = cCMS.ParametroAlias(5);
                int     stockMin    = Convert.ToInt32(stockMinimo);
                int     IgvInt      = Convert.ToInt32(cCMS.ParametroAlias(4).Replace("%", ""));
                string  IgvString   = "1." + IgvInt.ToString();
                decimal igv         = Convert.ToDecimal(IgvString);
                oProducto.PrecioProducto   = (oProductoss.StockProducto <= stockMin) ? 0 : decimal.Round((oProductoss.PrecioProducto * igv != item.PrecioProducto) ? oProductoss.PrecioProducto * igv : item.PrecioProducto, 2);
                oProducto.CantidadProducto = (oProductoss.StockProducto <= stockMin) ? 0 : item.CantidadProducto;
                //oProducto.CantidadProducto = item.CantidadProducto;
                //oProducto.PrecioProducto = item.PrecioProducto;
                oProducto.DescripcionProducto = item.DescripcionProducto;

                eProducto oProductoActivo = new eProducto();
                oProductoActivo  = cCMS.Producto_item(oProducto.IDProducto);
                oProducto.Activo = oProductoActivo.Activo;
                oProducto.IdProductoCategoria = oProductoActivo.IdProductoCategoria;
                lProducto.Add(oProducto);
            }

            for (int i = 0; i < lProducto.Count; i++)
            {
                /***********************************************/
                //validar si los padres no están inactivos
                eArticulo oArticulos     = cCMS.Articulo_item(lProducto[i].IdProductoCategoria);
                eArticulo oArticuloPadre = cCMS.Articulo_item(oArticulos.IdArticuloPadre);

                if (lProducto[i].CantidadProducto != 0 && lProducto[i].Activo && oArticulos.Activo & oArticuloPadre.Activo)
                {
                    decimal subtotal        = lProducto[i].PrecioProducto * lProducto[i].CantidadProducto;
                    string  precioDecimal   = Convert.ToDouble(lProducto[i].PrecioProducto).ToString("N", CultureInfo.InvariantCulture);
                    string  subtotalDecimal = Convert.ToDouble(subtotal).ToString("N", CultureInfo.InvariantCulture);
                    monto_total += subtotal;

                    litProductos.Text += "	<li>"+
                                         "    <div class=\"producto_entrega\">" +
                                         "        <figure><img src=\"" + url_root + Directorio.Pagina_Imagen + lProducto[i].ImagenChica + "\"></figure>" +
                                         "        <blockquote>" +
                                         "		    <h2>"+ lProducto[i].ModeloProducto + "</h2>" +
                                         "	        <p>"+ lProducto[i].DescripcionProducto + "</p>" +
                                         "        </blockquote>" +
                                         "    </div>" +
                                         "    <div class=\"precios\">" +
                                         "        <span>US$." + precioDecimal.ToString() + "</span>" +
                                         "    </div>" +
                                         "    <div class=\"cantidades\">" +
                                         "        <span>" + lProducto[i].CantidadProducto + "</span>" +
                                         "    </div>" +
                                         "    <div class=\"subtotales\">" +
                                         "        <span>US$." + subtotalDecimal + "</span>" +
                                         "    </div>" +
                                         "</li> ";
                }
            }

            //valida si se actualizó el stock y no hay nada
            if (monto_total == 0)
            {
                Response.Redirect(url_root + "producto_compras");
            }

            oOrden.FechaOrden        = DateTime.Now;
            oOrden.EmailUsuarioOrden = oUsuarioWeb.email_usuario;
            oOrden.IdUsuario         = oUsuarioWeb.id_usuario;

            eOrden oOrdenUltima = cCMS.OrdenUltima(oUsuarioWeb.id_usuario);

            if (oOrdenUltima.CodigoOrden != null)
            {
                oOrden.CodigoOrden = oOrdenUltima.CodigoOrden;
                cCMS.Orden_Limpiar(oOrden.CodigoOrden, oOrden.FechaOrden);
            }
            else
            {
                oOrden.CodigoOrden = cCMS.Orden_add(oOrden);
                RegistrarLogsCms(oUsuarioWeb.id_usuario, "Se agregó un registro a la tabla tb_orden con código de orden : " + codigoOrden);
            }

            if (oOrden.CodigoOrden.Equals(""))
            {
                Session["codigoOrden"] = null;
                Response.Redirect(url_root + "producto_compras?error=no_genero_codigo");
                return;
            }

            string  costoEnvio      = cCMS.ParametroAlias(1);         // (cCMS.ParametroAlias(1) != null) ? cCMS.ParametroAlias(1) : "";
            decimal tipCambio       = cCMS.ObtenerTipoCambioUltimo(); //(cCMS.ObtenerTipoCambioUltimo() != null) ? cCMS.ObtenerTipoCambioUltimo() : 0;
            bool    es_trabajador   = cCMS.ValidarTrabajador(oUsuarioWeb.descripcion_documento_identidad_usuario);
            decimal monto_descuento = OrdenDescuento.AplicarDescuentos(oOrden.CodigoOrden, es_trabajador, monto_total);
            decimal total_descuento = monto_total - monto_descuento;
            decimal totalSoles      = total_descuento == 0 ? monto_total * tipCambio : (total_descuento * tipCambio);
            decimal totalDolares    = total_descuento == 0 ? monto_total : total_descuento;
            totalSoles   = decimal.Round(totalSoles, 2);
            totalDolares = decimal.Round(totalDolares, 2);
            codigoOrden  = oOrden.CodigoOrden;

            if (monto_descuento > 0)
            {
                litDescuento.Text            = Convert.ToDouble(monto_descuento).ToString("N", CultureInfo.InvariantCulture).ToString(); //decimal.Round(dscto_total, 2).ToString();
                litDescuentoDescripcion.Text = " (" + OrdenDescuento.DescuentosAplicadosDescripcion() + ")";
                trDescuento.Visible          = true;
            }

            if (es_trabajador)
            {
                rblElementos.Items.Add(new ListItem("Boleta", "1"));
                rblElementos.Items[0].Selected = true;
            }
            else
            {
                rblElementos.Items.Add(new ListItem("Boleta", "1"));
                rblElementos.Items.Add(new ListItem("Factura", "2"));
                rblElementos.Items[0].Selected = true;

                if (oUsuarioWeb.estado_trabajador == 1)
                {
                    Response.Redirect(url_root + "registro?action=Edit");
                }
            }

            decimal gastoenvio = 0;
            if (cCMS.Orden_UpdateMontoCostoTotal(codigoOrden, monto_total, gastoenvio, totalDolares, monto_descuento, tipCambio))
            {
                RegistrarLogsCms(oUsuarioWeb.id_usuario, "Se agregó a la orden : " + codigoOrden + " los campos subtotal, gasto envio y total");
            }

            litTotal.Text        = Convert.ToDouble(totalSoles).ToString("N", CultureInfo.InvariantCulture).ToString();
            litTotalDolares.Text = Convert.ToDouble(totalDolares).ToString("N", CultureInfo.InvariantCulture).ToString();
            litTipoCambio.Text   = tipCambio.ToString();

            #endregion


            //registrar en tb_orden_producto
            foreach (var item in lProducto)
            {
                /***********************************************/
                //validar si los padres no están inactivos
                eProducto oProductoActive = new eProducto();
                oProductoActive = cCMS.Producto_item(item.IDProducto);
                eArticulo oArticulos     = cCMS.Articulo_item(oProductoActive.IdProductoCategoria);
                eArticulo oArticuloPadre = cCMS.Articulo_item(oArticulos.IdArticuloPadre);

                if (oProductoActive.Activo && oArticulos.Activo && oArticuloPadre.Activo)
                {
                    eOrdenProducto oOrdenProducto = new eOrdenProducto();
                    eProducto      oProd          = new eProducto();
                    oOrdenProducto.CodigoOrden           = oOrden.CodigoOrden;
                    oOrdenProducto.IdProducto            = item.IDProducto;
                    oOrdenProducto.CantidadOrdenProducto = item.CantidadProducto;
                    oOrdenProducto.TipoOrdenProducto     = 1; // boleta
                    oProd.PrecioProducto     = item.PrecioProducto;
                    oOrdenProducto.eProducto = oProd;
                    int agregarOrdenProducto = cCMS.OrdenProducto_Add(oOrdenProducto);
                    RegistrarLogsCms(oUsuarioWeb.id_usuario, "Se agregó un registro a la tabla tb_orden_productos con código de orden : " + oOrden.CodigoOrden + " y id de producto: " + item.IDProducto);
                }
            }

            //validar direccion de despacho
            string despacho = (Request["despacho"] != null) ? Request["despacho"] : "";
            string recojo   = (Request["recojo"] != null) ? Request["recojo"] : "";

            if (despacho == "" && recojo == "")
            {
                if (DirDespacho.Text == "" && DirRecojo.Text == "")
                {
                    Response.Redirect("" + url_root + "direccion");
                }
                else
                {
                    despacho = DirDespacho.Text;
                    recojo   = DirRecojo.Text;
                }
            }
            if (despacho == "")
            {
                tipoDireccion = 1;
                //en caso sea una direccion de recojo
                string codigo_recojo = recojo;
                //hplPagar.Attributes.Add("rel",url_root + "confirmacion_visanet?recojo=" + codigo_recojo);
                oDireccionEntrega = cCMS.Entrega_Listar(codigo_recojo);
                //valida que el codigo exista
                if (oDireccionEntrega == null)
                {
                    Response.Redirect("" + url_root + "despacho");
                }

                litNombreEntrega.Text    = oDireccionEntrega.NombreEntrega;
                litDireccionEntrega.Text = oDireccionEntrega.DireccionEntrega; //falta distrito provincia departamento y pais;
                litTelefonoEntrega.Text  = oDireccionEntrega.Telefono01 + " / " + oDireccionEntrega.Telefono02 + " / " + oDireccionEntrega.Telefono03 + " / " + oDireccionEntrega.Telefono04;

                //agregar a tb_orden_direccion
                eOrdenDireccion oOrdenDireccionValidar = new eOrdenDireccion();
                oOrdenDireccionValidar = cCMS.Orden_Direccion_itemCodigoOrden(codigoOrden);
                if (oOrdenDireccionValidar == null)
                {
                    eOrdenDireccion oOrdenDireccion = new eOrdenDireccion();
                    oOrdenDireccion.CodigoDireccion         = oDireccionEntrega.CodigoEntrega;
                    oOrdenDireccion.TipoDireccion           = "tb_direccion_entrega";
                    oOrdenDireccion.NombreDireccion         = oDireccionEntrega.NombreEntrega;
                    oOrdenDireccion.IdPaisDireccion         = oDireccionEntrega.IdPaisEntrega;
                    oOrdenDireccion.IdDepartamentoDireccion = oDireccionEntrega.IdDepartamentoEntrega;
                    oOrdenDireccion.IdProvinciaDireccion    = oDireccionEntrega.IdProvinciaEntrega;
                    oOrdenDireccion.IdDistritoDireccion     = oDireccionEntrega.IdDistritoEntrega;
                    oOrdenDireccion.DireccionDireccion      = oDireccionEntrega.DireccionEntrega;
                    oOrdenDireccion.Telefono01Direccion     = oDireccionEntrega.Telefono01;
                    oOrdenDireccion.Telefono02Direccion     = oDireccionEntrega.Telefono02;
                    oOrdenDireccion.Telefono03Direccion     = oDireccionEntrega.Telefono03;
                    oOrdenDireccion.Telefono04Direccion     = oDireccionEntrega.Telefono04;
                    oOrdenDireccion.EmailUsuarioDireccion   = oUsuarioWeb.email_usuario;
                    oOrdenDireccion.ReferenciaDireccion     = oDireccionEntrega.ReferenciaEntrega;
                    oOrdenDireccion.CodigoOrden             = codigoOrden;
                    int agregarOrdenDireccion = cCMS.Orden_Direccion_add(oOrdenDireccion);
                    RegistrarLogsCms(oUsuarioWeb.id_usuario, "Seleccionó como direccion de entrega: " + oOrdenDireccion.NombreDireccion + " con código " + oOrdenDireccion.CodigoDireccion + " para la orden " + codigoOrden);
                }
                else
                {
                }
                //RegistrarLogsCms(oUsuarioWeb.email_usuario, "Seleccionó como direccion de entrega: " + despacho);
            }
            if (recojo == "")
            {
                tipoDireccion = 2;
                string codigo_despacho = despacho;
                // hplPagar.Attributes.Add("rel",url_root + "confirmacion_visanet?despacho="+codigo_despacho);
                oDireccionDespacho = cCMS.DireccionDespacho_Listar(oUsuarioWeb.id_usuario, codigo_despacho);
                //valida que no sea otro código que no corresponda
                if (oDireccionDespacho == null)
                {
                    Response.Redirect("" + url_root + "despacho");
                }

                //agregar a tb_orden_direccion
                eOrdenDireccion oOrdenDireccionValidar = new eOrdenDireccion();
                oOrdenDireccionValidar = cCMS.Orden_Direccion_itemCodigoOrden(codigoOrden);
                if (oOrdenDireccionValidar == null)
                {
                    eOrdenDireccion oOrdenDireccion = new eOrdenDireccion();
                    oOrdenDireccion.CodigoDireccion               = oDireccionDespacho.CodigoDespacho;
                    oOrdenDireccion.TipoDireccion                 = "tb_direccion_despacho";
                    oOrdenDireccion.TipoDocumentoDireccion        = oDireccionDespacho.TipoDocumentoDespacho;
                    oOrdenDireccion.DescripcionDocumentoDireccion = oDireccionDespacho.DescripcionDocumentoDespacho;
                    oOrdenDireccion.NombreDireccion               = oDireccionDespacho.NombreDespacho;
                    oOrdenDireccion.ApellidoDireccion             = oDireccionDespacho.ApellidoDespacho;
                    oOrdenDireccion.TipoTelefonoDireccion         = oDireccionDespacho.TipoTelefonoDespacho;
                    oOrdenDireccion.Telefono01Direccion           = oDireccionDespacho.DescripcionTelefonoDespacho;
                    oOrdenDireccion.IdPaisDireccion               = oDireccionDespacho.IdPaisDespacho;
                    oOrdenDireccion.IdDepartamentoDireccion       = oDireccionDespacho.IdDepartamentoDespacho;
                    oOrdenDireccion.IdProvinciaDireccion          = oDireccionDespacho.IdProvinciaDespacho;
                    oOrdenDireccion.IdDistritoDireccion           = oDireccionDespacho.IdDistritoDespacho;
                    oOrdenDireccion.DireccionDireccion            = oDireccionDespacho.DireccionDespacho;
                    oOrdenDireccion.ReferenciaDireccion           = oDireccionDespacho.ReferenciaDespacho;
                    oOrdenDireccion.CiudadDireccion               = oDireccionDespacho.CiudadDespacho;
                    oOrdenDireccion.CodigoPostalDireccion         = oDireccionDespacho.CodigoPostalDespacho;
                    oOrdenDireccion.EmailUsuarioDireccion         = oDireccionDespacho.Emailusuario;
                    oOrdenDireccion.CodigoOrden = codigoOrden;
                    int agregarOrdenDireccion = cCMS.Orden_Direccion_add(oOrdenDireccion);
                    RegistrarLogsCms(oUsuarioWeb.id_usuario, "Seleccionó como direccion de despacho: " + oOrdenDireccion.NombreDireccion + " con código " + oOrdenDireccion.CodigoDireccion + " para la orden " + codigoOrden);
                }
                else
                {
                }
                litNombreEntrega.Text    = oDireccionDespacho.NombreDespacho + " " + oDireccionDespacho.ApellidoDespacho;
                litDireccionEntrega.Text = oDireccionDespacho.DireccionDespacho; //falta distrito provincia departamento y pais;
                litTelefonoEntrega.Text  = oDireccionDespacho.DescripcionTelefonoDespacho;
                //RegistrarLogsCms(oUsuarioWeb.email_usuario, "Seleccionó como direccion de recojo: " + recojo);
            }


            //hplPagar.Attributes.Add("rel", url_root + "confirmacion_visanet?codigoOrden=" + codigoOrden);
            hplPagar.Attributes.Add("rel", url_root + "Content/VisanetPaymentForm.aspx");
            hplPagar.Attributes.Add("relfalse", url_root + "producto_compras");

            DateTime fechaEntrega = new DateTime();
            fechaEntrega         = DateTime.Now.AddDays(5); //DateTime.Now.AddDays(2);
            litFechaEntrega.Text = fechaEntrega.ToShortDateString();
            //agregar la direccion
            //tipoDireccion 1 entrega 2 despacho
            eOrdenEntrega  oOrdenEntrega  = new eOrdenEntrega();
            eOrdenDespacho oOrdenDespacho = new eOrdenDespacho();



            switch (tipoDireccion)
            {
            case 1:
                //agregar a tb_orden_entrega
                oOrdenEntrega.CodigoOrdenEntrega          = recojo;
                oOrdenEntrega.CodigoOrden                 = oOrden.CodigoOrden;
                oOrdenEntrega.EstadoOrdenEntrega          = "No procesada";
                oOrdenEntrega.FechaEstimadaRecojo         = fechaEntrega;
                oOrdenEntrega.TipoComprobanteOrdenEntrega = "No seleccionado";
                int agregaOrdenEntrega = cCMS.OrdenEntrega_Add(oOrdenEntrega);
                break;

            case 2:
                //agregar a tb_orden_despacho
                oOrdenDespacho.CodigoOrden                  = oOrden.CodigoOrden;
                oOrdenDespacho.CodigoOrdenDespacho          = despacho;
                oOrdenDespacho.EstadoOrdenDespacho          = "No procesada";
                oOrdenDespacho.FechaEstimadaRecojo          = fechaEntrega;
                oOrdenDespacho.TipoComprobanteOrdenDespacho = "No seleccionado";
                int agregaOrdenDespacho = cCMS.OrdenDespacho_Add(oOrdenDespacho);
                break;
            }

            //Parametros para generar el eTicket
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "orden_cliente", "var codigoOrden='" + codigoOrden + "'; totalSoles='" + totalSoles + "'; var totalDolares='" + totalDolares + "';", true);
        }
        private void FillRegistro()
        {
            //productos
            decimal            monto_total        = 0;
            eDireccionEntrega  oDireccionEntrega  = new eDireccionEntrega();
            eDireccionDespacho oDireccionDespacho = new eDireccionDespacho();
            eOrden             oOrden             = cCMS.Orden_item(codigo_orden);

            foreach (eOrdenProducto oOrdenProducto in lOrdenProducto)
            {
                decimal PrecioConTodo = oOrdenProducto.eProducto.PrecioProducto;
                PrecioConTodo = decimal.Round(PrecioConTodo, 2);
                decimal subtotal = PrecioConTodo * oOrdenProducto.CantidadOrdenProducto;
                subtotal = decimal.Round(subtotal, 2);

                string productos = "<tr>" +
                                   "<td width=\"80\">" +
                                   "    <img src=\"" + url_root + webcontentUC.Directorio.Pagina_Imagen + oOrdenProducto.eProducto.ImagenChica.ToString() + "\" width=\"67\" height=\"67\">" +
                                   "</td>" +
                                   "<td width=\"130\" style=\"padding-right:20px\">" +
                                   "    <strong>" + oOrdenProducto.eProducto.ModeloProducto + " " + oOrdenProducto.eProducto.CodigoProducto + "</strong><br>" +
                                   "    " + oOrdenProducto.eProducto.DescripcionProducto + "" +
                                   "</td>" +
                                   "<td>" +
                                   "    <strong>US$." + PrecioConTodo.ToString() + "</strong>" +
                                   "</td>" +
                                   "<td style=\"text-align:center\">" +
                                   "    " + oOrdenProducto.CantidadOrdenProducto.ToString() + "" +
                                   "</td>" +
                                   "<td>" +
                                   "    <strong>US$." + subtotal.ToString() + "</strong>" +
                                   "</td>" +
                                   "</tr>" +
                                   "<tr>" +
                                   "    <td colspan=\"5\" style=\"padding:0 0 10px 0\">" +
                                   "    </td>" +
                                   "</tr>";
                litProductos.Text += productos;
                monto_total       += subtotal;
            }

            litSubTotal.Text = monto_total.ToString();

            litTotal.Text        = decimal.Round(oOrden.MontoTotalSoles, 2).ToString();
            litDescuento.Text    = decimal.Round(oOrden.MontoConDescuento, 2).ToString();
            litTotalDolares.Text = decimal.Round(oOrden.MontoTotal, 2).ToString();
            if (oOrden.MontoConDescuento > 0)
            {
                litDescuento.Text   = (oOrden.MontoTotal - oOrden.MontoConDescuento).ToString();
                trDescuento.Visible = true;
            }


            //validar direccion de despacho
            eOrdenEntrega  oOrdenEntrega  = cCMS.OrdenEntrega_ListarOrden(codigo_orden);
            eOrdenDespacho oOrdenDespacho = cCMS.OrdenDespacho_ListarOrden(codigo_orden);

            string entrega  = (oOrdenEntrega.CodigoEntrega == 0) ? "" : oOrdenEntrega.CodigoEntrega.ToString();
            string despacho = (oOrdenDespacho.CodigoDespacho == 0) ? "" : oOrdenDespacho.CodigoDespacho.ToString();

            if (despacho == "")
            {
                //spanGastoEnvio.Visible = false;
                tipoDireccion = 1;
                //en caso sea una direccion de recojo
                litTipoComprobante.Text = oOrdenEntrega.TipoComprobanteOrdenEntrega;
                string codigo_recojo = entrega;
                oDireccionEntrega = cCMS.Entrega_Listar(codigo_recojo);
                //valida que el codigo exista
                if (oDireccionEntrega == null)
                {
                    Response.Redirect("" + url_root + "despacho");
                }

                litDireccionEntrega.Text = oDireccionEntrega.NombreEntrega + " - " + oDireccionEntrega.DireccionEntrega; //falta distrito provincia departamento y pais;
                litRuc.Text         = oOrdenEntrega.RucEntrega;
                litRazonSocial.Text = oOrdenEntrega.RazonSocialEntrega;
            }
            else if (entrega == "")
            {
                //despacho dilevery
                tipoDireccion                      = 2;
                litTipoComprobante.Text            = oOrdenDespacho.TipoComprobanteOrdenDespacho;
                oOrdenDespacho.EstadoOrdenDespacho = "Pagado";
                string codigo_despacho = despacho;
                oDireccionDespacho = cCMS.DireccionDespacho_Listar(oOrden.IdUsuario, codigo_despacho);
                //valida que no sea otro código que no corresponda
                if (oDireccionDespacho == null)
                {
                    Response.Redirect("" + url_root + "despacho");
                }

                litDireccionEntrega.Text = oDireccionDespacho.DireccionDespacho; //falta distrito provincia departamento y pais;
                litRuc.Text         = oOrdenDespacho.RucDespacho;
                litRazonSocial.Text = oOrdenDespacho.RazonSocialDespacho;
            }

            if (litTipoComprobante.Text == "Boleta")
            {
                spanRazon.Visible = false;
                spanRuc.Visible   = false;
            }


            //recuperar el numero de orden
            DateTime fechaEntrega = new DateTime();

            fechaEntrega         = DateTime.Now.AddDays(5);
            litFechaEntrega.Text = fechaEntrega.ToShortDateString();
            litTipoMoneda.Text   = oOrden.MonedaOrden;

            //Datos Adicionales para la notificación

            eUsuariosWeb oUsuarioWeb = cCMS.UsuariosWeb_item(oOrden.IdUsuario);

            litCliente.Text = (oOrden.TipoOrden == 1) ? oUsuarioWeb.nombre_usuario + " " + oUsuarioWeb.apellido_usuario : oOrden.eDireccionDespacho.NombreDespacho;

            litTelefono.Text     = (oOrden.TipoOrden == 1) ? oUsuarioWeb.descripcion_telefono_usuarios : oOrden.eDireccionDespacho.DescripcionTelefonoDespacho;
            litDocIdenti.Text    = oUsuarioWeb.tipo_documento_identidad_usuario + ": " + oUsuarioWeb.descripcion_documento_identidad_usuario;
            litETicket.Text      = oOrden.Eticket;
            litFechaCompra.Text  = oOrden.FechaOrden.ToString();
            litDirecCliente.Text = oUsuarioWeb.direccion_usuario;
            litEmail.Text        = oUsuarioWeb.email_usuario;

            litDisclaimer.Visible = colaborador;
        }
        public List <eOrden> Orden_listar_FiltradoEntregaMes(Int64 id_usuario, string mes)
        {
            //llenamos la lista de Entrega....
            SqlCommand cmd = new SqlCommand("usp_tb_ordenFiltroDespachoMesOrden");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@id_usuario", SqlDbType.BigInt).Value = id_usuario;
            cmd.Parameters.Add("@mes", SqlDbType.VarChar, 100).Value  = mes;

            SqlDataReader reader = ExecuteReader(cmd);
            List <eOrden> lista  = new List <eOrden>();

            while (reader.Read())
            {
                eOrden             oOrden             = new eOrden();
                eOrdenDireccion    oOrdenDireccion    = new eOrdenDireccion();
                eDireccionEntrega  oDireccionEntrega  = new eDireccionEntrega();
                eOrdenEntrega      oOrdenEntrega      = new eOrdenEntrega();
                eDireccionDespacho oDireccionDespacho = new eDireccionDespacho();
                eOrdenDespacho     oOrdenDespacho     = new eOrdenDespacho();
                oOrden.CodigoOrden = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : "");
                oOrden.FechaOrden  = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDateTime(1) : DefaultDateTime);
                oDireccionEntrega.NombreEntrega                = ((!reader[2].Equals(DBNull.Value)) ? reader.GetString(2) : "");
                oDireccionEntrega.DireccionEntrega             = ((!reader[3].Equals(DBNull.Value)) ? reader.GetString(3) : "");
                oDireccionEntrega.Telefono01                   = ((!reader[4].Equals(DBNull.Value)) ? reader.GetString(4) : "");
                oDireccionEntrega.Telefono02                   = ((!reader[5].Equals(DBNull.Value)) ? reader.GetString(5) : "");
                oDireccionEntrega.Telefono03                   = ((!reader[6].Equals(DBNull.Value)) ? reader.GetString(6) : "");
                oDireccionEntrega.Telefono04                   = ((!reader[7].Equals(DBNull.Value)) ? reader.GetString(7) : "");
                oOrdenEntrega.EstadoOrdenEntrega               = ((!reader[8].Equals(DBNull.Value)) ? reader.GetString(8) : "");
                oOrdenEntrega.TipoComprobanteOrdenEntrega      = ((!reader[9].Equals(DBNull.Value)) ? reader.GetString(9) : "");
                oOrdenEntrega.FechaEstimadaRecojo              = ((!reader[10].Equals(DBNull.Value)) ? reader.GetDateTime(10) : DateTime.Today);
                oDireccionDespacho.NombreDespacho              = ((!reader[11].Equals(DBNull.Value)) ? reader.GetString(11) : "");
                oDireccionDespacho.DireccionDespacho           = ((!reader[12].Equals(DBNull.Value)) ? reader.GetString(12) : "");
                oDireccionDespacho.DescripcionTelefonoDespacho = ((!reader[13].Equals(DBNull.Value)) ? reader.GetString(13) : "");
                oOrdenDespacho.EstadoOrdenDespacho             = ((!reader[14].Equals(DBNull.Value)) ? reader.GetString(14) : "");
                oOrdenDespacho.TipoComprobanteOrdenDespacho    = ((!reader[15].Equals(DBNull.Value)) ? reader.GetString(15) : "");
                oOrdenDespacho.FechaEstimadaRecojo             = ((!reader[16].Equals(DBNull.Value)) ? reader.GetDateTime(16) : DateTime.Today);
                oOrdenDireccion.TipoDireccion                  = ((!reader[17].Equals(DBNull.Value)) ? reader.GetString(17) : "");
                oOrden.IdUsuario          = ((!reader[18].Equals(DBNull.Value)) ? reader.GetInt64(18) : Convert.ToInt64(0));
                oOrden.eDireccionEntrega  = oDireccionEntrega;
                oOrden.eOrdenEntrega      = oOrdenEntrega;
                oOrden.eOrdenDespacho     = oOrdenDespacho;
                oOrden.eDireccionDespacho = oDireccionDespacho;

                if (oOrdenDireccion.TipoDireccion == "tb_direccion_entrega")
                {
                    oOrden.TipoOrden = 1;
                }
                else
                {
                    oOrden.TipoOrden = 2;
                }
                lista.Add(oOrden);
            }
            reader.Close();
            ////llenamoe la lista de despacho...
            //SqlCommand cmd2 = new SqlCommand("usp_tb_ordenFiltroDespachoAno");
            //cmd2.CommandType = CommandType.StoredProcedure;
            //cmd2.Parameters.Add("@email_usuario", SqlDbType.VarChar, 100).Value = email_usuario;
            //cmd2.Parameters.Add("@ano", SqlDbType.VarChar, 100).Value = ano;
            //SqlDataReader reader2 = ExecuteReader(cmd2);
            //while (reader2.Read())
            //{
            //    eOrden oOrden = new eOrden();
            //    eDireccionDespacho oDireccionDespacho = new eDireccionDespacho();
            //    eOrdenDespacho oOrdenDespacho = new eOrdenDespacho();
            //    oOrden.CodigoOrden = ((!reader2[0].Equals(DBNull.Value)) ? reader2.GetString(0) : "");
            //    oOrden.FechaOrden = ((!reader2[1].Equals(DBNull.Value)) ? reader2.GetDateTime(1) : DefaultDateTime);
            //    oDireccionDespacho.NombreDespacho = ((!reader2[2].Equals(DBNull.Value)) ? reader2.GetString(3) : "");
            //    oDireccionDespacho.DireccionDespacho = ((!reader2[3].Equals(DBNull.Value)) ? reader2.GetString(3) : "");
            //    oDireccionDespacho.DescripcionTelefonoDespacho = ((!reader2[4].Equals(DBNull.Value)) ? reader2.GetString(4) : "");
            //    oOrdenDespacho.EstadoOrdenDespacho = ((!reader2[5].Equals(DBNull.Value)) ? reader2.GetString(5) : "");
            //    oOrdenDespacho.TipoComprobanteOrdenDespacho = ((!reader2[6].Equals(DBNull.Value)) ? reader2.GetString(6) : "");
            //    oOrdenDespacho.FechaEstimadaRecojo = ((!reader2[7].Equals(DBNull.Value)) ? reader2.GetDateTime(7) : DateTime.Today);
            //    oOrden.eOrdenDespacho = oOrdenDespacho;
            //    oOrden.eDireccionDespacho = oDireccionDespacho;


            //    oOrden.TipoOrden = 2;
            //    lista.Add(oOrden);
            //}
            //reader.Close();

            return(lista);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            //CodigoOrden = (Request["CodigoOrden"] != null) ? Convert.ToString(Request["CodigoOrden"]) : "";
            CodigoOrden = Session["CodigoOrden"].ToString();
            eOrden oOrden = new eOrden();

            txtCodigoOrden.Text = CodigoOrden;
            oOrden = cCMS.OrdenProducto_listar(CodigoOrden);

            List <uProdOrden> aProdOrden = new List <uProdOrden>();

            for (int i = 0; i < oOrden.lProducto.Count(); i++)
            {
                uProdOrden oProdOrden = new uProdOrden();
                oProdOrden.CantProducto   = oOrden.lOrdenProducto[i].CantidadOrdenProducto;
                oProdOrden.ModeloProducto = oOrden.lProducto[i].ModeloProducto;
                oProdOrden.PrecioProducto = oOrden.lProducto[i].PrecioProducto;
                oProdOrden.CodigoOrden    = CodigoOrden;
                oProdOrden.FechaOrden     = oOrden.FechaOrden;

                //pasar precio de soles a dólares

                //igv
                int     IgvInt    = Convert.ToInt32(cCMS.ParametroAlias(4).Replace("%", ""));
                string  IgvString = "1." + IgvInt.ToString();
                decimal igv       = Convert.ToDecimal(IgvString);
                //oProdOrden.PrecioProducto = oProdOrden.PrecioProducto * tipo_cambio;
                oProdOrden.PrecioProducto = oProdOrden.PrecioProducto * igv;
                oProdOrden.PrecioProducto = decimal.Round(oProdOrden.PrecioProducto, 2);

                decimal total = oProdOrden.PrecioProducto * oProdOrden.CantProducto;
                oProdOrden.TotalProducto = total;
                SubTotal += total;
                aProdOrden.Add(oProdOrden);
            }
            decimal tipo_cambio = oOrden.TipoCambio;

            grvOrdenProducto.DataSource = aProdOrden;
            grvOrdenProducto.DataBind();
            //lblSubTotal.Text = Convert.ToString(SubTotal);
            //Envio = Convert.ToDecimal(cCMS.ParametroAlias(1));
            //lblEnvio.Text = Convert.ToString(Envio);

            TotalPedido      = SubTotal + Envio;
            TotalPedidoSoles = TotalPedido * tipo_cambio;
            TotalPedidoSoles = decimal.Round(TotalPedidoSoles, 2);

            lblTotalPedido.Text = Convert.ToString(TotalPedido);
            lblTotalSoles.Text  = Convert.ToString(TotalPedidoSoles);
            //obtener email usuarios por codigo de orden
            Int64 id_usuario = cCMS.UsuariosWeb_CodigoOrden(CodigoOrden);
            //usuarios
            eUsuariosWeb oUsuariosWeb = new eUsuariosWeb();

            oUsuariosWeb = cCMS.UsuariosWeb_item(id_usuario);
            oUsuariosWeb.nombre_usuario = oUsuariosWeb.nombre_usuario + " " + oUsuariosWeb.apellido_usuario;

            List <eUsuariosWeb> lUsuariosWeb = new List <eUsuariosWeb>();

            lUsuariosWeb.Add(oUsuariosWeb);
            grvComprador.DataSource = lUsuariosWeb;
            grvComprador.DataBind();

            //obtener destinatario por codigo de orden
            eDireccionDespacho oDireccionDespacho = new eDireccionDespacho();

            oDireccionDespacho = cCMS.DireccionDespacho_DetallesDestinatario(CodigoOrden);

            List <eDireccionDespacho> lDireccionDespacho = new List <eDireccionDespacho>();

            lDireccionDespacho.Add(oDireccionDespacho);

            if (oDireccionDespacho.TipoDocumentoDespacho == "RUC")
            {
                trPersonaJuridica.Visible = true;
                trJuridica.Visible        = true;
                trPersonaNatural.Visible  = false;
                trNatural.Visible         = false;
                //obtener destinatario juridico grvDestinatarioJuridica
                grvDestinatarioJuridica.DataSource = lDireccionDespacho;
                grvDestinatarioJuridica.DataBind();
            }
            else
            {
                trPersonaNatural.Visible   = true;
                trNatural.Visible          = true;
                trPersonaJuridica.Visible  = false;
                trJuridica.Visible         = false;
                grvDestinatario.DataSource = lDireccionDespacho;
                grvDestinatario.DataBind();
            }

            if (lDireccionDespacho[0].Emailusuario == null)
            {
                trPersonaNatural.Visible       = false;
                trNatural.Visible              = false;
                trPersonaJuridica.Visible      = false;
                trJuridica.Visible             = false;
                trDetallesDestinatario.Visible = false;
                trDireccionRecojo.Visible      = true;
                eDireccionEntrega oDireccionEntrega = new eDireccionEntrega();
                oDireccionEntrega       = cCMS.Entrega_ListarCodigoOrden(CodigoOrden);
                txtDireccionRecojo.Text = oDireccionEntrega.NombreEntrega;
            }

            if (txtDireccionRecojo.Text == "")
            {
                trDireccionRecojo.Visible = false;
            }
        }
        protected void grvListadoPedidos_SelectedIndexChanged(object sender, EventArgs e)
        {
            string codigo_orden = "";

            codigo_orden = grvListadoPedidos.SelectedDataKey.Value.ToString();

            List <eOrden> lOrden = new List <eOrden>();

            lOrden = cCMS.Orden_buscar_codigo(codigo_orden);

            eOrden oOrden = lOrden[0];

            lblNroOrden.Text   = codigo_orden;
            lblFecha.Text      = oOrden.FechaOrden.ToString();
            lblMoneda.Text     = oOrden.MonedaOrden;
            lblDolares.Text    = oOrden.MontoTotal.ToString();
            lblSoles.Text      = (oOrden.MontoTotal * oOrden.TipoCambio).ToString();
            lblTipoCambio.Text = oOrden.TipoCambio.ToString();
            lblEticket.Text    = oOrden.Eticket;

            mvwPedidos.ActiveViewIndex = 2;

            ePago oPago = new ePago();



            if (oOrden.EstadoPago == "DENEGADO" || oOrden.EstadoPago == "AUTORIZADO")
            {
                try
                {
                    WSConsulTicket.WSConsultaEticketSoapClient soapClient = new WSConsulTicket.WSConsultaEticketSoapClient();
                    string xmlIn = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> " +
                                   "<consulta_eticket>" +
                                   "<parametros>" +
                                   "<parametro id=\"CODTIENDA\">" + oOrden.ePago.CodTiendaPago + "</parametro>" +
                                   "<parametro id=\"ETICKET\">" + oOrden.Eticket + "</parametro>" +
                                   "</parametros>" +
                                   "</consulta_eticket>";
                    string      xmlConsultaEticket = soapClient.ConsultaEticket(xmlIn);
                    GridView    grvListado         = new GridView();
                    string      myXMLfile          = xmlConsultaEticket.ToString();
                    XmlDocument xm = new XmlDocument();
                    xm.LoadXml(myXMLfile);
                    XmlNodeReader reader = new XmlNodeReader(xm);
                    while (reader.Read())
                    {
                        XmlNode xmlNode1 = xm.ReadNode(reader);
                        if (xmlNode1.InnerText != "version=\"1.0\" encoding=\"UTF-8\"")
                        {
                            XmlNodeList   xmlNodeLi        = xmlNode1.ChildNodes;
                            XmlElement    xmlNodeCampo     = xmlNode1["operacion"];
                            XmlNodeList   xmlNodeListCampo = xmlNodeCampo.ChildNodes;
                            List <string> listaCampo       = new List <string>();
                            int           contCampo        = 0;
                            foreach (XmlElement item in xmlNodeListCampo)
                            {
                                listaCampo.Add(item.InnerText);
                                //Response.Write("Num. campo: "+contCampo.ToString()+" campo: " + item.Attributes[0].Value.ToString() + " valor: " + item.InnerText + "<br>");
                                contCampo = contCampo + 1;
                            }
                            //Response.Write(" Tot campo --> " + contCampo.ToString());

                            oPago.RespuestaPago  = listaCampo[0].ToString();
                            oPago.EstadoPago     = listaCampo[1].ToString();
                            oPago.CodTiendaPago  = listaCampo[2].ToString();
                            oPago.NumOtPago      = listaCampo[3].ToString();
                            oPago.CodigoAccion   = listaCampo[4].ToString();
                            oPago.NombrePago     = listaCampo[6].ToString();
                            oPago.FechaYHoraPago = Convert.ToDateTime(listaCampo[15].ToString());
                            oPago.ETicketPago    = oOrden.Eticket;
                            oPago.NumTarjetaPan  = listaCampo[5].ToString();
                            oPago.DescEci        = listaCampo[10].ToString();
                            oPago.ImpTotal       = listaCampo[14].ToString();

                            break;
                        }
                    }
                }
                catch (Exception)
                {
                    throw;
                }
            }


            lblCodTienda.Text = oOrden.ePago.CodTiendaPago;
            if (oOrden.EstadoPago == "DENEGADO")
            {
                lblNroVisa.Text = oPago.NumTarjetaPan;
                lblEstado.Text  = VisaNet.MensajeError(oPago.CodigoAccion);
            }
            else if (oOrden.EstadoPago == "AUTORIZADO")
            {
                lblNroVisa.Text = oPago.NumTarjetaPan;
                lblEstado.Text  = oOrden.EstadoPago;
            }
            else
            {
                lblNroVisa.Text = "";
                lblEstado.Text  = oOrden.EstadoPago;
            }


            lblNombreCli.Text = oOrden.eUsuario.nombre_usuario;
            string estado = "";

            if (oOrden.eUsuario.estado_trabajador == 0)
            {
                estado = "No";
            }
            else
            {
                estado = "Si";
            }
            lblColaborador.Text = estado;
            lblCorreo.Text      = oOrden.eUsuario.email_usuario;
            lblTelefono.Text    = oOrden.eUsuario.descripcion_telefono_usuarios;

            string tipo_orden = "";

            if (oOrden.TipoOrden == 0)
            {
                tipo_orden = "Delivery";
            }
            else
            {
                tipo_orden = "Recojo";
            }
            lblTipoDespacho.Text = tipo_orden;

            lblDireccionDespacho.Text = oOrden.Direccion;
            lblTelefonoDespacho.Text  = oOrden.eUsuario.descripcion_telefono_usuarios;
            lblNombreDespacho.Text    = oOrden.eUsuario.nombre_usuario;


            List <eParte> lParte = new List <eParte>();

            lParte = cCMS.EPart_buscar(codigo_orden);

            grvListadoEPART.DataSource = lParte;
            grvListadoEPART.DataBind();
        }
示例#28
0
 public bool Orden_Update(eOrden oOden)
 {
     IdException = cOrden.Update(oOden);
     return(IdException == 0);
 }
        public List <eOrden> Orden_listar_FiltradoEntrega(Int64 id_usuario)
        {
            //llenamos la lista de Entrega....
            SqlCommand cmd = new SqlCommand("usp_tb_ordenFiltroDespachoOrden");

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@id_usuario", SqlDbType.BigInt).Value = id_usuario;

            SqlDataReader reader = ExecuteReader(cmd);
            List <eOrden> lista  = new List <eOrden>();

            while (reader.Read())
            {
                string             tipo               = "";
                eOrden             oOrden             = new eOrden();
                eDireccionEntrega  oDireccionEntrega  = new eDireccionEntrega();
                eOrdenEntrega      oOrdenEntrega      = new eOrdenEntrega();
                eDireccionDespacho oDireccionDespacho = new eDireccionDespacho();
                eOrdenDespacho     oOrdenDespacho     = new eOrdenDespacho();
                oOrden.CodigoOrden = ((!reader[0].Equals(DBNull.Value)) ? reader.GetString(0) : "");
                oOrden.FechaOrden  = ((!reader[1].Equals(DBNull.Value)) ? reader.GetDateTime(1) : DefaultDateTime);
                oDireccionEntrega.NombreEntrega                = ((!reader[2].Equals(DBNull.Value)) ? reader.GetString(2) : "");
                oDireccionEntrega.DireccionEntrega             = ((!reader[3].Equals(DBNull.Value)) ? reader.GetString(3) : "");
                oDireccionEntrega.Telefono01                   = ((!reader[4].Equals(DBNull.Value)) ? reader.GetString(4) : "");
                oDireccionEntrega.Telefono02                   = ((!reader[5].Equals(DBNull.Value)) ? reader.GetString(5) : "");
                oDireccionEntrega.Telefono03                   = ((!reader[6].Equals(DBNull.Value)) ? reader.GetString(6) : "");
                oDireccionEntrega.Telefono04                   = ((!reader[7].Equals(DBNull.Value)) ? reader.GetString(7) : "");
                oOrdenEntrega.EstadoOrdenEntrega               = ((!reader[8].Equals(DBNull.Value)) ? reader.GetString(8) : "");
                oOrdenEntrega.TipoComprobanteOrdenEntrega      = ((!reader[9].Equals(DBNull.Value)) ? reader.GetString(9) : "");
                oOrdenEntrega.FechaEstimadaRecojo              = ((!reader[10].Equals(DBNull.Value)) ? reader.GetDateTime(10) : DateTime.Today);
                oDireccionDespacho.NombreDespacho              = ((!reader[11].Equals(DBNull.Value)) ? reader.GetString(11) : "");
                oDireccionDespacho.DireccionDespacho           = ((!reader[12].Equals(DBNull.Value)) ? reader.GetString(12) : "");
                oDireccionDespacho.DescripcionTelefonoDespacho = ((!reader[13].Equals(DBNull.Value)) ? reader.GetString(13) : "");
                oOrdenDespacho.EstadoOrdenDespacho             = ((!reader[14].Equals(DBNull.Value)) ? reader.GetString(14) : "");
                oOrdenDespacho.TipoComprobanteOrdenDespacho    = ((!reader[15].Equals(DBNull.Value)) ? reader.GetString(15) : "");
                oOrdenDespacho.FechaEstimadaRecojo             = ((!reader[16].Equals(DBNull.Value)) ? reader.GetDateTime(16) : DateTime.Today);
                tipo = ((!reader[17].Equals(DBNull.Value)) ? reader.GetString(17) : "");
                oOrdenDespacho.RazonSocialDespacho = ((!reader[18].Equals(DBNull.Value)) ? reader.GetString(18) : "");
                oOrdenDespacho.RucDespacho         = ((!reader[19].Equals(DBNull.Value)) ? reader.GetString(19) : "");
                oOrdenEntrega.RazonSocialEntrega   = ((!reader[20].Equals(DBNull.Value)) ? reader.GetString(20) : "");
                oOrdenEntrega.RucEntrega           = ((!reader[21].Equals(DBNull.Value)) ? reader.GetString(21) : "");
                oOrden.IdUsuario         = ((!reader[22].Equals(DBNull.Value)) ? reader.GetInt64(22) : Convert.ToInt64(0));
                oOrden.MontoConDescuento = ((!reader[23].Equals(DBNull.Value)) ? reader.GetDecimal(23) : Convert.ToDecimal(0));

                oOrden.eDireccionEntrega  = oDireccionEntrega;
                oOrden.eOrdenEntrega      = oOrdenEntrega;
                oOrden.eOrdenDespacho     = oOrdenDespacho;
                oOrden.eDireccionDespacho = oDireccionDespacho;

                if (tipo == "tb_direccion_entrega")
                {
                    oOrden.TipoOrden = 1;
                }
                else
                {
                    oOrden.TipoOrden = 2;
                }
                lista.Add(oOrden);
            }
            reader.Close();
            return(lista);
        }