diff --git a/App_Code/ClsCRM.vb b/App_Code/ClsCRM.vb index d269279b6..acabd6abe 100644 --- a/App_Code/ClsCRM.vb +++ b/App_Code/ClsCRM.vb @@ -1089,6 +1089,43 @@ Public Class ClsCRM End Function #End Region +#Region "Asignar Vendedor a Prospectos" + Public Function GetProspectosPorAsignarVendedor(CveEmpresa As Integer, Optional Empresa As String = "-1", Optional CveSubProyecto As Integer = -1, Optional CveGiro As Integer = -1) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_CRM_GetProspectosPorAsignarVendedor", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Empresa", SqlDbType.NVarChar).Value = Empresa + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveGiro", SqlDbType.Int).Value = CveGiro + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los Prospectos sin Vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function + + Public Function AsignarVendedor(CveProspectos As String, CveVendedor As Integer) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_CRM_AsignarVendedores", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@ProspectosCve", SqlDbType.NVarChar).Value = CveProspectos + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los Prospectos sin Vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function +#End Region + #Region "IDisposable Support" ' IDisposable Protected Overridable Sub Dispose(disposing As Boolean) diff --git a/CRM/AsignarVendedorEnProspectos.aspx b/CRM/AsignarVendedorEnProspectos.aspx index 1bc111064..bf082f0cd 100644 --- a/CRM/AsignarVendedorEnProspectos.aspx +++ b/CRM/AsignarVendedorEnProspectos.aspx @@ -14,17 +14,89 @@ + + +
+
+
+ +
+
+
- - - - - - - - + +
+ +
+ +
+ +
+ +
+ +
+
+
+
+
+
+
+ + +
+
+
+
+
+ + Asignar vendedor +
+
+
+
+
+
+ +
+
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+
+
+ + +
+ " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
+ + + + + + + + + + + + +
+
- \ No newline at end of file + diff --git a/CRM/AsignarVendedorEnProspectos.aspx.cs b/CRM/AsignarVendedorEnProspectos.aspx.cs index 247372543..025b2970a 100644 --- a/CRM/AsignarVendedorEnProspectos.aspx.cs +++ b/CRM/AsignarVendedorEnProspectos.aspx.cs @@ -1,4 +1,5 @@ using System; +using System.Text; using System.Collections.Generic; using System.Linq; using System.Web; @@ -12,6 +13,82 @@ public partial class CRM_AsignarVendedorEnProspectos : ClsPaginas { protected void Page_Load(object sender, EventArgs e) { + if (!IsPostBack) + { + this.CargaFiltros(); + this.CargaDatos(); + } + } + private void CargaDatos() + { + string Empresa = (TxtNombre.Text == "" ? "-1" : TxtNombre.Text); + ClsCRM ObjCRM = new ClsCRM(); + if (ObjCRM.GetProspectosPorAsignarVendedor(UsuarioActual.CveEmpresa, Empresa, DdlSubProyecto.SelectedValue.ToEntero(),DdlGiroClasificacion.SelectedValue.ToEntero())) + { + GvProspectos.DataSource = ObjCRM.DtResultados; + } + ObjCRM.Dispose(); + GvProspectos.DataBind(); + } + + private void CargaFiltros() + { + DdlSubProyecto.DataSource = get_GlobalDTSubProyectos(-1, CveEmpresa: UsuarioActual.CveEmpresa); + DdlSubProyecto.Items.Insert(0, new ListItem("Seleccione", "-1")); + DdlSubProyecto.DataBind(); + + DdlGiroClasificacion.DataSource = get_GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa); + DdlGiroClasificacion.Items.Insert(0, new ListItem("Seleccione", "-1")); + DdlGiroClasificacion.DataBind(); + + DdlVendedor.DataSource = get_GlobalDTVendedores(UsuarioActual.CveEmpresa); + DdlVendedor.Items.Insert(0, new ListItem("Seleccione", "-1")); + DdlVendedor.DataBind(); + } + + protected void BtnConsultar_Click(object sender, EventArgs e) + { + CargaDatos(); + } + + protected void BtnAsignar_Click(object sender, EventArgs e) + { + StringBuilder CveProspectos = new StringBuilder(); + GridViewRowCollection RowsProspectos = GvProspectos.Rows; + + foreach (GridViewRow Prospecto in RowsProspectos) + { + bool Asignado = Prospecto.FCCheckBox("ChkAsignar").Checked; + + if (Asignado) + { + int CveProspecto = Prospecto.DataKey("CveEmpresaCRM").ToEntero(); + CveProspectos.AppendFormat("{0},",CveProspecto); + } + } + + string CveProspectosFinal = CveProspectos.ToString(); + int CveVendedor = DdlVendedor.SelectedValue.ToEntero(); + + if (CveProspectosFinal.Length > 0 && CveVendedor != -1) + { + CveProspectos.Remove((CveProspectos.Length -1),1); + ClsCRM ObjCRM = new ClsCRM(); + + if (ObjCRM.AsignarVendedor(CveProspectosFinal,CveVendedor)) + { + + string Vendedor = DdlVendedor.SelectedItem.Text; + string MensajeExito = String.Format("El vendedor '{0}' fue asignado a los prospectos de manera exitosa", Vendedor); + Alert(MensajeExito); + this.CargaDatos(); + UpDatos.Update(); + + } + + ObjCRM.Dispose(); + + } } } \ No newline at end of file