private void CargarClientes()
        {
            List <USP_SEL_MetaPresupuestoPendienteResult> lst = new List <USP_SEL_MetaPresupuestoPendienteResult>();

            strId_Vendedor = Request.QueryString["Id_Vendedor"];
            strMes         = Request.QueryString["Mes"];
            strAnno        = Request.QueryString["Anno"];
            lst            = objPlanificacion.Obtener_PresupuestoPendiente(
                ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).idEmpresa,
                ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).codigoUsuario,
                Convert.ToInt32(strAnno),
                Convert.ToInt32(strMes),
                strId_Vendedor).ToList();

            var lstclientes = lst.Select(x => new
            {
                x.Id_Cliente,
                x.Cliente
            }).Distinct();


            cbcliente.DataSource     = lstclientes;
            cbcliente.DataTextField  = "Cliente";
            cbcliente.DataValueField = "Id_Cliente";
            cbcliente.DataBind();

            lblDiferencia.Text = Math.Round(Convert.ToDouble(lst.Sum(x => x.Total)), 2).ToString();
        }
        protected void gvwProductos_ItemCommand(object sender, GridCommandEventArgs e)
        {
            try
            {
                string id;
                string Aprobado = string.Empty;



                string[] commandArgs = e.CommandArgument.ToString().Split(new char[] { ',' });
                id       = commandArgs[0].ToString();
                Aprobado = commandArgs[1].ToString();



                if (e.CommandName == "EliminarProm")
                {
                    if (!Convert.ToBoolean(Aprobado))
                    {
                        strId_Vendedor = Request.QueryString["Id_Vendedor"];
                        strMes         = Request.QueryString["Mes"];
                        strAnno        = Request.QueryString["Anno"];

                        objPlanificacion = new PlanificacionWCFClient();
                        objPlanificacion.Eliminar_MetaPresupuestoPromotor(
                            ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).idEmpresa,
                            ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).codigoUsuario,
                            Convert.ToInt32(strAnno), Convert.ToInt32(strMes), strId_Vendedor, Convert.ToInt32(id)
                            );
                        //ScriptManager.RegisterStartupScript(Page, this.GetType(), "mykey", "ClearText();", true);
                        CargarPresupuesto();

                        List <USP_SEL_MetaPresupuestoPendienteResult> lst = new List <USP_SEL_MetaPresupuestoPendienteResult>();
                        strId_Vendedor = Request.QueryString["Id_Vendedor"];
                        strMes         = Request.QueryString["Mes"];
                        strAnno        = Request.QueryString["Anno"];
                        lst            = objPlanificacion.Obtener_PresupuestoPendiente(
                            ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).idEmpresa,
                            ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).codigoUsuario,
                            Convert.ToInt32(strAnno),
                            Convert.ToInt32(strMes),
                            strId_Vendedor).ToList();

                        lblDiferencia.Text = (Convert.ToDouble(lst.Sum(x => x.Total)) - Convert.ToDouble(_lstpresupuestoProm.Sum(x => x.Total))).ToString();
                    }
                    else
                    {
                        rwmPre.RadAlert("El presupuesto pro promotor esta aprobado, imposible realizar cambios.", 400, null, "Mensaje de error", null);
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                lblMensaje.Text     = ex.Message;
                lblMensaje.CssClass = "mensajeError";
            }
        }
        private void AgregarMontoPromotor()
        {
            objPlanificacion = new PlanificacionWCFClient();
            //List<USP_Sel_MetaPresupuestoPromotorResult> lstprom = new List<USP_Sel_MetaPresupuestoPromotorResult>();
            List <USP_SEL_MetaPresupuestoPendienteResult> lstpendiente = new List <USP_SEL_MetaPresupuestoPendienteResult>();

            _lstpresupuestoProm = JsonHelper.JsonDeserialize <List <USP_Sel_MetaPresupuestoPromotorResult> >((string)Session["PresupuestoPromotor"]);

            strId_Vendedor = Request.QueryString["Id_Vendedor"];
            strMes         = Request.QueryString["Mes"];
            strAnno        = Request.QueryString["Anno"];
            lstpendiente   = objPlanificacion.Obtener_PresupuestoPendiente(
                ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).idEmpresa,
                ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).codigoUsuario,
                Convert.ToInt32(strAnno),
                Convert.ToInt32(strMes),
                strId_Vendedor).ToList();

            double TotalPromotor  = Math.Round(Convert.ToDouble(_lstpresupuestoProm.Sum(x => x.Total)), 2);
            double TotalPendiente = Math.Round(Convert.ToDouble(lstpendiente.Sum(x => x.Total)), 2);


            if (TotalPendiente < (TotalPromotor) + Convert.ToDouble(txtmonto.Text))
            {
                rwmPre.RadAlert("El monto total asignado a los promotores es superior al monto total del presupuesto", 400, null, "Validación de Información", null);
            }
            else if (_lstpresupuestoProm.Where(x => x.Id_Cliente == cbcliente.SelectedValue.ToString() && x.Id_Promotor == cbpromotor.SelectedValue.ToString()).Count() >= 1)
            {
                rwmPre.RadAlert("El promotor seleccionado ya tiene registrado un presupuesto al cliente seleccionado", 400, null, "Validación de Información", null);
            }
            else
            {
                lblDiferencia.Text = Math.Round(TotalPendiente - ((TotalPromotor) + Convert.ToDouble(txtmonto.Text)), 2).ToString();
                //_lstpresupuestoProm.Add(new USP_Sel_MetaPresupuestoPromotorResult
                //{
                //    Id=0,
                //    Anno=Convert.ToInt32(strAnno),
                //    Mes=Convert.ToInt32(strMes),
                //    Id_Vendedor=strId_Vendedor,
                //    Id_Cliente=cbcliente.SelectedValue.ToString(),
                //    NombreCliente=cbcliente.Text.Trim(),
                //    Id_Promotor=cbpromotor.SelectedValue.ToString(),
                //    NombrePromotor=cbpromotor.Text.Trim(),
                //    Aprobado=false,
                //    Total=Convert.ToDecimal(txtmonto.Text)
                //});

                objPlanificacion.Registrar_MetaPresupuestoPromotor(
                    ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).idEmpresa,
                    ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).codigoUsuario,
                    Convert.ToInt32(strAnno), Convert.ToInt32(strMes), strId_Vendedor, cbcliente.SelectedValue.ToString(), cbpromotor.SelectedValue.ToString(), Convert.ToDecimal(txtmonto.Text), false);
            }
        }
        private void CargarPresupuestoPendiente()
        {
            objPlanificacion = new PlanificacionWCFClient();
            strId_Vendedor   = Request.QueryString["Id_Vendedor"];
            strMes           = Request.QueryString["Mes"];
            strAnno          = Request.QueryString["Anno"];

            _lstPrePendiente = objPlanificacion.Obtener_PresupuestoPendiente(
                ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).idEmpresa,
                ((Usuario_LoginResult)HttpContext.Current.Session["Usuario"]).codigoUsuario, Convert.ToInt32(strAnno), Convert.ToInt32(strMes), strId_Vendedor).ToList();

            txtzona.Text             = _lstPrePendiente.Select(x => x.Zona).First().ToUpper();
            txtjefezona.Text         = _lstPrePendiente.Select(x => x.Vendedor).First().ToUpper();
            txtperiodo.Text          = (RetornaMes(Convert.ToInt32(strMes)) + " - " + strAnno).ToUpper();
            Session["lstpendientes"] = JsonHelper.JsonSerializer(_lstPrePendiente);
            gvwProductos.DataSource  = _lstPrePendiente;
            gvwProductos.DataBind();
        }