Exemple #1
0
        protected void grdOrdenVenta_DeleteCommand(object sender, GridCommandEventArgs e)
        {
            PedidoWCFClient     objPedidoWCF  = new PedidoWCFClient();
            OrdenVentaWCFClient objOrdenVenta = new OrdenVentaWCFClient();

            GridDataItem dataitem = (GridDataItem)e.Item;

            try
            {
                int     Op         = Convert.ToInt32(((GridDataItem)e.Item).GetDataKeyValue("Op"));
                string  IdAgenda   = dataitem["ID_Agenda"].Text;
                int     IdPedido   = int.Parse(dataitem["ID"].Text);
                decimal ValorVenta = decimal.Parse(dataitem["Total"].Text);

                string idSectorista = cbSectorista.SelectedValue;
                string Perfil       = ((Usuario_LoginResult)Session["Usuario"]).nombrePerfil;
                string usuario      = ((Usuario_LoginResult)Session["Usuario"]).nombres;

                //string idSectorista = cbSectorista.SelectedValue;
                string comentario = "Desaprobado por " + Perfil + " (" + usuario + ").";

                objPedidoWCF.Pedido_DesAprobar(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, IdPedido, Op, idSectorista, false);
                objOrdenVenta.OrdenVenta_Deasaprobar(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, Op, comentario);

                OrdenVenta_Listar(null, dpFechaInicio.SelectedDate.Value, dpFechaFinal.SelectedDate.Value, null, cbSectorista.SelectedValue, int.Parse(cboEstado.SelectedValue), int.Parse(cboTipoPago.SelectedValue));

                lblMensaje.Text     = "Se desaprobo el pedido " + ((GridDataItem)e.Item).GetDataKeyValue("Op") + " con éxito.";
                lblMensaje.CssClass = "mensajeExito";
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
Exemple #2
0
        protected void grdPedido_ItemCommand(object sender, GridCommandEventArgs e)
        {
            try
            {
                if (e.CommandName == "Eliminar")
                {
                    PedidoWCFClient objPedidoWCF = new PedidoWCFClient();
                    objPedidoWCF.Pedido_Eliminar(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, int.Parse(e.CommandArgument.ToString()),
                                                 ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, ((Usuario_LoginResult)Session["Usuario"]).password);

                    Pedido_Listar(acbCliente.Text.Split('-')[0], dpFechaInicio.SelectedDate.Value, dpFechaFinal.SelectedDate.Value, int.Parse(cboTipoDocumento.SelectedValue),
                                  acbVendedor.Text.Split('-')[0], int.Parse(cboFormaPago.SelectedValue), int.Parse(cboEstado.SelectedValue));

                    lblMensaje.Text     = "Se eliminó el pedido " + e.CommandArgument.ToString() + " con éxito.";
                    lblMensaje.CssClass = "mensajeExito";
                }

                if (e.CommandName == "VerGuia")
                {
                    ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "DocumentsViewer(" + e.CommandArgument.ToString() + ");", true);
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
        protected void btnAprobar_Click(object sender, EventArgs e)
        {
            lblMensaje.Text = "";
            if (Session["Usuario"] == null)
            {
                Response.Redirect("~/Security/frmCerrar.aspx");
            }

            PedidoWCFClient objPedidoWCF = new PedidoWCFClient();

            try
            {
                foreach (GridItem rowitem in grdOrdenVenta.MasterTableView.Items)
                {
                    GridDataItem dataitem = (GridDataItem)rowitem;
                    TableCell    cell     = dataitem["CheckColumn"];
                    CheckBox     checkBox = (CheckBox)cell.Controls[0].FindControl("Check");
                    if (checkBox.Checked == true && checkBox.Enabled == true)
                    {
                        int     Op         = Convert.ToInt32(dataitem.GetDataKeyValue("Op").ToString());
                        string  IdAgenda   = dataitem["ID_Agenda"].Text;
                        int     IdPedido   = int.Parse(dataitem["ID"].Text);
                        decimal ValorVenta = decimal.Parse(dataitem["Total"].Text);
                        string  Perfil     = ((Usuario_LoginResult)Session["Usuario"]).nombrePerfil;
                        string  usuario    = ((Usuario_LoginResult)Session["Usuario"]).nombres;
                        int     Id_moneda  = int.Parse(dataitem["Id_moneda"].Text);

                        //string idSectorista = cbSectorista.SelectedValue;
                        string comentario = "Aprobado por " + Perfil + " (" + usuario + ").";

                        var idEmpresa = ((Usuario_LoginResult)Session["Usuario"]).idEmpresa;
                        var idUsuario = ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario;


                        var opDocVenta = objPedidoWCF.VerificarExisteDocVenta(idEmpresa, idUsuario, IdAgenda).OpDocVenta;
                        //rwmOrdenVenta.RadConfirm("¿Esta seguro que desea Aprobar el pedido " + Op + "?", null, 400, 200,null, "Aprobar Pedido");
                        if (opDocVenta != 0)
                        {
                            Registrar_Aprobacion(IdAgenda, IdPedido, Op, null, comentario, ValorVenta, Id_moneda);
                        }
                        else
                        {
                            rwmOrdenVenta.RadAlert("Existe otro pedido que ha sido aprobado y aun no se ha generado su documento de venta.", 400, 200, "Alerta Verificar Pedido", "");
                        }
                    }
                }
                OrdenVenta_Listar(null, dpFechaInicio.SelectedDate.Value, dpFechaFinal.SelectedDate.Value, null, null, int.Parse(cboEstado.SelectedValue), int.Parse(cboFormaPago.SelectedValue));
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
Exemple #4
0
        private void Pedido_Listar(string idAgenda, DateTime fechaInicial, DateTime fechaFinal, int?idDocumento, string idVendedor, int?idFormaPago, decimal?idEstadoAprobacion)
        {
            PedidoWCFClient objPedidoWCF;
            bool            superUsuario = false;

            try
            {
                objPedidoWCF         = new PedidoWCFClient();
                grdPedido.DataSource = objPedidoWCF.Pedido_Listar(((Usuario_LoginResult)Session["Usuario"]).idEmpresa,
                                                                  ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, idAgenda, fechaInicial, fechaFinal, idDocumento,
                                                                  idVendedor, idFormaPago, idEstadoAprobacion, ref superUsuario);
                grdPedido.DataBind();
                if (!superUsuario)
                {
                    lblVendedor.Visible = false;
                    acbVendedor.Visible = false;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #5
0
        // Plan Letras
        private void PedidosFechas_Buscar(int OpOV, int OpDoc)
        {
            try
            {
                List <gsPedidos_FechasLetrasSelectResult> lstFechas = new List <gsPedidos_FechasLetrasSelectResult>();
                PedidoWCFClient objPedidoWCF = new PedidoWCFClient();
                if (OpOV > 0 || OpDoc > 0)
                {
                    lstFechas            = objPedidoWCF.PedidoLetras_Detalle(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, OpOV, OpDoc, "Tabla").ToList();
                    Session["lstFechas"] = lstFechas;
                }
                else
                {
                    Session["lstFechas"] = lstFechas;
                }

                PedidosFechas_Letras(lstFechas);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #6
0
        protected void Registrar_Aprobacion(string idAgenda, int IdPedido, int Op, string idSectorista, string comentario, decimal ValorVenta, int id_moneda, string Aprobacion, int Guia)
        {
            PedidoWCFClient objPedidoWCF = new PedidoWCFClient();
            gsAgendaCliente_BuscarLimiteCreditoResult objLimite = new gsAgendaCliente_BuscarLimiteCreditoResult();

            decimal porcentaje    = 0;
            decimal ValorPedido   = 0;
            decimal LineaMaximo   = 0;
            decimal LineaCredito  = 0;
            decimal Deuda         = 0;
            decimal DeudaIncluida = 0;
            decimal TC            = 0;

            var idEmpresa = ((Usuario_LoginResult)Session["Usuario"]).idEmpresa;
            var idUsuario = ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario;

            try
            {
                if (((Usuario_LoginResult)Session["Usuario"]).aprobarPedido == true)
                {
                    ValorPedido = ValorVenta;
                    porcentaje  = (decimal.Parse(((Usuario_LoginResult)Session["Usuario"]).aprobarPorcentaje.ToString()) / 100);
                    objLimite   = ListarClientesResumen(idAgenda);

                    if (!string.IsNullOrEmpty(objLimite.ID_Agenda))
                    {
                        TC           = (decimal)objLimite.TC;
                        LineaCredito = decimal.Parse(objLimite.LineaCredito.ToString());
                        if (id_moneda == 1)
                        {
                            LineaCredito = LineaCredito * TC;
                        }
                        LineaMaximo = LineaCredito + (LineaCredito * porcentaje);
                        Deuda       = decimal.Parse(objLimite.TotalRiesgo.ToString());

                        if (id_moneda == 1)
                        {
                            Deuda = Deuda * TC;
                        }


                        if (Guia == 1 || Guia == 2)
                        {
                            DeudaIncluida = Deuda;
                        }
                        else
                        {
                            if (Aprobacion == "True")
                            {
                                DeudaIncluida = Deuda;
                            }
                            else
                            {
                                DeudaIncluida = Deuda + ValorPedido;
                            }
                        }


                        if (DeudaIncluida <= LineaMaximo)
                        {
                            objPedidoWCF.Pedido_Aprobar(idEmpresa, idUsuario, IdPedido, Op, idSectorista, true, comentario);
                            objPedidoWCF.gsDocVentaAprobacion_Registrar(idEmpresa, IdPedido, Op, idAgenda, idUsuario);
                        }
                        else
                        {
                            rwmOrdenVenta.RadAlert("El porcentaje de sobregiro asignado no es suficiente. Solicitar la aprobación de su Superior. ", 400, null, "Mensaje de error", null);
                        }
                    }
                    else
                    {
                        rwmOrdenVenta.RadAlert("El cliente no tiene linea de crédito, solicitar a C&C. ", 400, null, "Mensaje de error", null);
                    }
                }
                else
                {
                    rwmOrdenVenta.RadAlert("No tiene autorización para aprobar pedidos. ", 400, null, "Mensaje de error", null);
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
Exemple #7
0
        protected void btnAprobar_Click(object sender, EventArgs e)
        {
            lblMensaje.Text = "";
            if (Session["Usuario"] == null)
            {
                Response.Redirect("~/Security/frmCerrar.aspx");
            }

            PedidoWCFClient  objPedidoWCF  = new PedidoWCFClient();
            CreditoWCFClient objCreditoWCF = new CreditoWCFClient();

            try
            {
                foreach (GridItem rowitem in grdOrdenVenta.MasterTableView.Items)
                {
                    GridDataItem dataitem = (GridDataItem)rowitem;
                    TableCell    cell     = dataitem["CheckColumn"];
                    CheckBox     checkBox = (CheckBox)cell.Controls[0].FindControl("Check");
                    if (checkBox.Checked == true && checkBox.Enabled == true)
                    {
                        int    Op       = Convert.ToInt32(dataitem.GetDataKeyValue("Op").ToString());
                        string IdAgenda = dataitem["ID_Agenda"].Text;

                        int IdPedido  = int.Parse(dataitem["ID"].Text);
                        int Id_moneda = int.Parse(dataitem["Id_moneda"].Text);
                        //--------------------------------------

                        string Aprobacion = dataitem["Aprobacion"].Text;
                        int    Guia       = int.Parse(dataitem["Guia"].Text);

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

                        decimal ValorVenta = decimal.Parse(dataitem["Total"].Text);
                        string  Perfil     = ((Usuario_LoginResult)Session["Usuario"]).nombrePerfil;
                        string  usuario    = ((Usuario_LoginResult)Session["Usuario"]).nombres;

                        //string idSectorista = cbSectorista.SelectedValue;
                        string comentario = "Aprobado por " + Perfil + " (" + usuario + ").";

                        string idSectorista = cbSectorista.SelectedValue;


                        var idEmpresa = ((Usuario_LoginResult)Session["Usuario"]).idEmpresa;
                        var idUsuario = ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario;

                        var opDocVenta = objPedidoWCF.VerificarExisteDocVenta(idEmpresa, idUsuario, IdAgenda).OpDocVenta;
                        //rwmOrdenVenta.RadConfirm("¿Esta seguro que desea Aprobar el pedido " + Op + "?", null, 400, 200,null, "Aprobar Pedido");
                        if (opDocVenta != 0)
                        {
                            USP_SEL_Verificacion_DeudaVencidaResult[]   lstDv  = null;
                            USP_SEL_Verificacion_LetrasxAceptarResult[] lstlet = null;

                            objCreditoWCF.ObtenerVerificacionAprobacion2(idEmpresa, idUsuario, IdAgenda, ref lstDv, ref lstlet);

                            if (lstDv.Any() || lstlet.Any())
                            {
                                double totalDeudaVencida = Convert.ToDouble(lstDv.Sum(x => x.DeudaVencida));
                                double totalletras       = Convert.ToDouble(lstlet.Sum(x => x.Deuda_mayor30Dias));
                                //string NombreCliente = dataitem["Agenda"].Text;
                                Session["NombreClienteAprobacion"] = dataitem["Agenda"].Text;
                                ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "ShowInsertForm('" + IdAgenda + "'," +
                                                                    IdPedido.ToString() + "," + Op.ToString() + ",'" + idSectorista + "','" + comentario + "'," + ValorVenta.ToString() + "," +
                                                                    Id_moneda.ToString() + ",'" + Aprobacion + "'," + Guia + "," + totalDeudaVencida + "," + totalletras
                                                                    + ");", true);

                                //rwmOrdenVenta.RadAlert("El cliente tiene deuda vencida con mas de 10 días", 450, 150, "Mantenimiento de Productos", null, "../../Images/Icons/sign-error-32.png");
                                break;
                            }
                            else
                            {
                                Registrar_Aprobacion(IdAgenda, IdPedido, Op, idSectorista, comentario, ValorVenta, Id_moneda, Aprobacion, Guia);
                            }
                        }
                        else
                        {
                            rwmOrdenVenta.RadAlert("Existe otro pedido que ha sido aprobado y aun no se ha generado su documento de venta.", 400, 200, "Alerta Verificar Pedido", "");
                        }
                    }
                }
                OrdenVenta_Listar(null, dpFechaInicio.SelectedDate.Value, dpFechaFinal.SelectedDate.Value, null, cbSectorista.SelectedValue, int.Parse(cboEstado.SelectedValue), int.Parse(cboTipoPago.SelectedValue));
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
Exemple #8
0
        //private void CargarData()
        //{
        //    txtTotalDeudaVen.Text = totalDeudaVencida.ToString("#,##0.00");
        //    txtTotalLetras.Text = totalletras.ToString("#,##0.00");

        //}
        private void Registrar_Aprobacion()//string idAgenda, int IdPedido, int Op, string idSectorista, string comentario, decimal ValorVenta, int id_moneda, string Aprobacion, int Guia)
        {
            PedidoWCFClient objPedidoWCF = new PedidoWCFClient();
            gsAgendaCliente_BuscarLimiteCreditoResult objLimite = new gsAgendaCliente_BuscarLimiteCreditoResult();

            decimal porcentaje    = 0;
            decimal ValorPedido   = 0;
            decimal LineaMaximo   = 0;
            decimal LineaCredito  = 0;
            decimal Deuda         = 0;
            decimal DeudaIncluida = 0;
            decimal TC            = 0;

            var idEmpresa = ((Usuario_LoginResult)Session["Usuario"]).idEmpresa;
            var idUsuario = ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario;


            IdAgenda     = ((Request.QueryString["Id_Cliente"]));
            idSectorista = ((Request.QueryString["idSectorista"]));
            comentario   = ((Request.QueryString["comentario"]));
            Aprobacion   = ((Request.QueryString["Aprobacion"]));

            IdPedido   = Int32.Parse((Request.QueryString["IdPedido"]));
            Op         = Int32.Parse((Request.QueryString["Op"]));
            ValorVenta = decimal.Parse((Request.QueryString["ValorVenta"]));
            Id_moneda  = Int32.Parse((Request.QueryString["Id_moneda"]));
            Guia       = Int32.Parse((Request.QueryString["Guia"]));

            totalDeudaVencida = decimal.Parse((Request.QueryString["totalDeudaVencida"]));
            totalletras       = decimal.Parse((Request.QueryString["totalletras"]));

            try
            {
                if (((Usuario_LoginResult)Session["Usuario"]).aprobarPedido == true)
                {
                    ValorPedido = ValorVenta;
                    porcentaje  = (decimal.Parse(((Usuario_LoginResult)Session["Usuario"]).aprobarPorcentaje.ToString()) / 100);
                    objLimite   = ListarClientesResumen(IdAgenda);

                    if (!string.IsNullOrEmpty(objLimite.ID_Agenda))
                    {
                        TC           = (decimal)objLimite.TC;
                        LineaCredito = decimal.Parse(objLimite.LineaCredito.ToString());
                        if (Id_moneda == 1)
                        {
                            LineaCredito = LineaCredito * TC;
                        }
                        LineaMaximo = LineaCredito + (LineaCredito * porcentaje);
                        Deuda       = decimal.Parse(objLimite.TotalRiesgo.ToString());

                        if (Id_moneda == 1)
                        {
                            Deuda = Deuda * TC;
                        }


                        if (Guia == 1 || Guia == 2)
                        {
                            DeudaIncluida = Deuda;
                        }
                        else
                        {
                            if (Aprobacion == "True")
                            {
                                DeudaIncluida = Deuda;
                            }
                            else
                            {
                                DeudaIncluida = Deuda + ValorPedido;
                            }
                        }


                        if (DeudaIncluida <= LineaMaximo)
                        {
                            objPedidoWCF.Pedido_Aprobar(idEmpresa, idUsuario, IdPedido, Op, idSectorista, true, comentario);
                            objPedidoWCF.gsDocVentaAprobacion_Registrar(idEmpresa, IdPedido, Op, IdAgenda, idUsuario);
                            rwmOrdenVenta.RadAlert("Se aprobó el pedido correctamente. ", 200, 150, "Aprobación de Pedidos", null);
                            objCreditoWCF = new CreditoWCFClient();



                            objCreditoWCF.Enviar_Notificacion_Aprobacion2(idEmpresa, idUsuario, IdAgenda, txtCliente.Text, Op.ToString(),
                                                                          Convert.ToDecimal(txtTotalLetrasS.Text.Trim() == string.Empty ? "0" : txtTotalLetrasS.Text.Trim()),
                                                                          Convert.ToDecimal(txtTotalDeudaVenS.Text.Trim() == string.Empty ? "0" : txtTotalDeudaVenS.Text.Trim()),
                                                                          Convert.ToDecimal(txtTotalLetrasN.Text.Trim() == string.Empty ? "0" : txtTotalLetrasN.Text.Trim()),
                                                                          Convert.ToDecimal(txtTotalDeudaVenN.Text.Trim() == string.Empty ? "0" : txtTotalDeudaVenN.Text.Trim()),
                                                                          Convert.ToDecimal(txtTotalLetrasI.Text.Trim() == string.Empty ? "0" : txtTotalLetrasI.Text.Trim()),
                                                                          Convert.ToDecimal(txtTotalDeudaVenI.Text.Trim() == string.Empty ? "0" : txtTotalDeudaVenI.Text.Trim()),
                                                                          ((Usuario_LoginResult)Session["Usuario"]).nombres, txtcomentarios.Text);


                            objCreditoWCF.RegistrarLog_AprobacionDeudaVencida(idEmpresa, idUsuario, IdAgenda, txtCliente.Text, Op.ToString(),
                                                                              Convert.ToDecimal(txtTotalLetrasS.Text == string.Empty ? "0" : txtTotalLetrasS.Text), Convert.ToDecimal(txtTotalDeudaVenS.Text == string.Empty ? "0" : txtTotalDeudaVenS.Text),
                                                                              Convert.ToDecimal(txtTotalLetrasN.Text == string.Empty ? "0" : txtTotalLetrasN.Text), Convert.ToDecimal(txtTotalDeudaVenN.Text == string.Empty ? "0" : txtTotalDeudaVenN.Text),
                                                                              Convert.ToDecimal(txtTotalLetrasI.Text == string.Empty ? "0" : txtTotalLetrasI.Text), Convert.ToDecimal(txtTotalDeudaVenI.Text == string.Empty ? "0" : txtTotalDeudaVenI.Text), txtcomentarios.Text);

                            ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "CloseAndRebind(" + Op.ToString() + ");", true);
                        }
                        else
                        {
                            rwmOrdenVenta.RadAlert("El porcentaje de sobregiro asignado no es suficiente. Solicitar la aprobación de su Superior. ", 400, null, "Mensaje de error", null);
                        }
                    }
                    else
                    {
                        rwmOrdenVenta.RadAlert("El cliente no tiene linea de crédito, solicitar a C&C. ", 400, null, "Mensaje de error", null);
                    }
                }
                else
                {
                    rwmOrdenVenta.RadAlert("No tiene autorización para aprobar pedidos. ", 400, null, "Mensaje de error", null);
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }