Пример #1
0
        private static ResultadoTransaccion GuardarProspecto(clsMeta ObjMeta)
        {
            ResultadoTransaccion res = new ResultadoTransaccion();

            try
            {
                //Registrar Llamada Telefonica
                objParams               = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_N_DIRECCION_META");
                objParams[0].Value      = ObjMeta.ObjClienteMaster.Id;
                objParams[1].Value      = ObjMeta.EstadoMeta;
                objParams[2].Value      = ObjMeta.GlosaClienteTarget;
                objParams[3].Value      = ObjMeta.TipoOportunidad;
                objParams[4].Value      = ObjMeta.TipoTarget;
                objParams[5].Value      = ObjMeta.FechaApertura;
                objParams[6].Value      = ObjMeta.FechaRevision;
                objParams[7].Value      = ObjMeta.ObjTipoContenedor.Id;
                objParams[8].Value      = ObjMeta.GlosaCommodity;
                objParams[9].Value      = ObjMeta.ObjMetaAsignacion.ObjVendedorAsignado.Id;
                objParams[10].Value     = ObjMeta.Prioridad.Codigo;
                objParams[11].Value     = ObjMeta.Shipper;
                objParams[12].Value     = ObjMeta.UsuarioAsignador.Id;
                objParams[13].Direction = ParameterDirection.Output;
                objParams[14].Direction = ParameterDirection.Output;

                SqlCommand command = new SqlCommand("SP_N_DIRECCION_META", conn);
                command.Transaction = transaction;
                command.Parameters.AddRange(objParams);
                command.CommandType = CommandType.StoredProcedure;
                command.ExecuteNonQuery();
                //ObjMeta.Id = Convert.ToInt32(command.ExecuteScalar());

                ObjMeta.IdNumMeta = objParams[13].Value.ToString();
                ObjMeta.Id        = Convert.ToInt32(objParams[14].Value);

                //Ejecutar transaccion
                res.Estado      = Enums.EstadoTransaccion.Aceptada;
                res.Descripcion = "Se registró la asiganción del prospecto correctamente";
            }
            catch (Exception ex)
            {
                Log.EscribirLog(ex.Message);

                res.Descripcion  = ex.Message;
                res.ArchivoError = "clsMetaAdo.cs";
                res.MetodoError  = "GuardarProspecto";
                res.Estado       = Enums.EstadoTransaccion.Rechazada;
            }
            finally
            {
            }
            return(res);
        }
Пример #2
0
        private void gridViewProspectos_ColumnFilterChanged(object sender, EventArgs e)
        {
            int fila_sel = 0;

            if (gridViewProspectos.RowCount > 0)
            {
                fila_sel = gridViewProspectos.GetSelectedRows()[0];
                if (fila_sel >= 0)
                {
                    ObjProspecto = (clsMeta)gridViewProspectos.GetRow(fila_sel);
                    CargarGrillaObservaciones(ObjProspecto.Id);
                }
            }
        }
Пример #3
0
        public static ResultadoTransaccion GuardarFollowUps(clsMeta meta)
        {
            var followDataBqse = clsClienteMasterADO.ObtenerFollowUpClientePorTarget(meta.Id32);

            return(clsMetaAdo.GuardarFollowups(followDataBqse, meta));
        }
Пример #4
0
        public static ResultadoTransaccion GuardarFollowups(IList <clsClienteFollowUp> followDatabase, clsMeta Meta)
        {
            ResultadoTransaccion resTransaccion = new ResultadoTransaccion();

            foreach (var followUp in Meta.FollowUps)
            {
                if (followUp.IsNew)
                {
                    resTransaccion = Clientes.clsClienteMasterADO.AgregarFollowUpClienteMaster(followUp, transaction);
                }
                else
                {
                    resTransaccion = Clientes.clsClienteMasterADO.ModificarFollowUpClienteMaster(followUp, transaction);
                }

                if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada)
                {
                    throw new Exception(resTransaccion.Descripcion);
                }
            }

            if (!Meta.IsNew)
            {
                var newlist = Meta.FollowUps.ToList();
                foreach (var followUp in followDatabase)
                {
                    var encontrado = newlist.Find(foo => foo.Id32.Equals(followUp.Id32));
                    if (encontrado == null)
                    {
                        resTransaccion = Clientes.clsClienteMasterADO.EliminarLogicoFollowUpClienteMaster(followUp, transaction);
                        if (resTransaccion.Estado == Enums.EstadoTransaccion.Rechazada)
                        {
                            throw new Exception(resTransaccion.Descripcion);
                        }
                    }
                }
            }

            resTransaccion.Estado            = Enums.EstadoTransaccion.Aceptada;
            resTransaccion.Accion            = Enums.AccionTransaccion.Insertar;
            resTransaccion.ObjetoTransaccion = Meta;
            resTransaccion.Descripcion       = "Se registró los Followup Exitosamente";
            return(resTransaccion);
        }
Пример #5
0
        public static ResultadoTransaccion ObtenerMetaPorId(Int64 IdMeta)
        {
            ResultadoTransaccion res = new ResultadoTransaccion();
            clsMeta ObjProspecto     = null;

            try
            {
                //Abrir Conexion
                conn = BaseDatos.Conexion();

                objParams          = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_C_DIRECCION_META_PORID");
                objParams[0].Value = IdMeta;
                SqlCommand command = new SqlCommand("SP_C_DIRECCION_META_PORID", conn);

                command.Transaction = transaction;
                command.Parameters.AddRange(objParams);
                command.CommandType = CommandType.StoredProcedure;
                dreader             = command.ExecuteReader();

                while (dreader.Read())
                {
                    ObjProspecto           = new clsMeta();
                    ObjProspecto.FollowUps = clsClienteMasterADO.ObtenerFollowUpActivosClientePorTarget(IdMeta);

                    ObjProspecto.GlosaClienteTarget       = dreader["GlosaClienteTarget"].ToString().Trim();
                    ObjProspecto.GlosaCommodity           = dreader["GlosaCommodity"].ToString();
                    ObjProspecto.ObjTipoContenedor        = new clsItemParametro();
                    ObjProspecto.ObjTipoContenedor.Nombre = dreader["TipoContenedor"].ToString();
                    //ObjProspecto.FechaRevision = Convert.ToDateTime(dreader["FechaRevision"]);
                    ObjProspecto.ObjMetaAsignacion = new clsMetaAsignacion();
                    ObjProspecto.ObjMetaAsignacion.ObjVendedorAsignado = new clsUsuario();
                    //ObjProspecto.ObjMetaAsignacion.ObjVendedorAsignado.Id = Convert.ToInt32(dreader[7]);
                    ObjProspecto.ObjMetaAsignacion.ObjVendedorAsignado.Nombre          = dreader["VendedorNombres"].ToString().Trim();
                    ObjProspecto.ObjMetaAsignacion.ObjVendedorAsignado.ApellidoPaterno = dreader["VendedorPaterno"].ToString().Trim();
                    ObjProspecto.ObjMetaAsignacion.ObjVendedorAsignado.ApellidoMaterno = dreader["VendedorMaterno"].ToString().Trim();
                    ObjProspecto.FechaApertura = Convert.ToDateTime(dreader["FechaApertura"]);
                    ObjProspecto.Shipper       = dreader["Shipper"].ToString();

                    ObjProspecto.NombreUsuarioCierra = dreader["UCNombres"].ToString().Trim() + " " +
                                                       dreader["UCierraPaterno"].ToString().Trim() + " " +
                                                       dreader["UCierraMaterno"].ToString().Trim();
                    if (dreader["FechaCierre"] is DBNull)
                    {
                        ObjProspecto.FechaCierre = null;
                    }
                    else
                    {
                        ObjProspecto.FechaCierre = Convert.ToDateTime(dreader["FechaCierre"]);
                    }

                    ObjProspecto.Instruction = dreader["Instruction"].ToString();
                    if (dreader["FechaCancelacion"] is DBNull)
                    {
                        ObjProspecto.FechaCancelacion = null;
                    }
                    else
                    {
                        ObjProspecto.FechaCancelacion = Convert.ToDateTime(dreader["FechaCancelacion"]);
                    }


                    ObjProspecto.ObjMetaObservaciones             = new clsMetaObservaciones();
                    ObjProspecto.ObjMetaObservaciones.Observacion = dreader["Observaciones"].ToString();
                    ObjProspecto.FollowUps = clsClienteMasterADO.ObtenerFollowUpActivosClientePorTarget(ObjProspecto.Id32);
                }


                res.Estado            = Enums.EstadoTransaccion.Aceptada;
                res.Accion            = Entidades.Enums.Enums.AccionTransaccion.Consultar;
                res.ObjetoTransaccion = ObjProspecto;
            }
            catch (Exception ex)
            {
                Log.EscribirLog(ex.Message);

                res.Descripcion  = ex.Message;
                res.ArchivoError = "clsMetaAdo.cs";
                res.MetodoError  = "ListarProspectos";
            }
            finally
            {
                conn.Close();
            }
            return(res);
        }
Пример #6
0
        public static ResultadoTransaccion ListarProspectoUsuarioEstado(long IdVendedor, string Estados)
        {
            ResultadoTransaccion res        = new ResultadoTransaccion();
            IList <clsMeta>      Prospectos = new List <clsMeta>();

            try
            {
                //Abrir Conexion
                conn = BaseDatos.Conexion();

                objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_C_DIRECCION_METAS_VENDEDOR");

                SqlCommand command = new SqlCommand("SP_C_DIRECCION_METAS_VENDEDOR", conn);
                objParams[0].Value = IdVendedor;
                objParams[1].Value = Estados;

                command.Transaction = transaction;
                command.Parameters.AddRange(objParams);
                command.CommandType = CommandType.StoredProcedure;
                dreader             = command.ExecuteReader();

                while (dreader.Read())
                {
                    clsMeta ObjProspecto = new clsMeta();

                    ObjProspecto.IdNumMeta        = dreader[1].ToString().Trim();
                    ObjProspecto.Id               = Convert.ToInt32(dreader[0]);
                    ObjProspecto.Prioridad        = new clsItemParametro();
                    ObjProspecto.Prioridad.Codigo = dreader[2].ToString();
                    //ObjProspecto.Prioridad.Nombre = dreader[3].ToString();
                    ObjProspecto.TipoOportunidad                                     = dreader[3].ToString().Trim();
                    ObjProspecto.GlosaClienteTarget                                  = dreader[4].ToString().Trim();
                    ObjProspecto.ObjClienteMaster                                    = new clsClienteMaster(true);
                    ObjProspecto.ObjClienteMaster.Id                                 = Convert.ToInt32(dreader[5]);
                    ObjProspecto.ObjClienteMaster.NombreFantasia                     = dreader[6].ToString().Trim();
                    ObjProspecto.ObjMetaAsignacion                                   = new clsMetaAsignacion();
                    ObjProspecto.ObjMetaAsignacion.ObjVendedorAsignado               = new clsUsuario();
                    ObjProspecto.ObjMetaAsignacion.ObjVendedorAsignado.Id            = Convert.ToInt32(dreader[7]);
                    ObjProspecto.ObjMetaAsignacion.ObjVendedorAsignado.NombreUsuario = dreader[8].ToString().Trim();
                    ObjProspecto.ObjMetaAsignacion.ObjVendedorAsignado.Email         = dreader[9].ToString().Trim();
                    ObjProspecto.EstadoMeta    = (Enums.EstadosMetas)Convert.ToInt16(dreader[10]);
                    ObjProspecto.FechaApertura = Convert.ToDateTime(dreader[11]);
                    //ObjProspecto.FechaRevision = Convert.ToDateTime(dreader[12]);
                    ObjProspecto.FechaUltActulizacion    = Convert.ToDateTime(dreader[13]);
                    ObjProspecto.IdTipoActualizacion     = Convert.ToInt32(dreader[14]);
                    ObjProspecto.FechaHoy                = Convert.ToDateTime(dreader[15]);
                    ObjProspecto.UsuarioAsignador        = new clsUsuario();
                    ObjProspecto.UsuarioAsignador.Id     = Convert.ToInt32(dreader[16]);
                    ObjProspecto.UsuarioAsignador.Email  = dreader[17].ToString().Trim();
                    ObjProspecto.UsuarioAsignador.Nombre = dreader[18].ToString().Trim();

                    ObjProspecto.FollowUps = clsClienteMasterADO.ObtenerFollowUpActivosClientePorTarget(ObjProspecto.Id32);

                    Prospectos.Add(ObjProspecto);
                }

                res.Accion            = Entidades.Enums.Enums.AccionTransaccion.Consultar;
                res.ObjetoTransaccion = Prospectos;
            }
            catch (Exception ex)
            {
                Log.EscribirLog(ex.Message);

                res.Descripcion  = ex.Message;
                res.ArchivoError = "clsMetaAdo.cs";
                res.MetodoError  = "ListarProspectos";
            }
            finally
            {
                conn.Close();
            }
            return(res);
        }
Пример #7
0
        private Boolean AsignarProspectoGrilla()
        {
            clsMeta ObjMeta              = new clsMeta();
            string  Vendedor             = "";
            long    IdCliente            = 0;
            string  NombreProspecto      = "";
            string  TipoOportunidad      = "";
            string  Vendedor_paso        = "";
            long    IdCliente_paso       = 0;
            string  NombreProspecto_paso = "";
            string  TipoOportunidad_paso = "";

            //ObjRegistroAsignacion.ObjMeta = new clsMeta();

            // Prospecto de nueva Cuenta
            if (this.rbCuenta.Checked == true)
            {
                ObjMeta.TipoOportunidad    = "C";
                ObjMeta.GlosaClienteTarget = this.txtTarget.Text;
                // Se pone cero para indicar que en este caso no se requiere un valor
                // para el cliente master
                ObjMeta.ObjClienteMaster    = new clsClienteMaster(true);
                ObjMeta.ObjClienteMaster.Id = -1;
                NombreProspecto_paso        = ObjMeta.GlosaClienteTarget;
            }
            // Prospecto de nuevo Trafico
            else
            {
                ObjMeta.TipoOportunidad    = "T";
                ObjMeta.GlosaClienteTarget = "";
                ObjMeta.ObjClienteMaster   = (clsClienteMaster)CboCliente.SelectedItem;
                IdCliente_paso             = ObjMeta.ObjClienteMaster.Id;
            }
            ObjMeta.TipoTarget       = "P";
            ObjMeta.EstadoMeta       = Enums.EstadosMetas.Propuesta;
            ObjMeta.UsuarioAsignador = ProyectoCraft.Base.Usuario.UsuarioConectado.Usuario;

            TipoOportunidad_paso    = ObjMeta.TipoOportunidad;
            ObjMeta.ObjTipoProducto = new List <clsTipoProducto>();
            // AgregaProductosMeta
            foreach (clsTipoProducto i in lstProductos.CheckedItems)
            {
                ObjMeta.ObjTipoProducto.Add(i);
            }
            // AgregaProdutosTrafico
            ObjMeta.ObjMetaGlosasTrafico = (IList <clsMetaGlosasTrafico>)gridTraficos.DataSource;
            // AgregaCompetencia
            ObjMeta.ObjMetaCompetencia = (IList <clsMetaCompetencia>)gridCompetencia.DataSource;

            // AgregaVendedorAsignado
            ObjMeta.ObjMetaAsignacion = new clsMetaAsignacion();
            //            ObjRegistroAsignacion.ObjMeta.ObjMetaAsignacion.ObjVendedorAsignado = new clsUsuario();
            ObjMeta.ObjMetaAsignacion.ObjVendedorAsignado = (clsUsuario)cboVendedores.SelectedItem;
            Vendedor_paso = ObjMeta.ObjMetaAsignacion.ObjVendedorAsignado.NombreUsuario;

            // Fecha Asignacion
            ObjMeta.ObjMetaAsignacion.FechaAsignacion = DateTime.Today;

            // Agregar Commodity
            ObjMeta.GlosaCommodity = this.txtCommodity.Text;

            // Agregar Fecha Apertura
            ObjMeta.FechaApertura = this.DateApertura.DateTime;

            // Agregar Fecha de revisión de avance del prospecto
            //ObjMeta.FechaRevision = this.DateRevision.DateTime;
            if (ObjMeta.FollowUps == null)
            {
                ObjMeta.FollowUps = new List <clsClienteFollowUp>();
                if (ObjMeta.FollowUps.Count == 0)
                {
                    var followup = new clsClienteFollowUp();
                    followup.FechaFollowUp = this.DateRevision.DateTime;
                    followup.Descripcion   = "Primera reunión de seguimiento";
                    followup.Usuario       = ObjMeta.UsuarioAsignador;
                    followup.Activo        = true;
                    followup.Cliente       = ObjMeta.ObjClienteMaster;
                    ObjMeta.FollowUps.Add(followup);
                }
            }

            // Agregar Tipo Contenedor
            ObjMeta.ObjTipoContenedor = (clsItemParametro)this.lstTipoContenedor.SelectedItem;

            // Prioridad
            ObjMeta.Prioridad = (clsItemParametro)this.cboPrioridad.SelectedItem;

            // Shipper
            ObjMeta.Shipper = this.txtShipper.Text;

            //Obtener el source actual de la grilla
            if (gridAsignaciones.DataSource != null)
            {
                IList <clsMeta> ListaProspectos = (IList <clsMeta>)gridAsignaciones.DataSource;
                foreach (clsMeta Prospecto in ListaProspectos)
                {
                    TipoOportunidad = Prospecto.TipoOportunidad;
                    if (TipoOportunidad == "C")
                    {
                        NombreProspecto = Prospecto.GlosaClienteTarget;
                    }
                    else
                    {
                        IdCliente = Prospecto.ObjClienteMaster.Id;
                    }
                    Vendedor = Prospecto.ObjMetaAsignacion.ObjVendedorAsignado.NombreUsuario;
                    if (Vendedor_paso == Vendedor && ((IdCliente == IdCliente_paso) || (NombreProspecto == NombreProspecto_paso)) && (TipoOportunidad == TipoOportunidad_paso))
                    {
                        return(false);
                    }
                    else
                    {
                        ListaProspectos.Add(ObjMeta);
                    }
                    // Agrego el prospecto a la lista de prospectos asignados en la sesion
                    // ListaProspectos.Add(ObjRegistroAsignacion);
                    gridAsignaciones.DataSource = ListaProspectos;
                    gridAsignaciones.RefreshDataSource();
                }
            }
            else
            {
                IList <clsMeta> ListaProspectos = new List <clsMeta>();
                ListaProspectos.Add(ObjMeta);
                gridAsignaciones.DataSource = ListaProspectos;
            }
            return(true);
        }