Пример #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
        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;
        }
Пример #3
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;
        }
Пример #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
        private void gridViewProspectos_FocusedRowChanged(object sender, FocusedRowChangedEventArgs 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);
                }
            }
        }
Пример #6
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;
        }
Пример #7
0
 public static ResultadoTransaccion GuardarFollowUps(clsMeta meta)
 {
     var followDataBqse = clsClienteMasterADO.ObtenerFollowUpClientePorTarget(meta.Id32);
     return clsMetaAdo.GuardarFollowups(followDataBqse, meta);
 }
Пример #8
0
        public ResultadoTransaccion EnviarMailAvisoCierreTarget(clsUsuario UsuarioAsigna, clsMeta Target,
            string Observacion)
        {
            string EmailDestinatario = "";
            string Asunto = "";
            string EmailBody = "";
            string EmailAviso = "";
            string NombreDestinatario = "";
            string CopiaFijo = "";
            string CopiaLCL = "";
            string CopiaFCL = "";
            string CopiaAereo = "";

            ResultadoTransaccion res = new ResultadoTransaccion();
            try
            {
                EmailAviso = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailCierreTarget");
                Asunto = System.Configuration.ConfigurationSettings.AppSettings.Get("AsuntoEmailCierreTarget");
                EmailDestinatario = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailAsignadorTarget");
                NombreDestinatario = System.Configuration.ConfigurationSettings.AppSettings.Get("NombreAsignadorTarget");
                CopiaFijo = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailInformeFijo");
                CopiaLCL = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailInformeLCL");
                CopiaFCL = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailInformeFCL");
                CopiaAereo = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailInformeAereo");

                StringBuilder sb = new StringBuilder(Asunto);
                sb = sb.Replace("[SALTO]", "\n");
                Asunto = sb.ToString();

                StringBuilder sb2 = new StringBuilder(EmailAviso);
                sb2.Replace("[DESTINATARIO]", NombreDestinatario);
                sb2.Replace("[OBSERVACION]", Observacion);
                if (Target.GlosaClienteTarget != "")
                {
                    sb2.Replace("[TARGET]", Target.GlosaClienteTarget);
                }
                else
                {
                    sb2.Replace("[TARGET]", Target.ObjClienteMaster.NombreFantasia);
                }
                sb2 = sb2.Replace("[SALTO]", "\n");
                EmailBody = sb2.ToString();

                EmailDestinatario = EmailDestinatario + ";" + UsuarioAsigna.Email;
                if (CopiaFijo != "")
                {
                    EmailDestinatario = EmailDestinatario + ";" + CopiaFijo;
                }

                EnviarEmail(EmailDestinatario, Asunto, EmailBody);
            }
            catch (Exception ex)
            {
                res.Estado = Enums.EstadoTransaccion.Rechazada;
                res.Descripcion = ex.Message;

                Log.EscribirLog(ex.Message);
            }
            return res;
        }