예제 #1
0
 public clsClienteFollowUp()
 {
     Cliente = new clsClienteMaster(true);
     TipoActividad = new clsTipoActividad();
     Usuario = new clsUsuario();
     Activo = true;
 }
예제 #2
0
 public PaperlessAsignacion()
 {
     Estado = Enums.Enums.EstadoPaperless.Nuevo;
     Usuario1 = new clsUsuario();
     Usuario2 = new clsUsuario();
     DataUsuario1 = new PaperlessUsuario1();
     TiemposUsuarios = new PaperlessProcesoRegistroTiempo();
     VersionUsuario1 = 1;
 }
예제 #3
0
        public static ResultadoTransaccion BuscaUsuarioPorUserName(string username)
        {
            ResultadoTransaccion res = new ResultadoTransaccion();
            clsUsuario usuario = null;

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

                objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_C_USUARIO_POR_USERNAME");
                objParams[0].Value = username;

                SqlCommand command = new SqlCommand("SP_C_USUARIO_POR_USERNAME", conn);
                command.Parameters.AddRange(objParams);
                command.CommandType = CommandType.StoredProcedure;
                dreader = command.ExecuteReader();

                while (dreader.Read()) {
                    usuario = new clsUsuario();
                    usuario.Id = Convert.ToInt64(dreader["Id"]);
                    usuario.Nombre = dreader["Nombres"].ToString();
                    usuario.ApellidoPaterno = dreader["ApellidoPaterno"].ToString();
                    usuario.ApellidoMaterno = dreader["ApellidoMaterno"].ToString();
                    usuario.NombreUsuario = dreader["NombreUsuario"].ToString();
                    usuario.Estado = (Entidades.Enums.Enums.Estado)dreader["Estado"];
                    usuario.FechaCreacion = (DateTime)dreader["FechaCreacion"];
                    if (!String.IsNullOrEmpty(dreader["SemanasCalendarioCompartido"].ToString()))
                        usuario.CantidadSemanasCalentarioCompartido = Convert.ToInt64(dreader["SemanasCalendarioCompartido"]);

                    if (!String.IsNullOrEmpty(dreader["SemanasMiCalendario"].ToString()))
                        usuario.CantidadSemanasMiCompartido = Convert.ToInt64(dreader["SemanasMiCalendario"]);

                    usuario.Cargo = new clsUsuarioCargo(Convert.ToInt16(dreader["IdCargo"]), dreader["Descripcion"].ToString());
                    usuario.CargoEnum = (Entidades.Enums.Enums.UsuariosCargo)Convert.ToInt64(dreader["IdCargo"]);
                    if (dreader["Email"] is DBNull)
                        usuario.Email = "";
                    else
                        usuario.Email = dreader["Email"].ToString();
                }

                res.Estado = Entidades.Enums.Enums.EstadoTransaccion.Aceptada;
                res.Accion = Entidades.Enums.Enums.AccionTransaccion.Consultar;
                res.ObjetoTransaccion = usuario;

            } catch (Exception ex) {
                res.Estado = Entidades.Enums.Enums.EstadoTransaccion.Rechazada;
                res.Descripcion = ex.Message;
                Base.Log.Log.EscribirLog(ex.Message);
            } finally {
                if (dreader != null) dreader.Close();
                if (conn != null) conn.Close();
            }

            return res;
        }
예제 #4
0
파일: clsVisita.cs 프로젝트: TarekMulla/cra
 public clsVisita()
 {
     Cliente = new clsClienteMaster(true);
     Vendedor = new clsUsuario();
     UsuarioOrganizador = new clsUsuario();
     Asistentes = new List<clsVisitaAsistente>();
     DescripcionCancelacion = "";
     FechaCancelacion = new DateTime(9999, 1, 1, 0, 0, 0);
     FechaConfirmacion = new DateTime(9999, 1, 1, 0, 0, 0);
     EsReplanificada = false;
 }
예제 #5
0
        public static IList<ITableable> ListarTodasLasCotizacionesDirectasPorUsuario(clsUsuario usuario,DateTime desde)
        {
            var Cotizaciones = new List<ITableable>();

            List<CotizacionDirecta> directas;
            directas = ClsCotizacionDirectaDao.ListarTodasLasCotizacionesDirectas(usuario,desde).ObjetoTransaccion as List<CotizacionDirecta>;

            if (directas != null)
                Cotizaciones.AddRange(directas.Cast<ITableable>().ToList());

            return Cotizaciones;
        }
예제 #6
0
 public clsContacto()
 {
     TipoSaludo = new clsItemParametro();
     Estado = new Enums.Enums.Estado();
     EstadoCivil = new clsItemParametro();
     Sexo = new clsItemParametro();
     FormaContactoPreferida = new clsItemParametro();
     DiaPreferido = new clsItemParametro();
     JornadaPreferida = new clsItemParametro();
     DireccionInfo = new clsDireccionInfo();
     Propietario = new clsUsuario();
     ClienteMaster = new clsClienteMaster(true);
     TipoRol = new clsItemParametro();
     Departamento = new clsItemParametro();
 }
예제 #7
0
파일: clsCuenta.cs 프로젝트: TarekMulla/cra
 public clsCuenta()
 {
     ClienteMaster = new clsClienteMaster(true);
     ZonaVentas = new clsItemParametro();
     CategoriaCliente = new clsItemParametro();
     SectorEconomico = new clsItemParametro();
     TipoMonedaVtaEstimada = new clsTipoMoneda();
     UMMovimientoEstimado = new  clsItemParametro();
     FormaContactoPreferida = new clsItemParametro();
     DiaPreferido = new clsItemParametro();
     JornadaPreferida = new clsItemParametro();
     VendedorAsignado = new clsUsuario();
     //CustomerAsignado = new clsUsuario();
     Clasificacion = new clsCuentaclasificacion();
 }
예제 #8
0
파일: clsTarget.cs 프로젝트: TarekMulla/cra
 public clsTarget()
 {
     this.ClienteMaster = new clsClienteMaster(true);
     TipoSaludo = new clsItemParametro();
     SectorEconomico = new clsItemParametro();
     OrigenCliente = new clsItemParametro();
     MotivoInteres = new clsItemParametro();
     NivelInteres = new clsItemParametro();
     EmpresaConQueTrabaja = new clsEmpresaCompetencia();
     OrigenCarga = new clsOrigenCarga();
     FormaContactoPreferida = new clsItemParametro();
     VendedorAsignado = new clsUsuario();
     TipoMonedaVtaEstimada = new clsTipoMoneda();
     DiaPreferido  = new clsItemParametro();
     JornadaPreferida = new clsItemParametro();
 }
예제 #9
0
        public static ResultadoTransaccion ListarTodosLasCotizacionesMiscotizaciones(clsUsuario usuario)
        {
            ResultadoTransaccion res = new ResultadoTransaccion();
            try
            {
                //Abrir Conexion
                conn = BaseDatos.Conexion();
                SqlCommand command = new SqlCommand("SP_L_Cotizacion_Cotizaciones_Mis_cotizaciones", conn);

                command.Transaction = transaction;
                command.Parameters.AddWithValue("@idUsuario", usuario.Id32);

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

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

                res.Descripcion = ex.Message;
                res.ArchivoError = "ClsCotizacionADO";
                res.MetodoError = "ListarTodosLasCotizacionesMiscotizaciones";
            }
            finally
            {
                conn.Close();
            }
            return res;
        }
예제 #10
0
        public ResultadoTransaccion EnviarAsignacionSalesLead(IList<ClsSalesLead> ListaProspectos,
            clsUsuario objUserEmisor)
        {
            ResultadoTransaccion res = new ResultadoTransaccion();
            try
            {
                var Asunto = System.Configuration.ConfigurationSettings.AppSettings.Get("AsuntoEmailAsignacionSLead");
                foreach (var saleslead in ListaProspectos)
                {

                    var emailBody = CrearCuerpoMailSalesLead(saleslead,
                                                             Path.Combine(System.Windows.Forms.Application.StartupPath,
                                                                          @"mailSalesLead\templateAsignacion.html"));
                    emailBody = emailBody.Replace("[FECHA_ESPANOL]", DateTime.Now.ToString("yyyy-MM-dd"));
                    emailBody = emailBody.Replace("[FECHA_FOLLOWUP]", saleslead.FechaRevision.ToString("yyyy-MM-dd"));
                    emailBody = emailBody.Replace("[USUARIO_ENVIA]", saleslead.UsuarioAsignador.NombreCompleto);
                    emailBody = emailBody.Replace("[VENDEDOR]", saleslead.Asignacion.VendedorAsignado.NombreCompleto);

                    EnviarHTmlEmail(saleslead.Asignacion.VendedorAsignado.Email, Asunto, emailBody);
                }
            }
            catch (Exception ex)
            {
                res.Estado = Enums.EstadoTransaccion.Rechazada;
                res.Descripcion = ex.Message;

                Log.EscribirLog(ex.Message);
            }
            return res;
        }
예제 #11
0
 public clsTipoOrigenCarga()
 {
     Usuario = new clsUsuario();
 }
예제 #12
0
 public clsClientesProductos()
 {
     Producto = new clsTipoProducto();
     Customer = new clsUsuario();
 }
예제 #13
0
        public static ResultadoTransaccion ListarUsuarios(Entidades.Enums.Enums.Estado estado, Entidades.Enums.Enums.CargosUsuarios cargo)
        {
            ResultadoTransaccion res = new ResultadoTransaccion();
            clsUsuario usuario = null;
            IList<clsUsuario> listUsuarios = new List<clsUsuario>();
            try {
                //Abrir Conexion
                conn = BaseDatos.Conexion();

                objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_C_USUARIO");
                objParams[0].Value = estado;
                objParams[1].Value = cargo;

                SqlCommand command = new SqlCommand("SP_C_USUARIO", conn);
                command.Parameters.AddRange(objParams);
                command.CommandType = CommandType.StoredProcedure;
                dreader = command.ExecuteReader();

                while (dreader.Read()) {
                    usuario = new clsUsuario();
                    usuario.Id = Convert.ToInt64(dreader[0]);
                    usuario.Nombre = dreader[1].ToString();
                    usuario.ApellidoPaterno = dreader[2].ToString();
                    usuario.ApellidoMaterno = dreader[3].ToString();
                    usuario.NombreUsuario = dreader[4].ToString();
                    usuario.Estado = (Entidades.Enums.Enums.Estado)dreader[5];
                    usuario.FechaCreacion = (DateTime)dreader[6];
                    usuario.Cargo = new clsUsuarioCargo(Convert.ToInt16(dreader[8]), dreader[9].ToString());
                    usuario.Email = dreader["Email"].ToString();
                    listUsuarios.Add(usuario);
                }

                res.Accion = Entidades.Enums.Enums.AccionTransaccion.Consultar;
                res.Estado = Entidades.Enums.Enums.EstadoTransaccion.Aceptada;
                res.ObjetoTransaccion = listUsuarios;

            } catch (Exception ex) {
                res.Estado = Entidades.Enums.Enums.EstadoTransaccion.Rechazada;
                res.Descripcion = ex.Message;
            } finally {
                conn.Close();
            }

            return res;
        }
예제 #14
0
        public ResultadoTransaccion EnviarMailAvisoNewObservacionVendedor(clsUsuario ObjEmisor,
            clsUsuario ObjDestinatario, DateTime Fecha,
            string Observaciones, string NombreTarget,
            string DestinatariosCopia)
        {
            string Asunto = "";
            string EmailBody = "";
            string EmailAviso = "";
            string MailCopiaAsignadorObs = "";
            string MailCopiaOtrosUsuariosObs = "";
            string Destinatarios = "";

            ResultadoTransaccion res = new ResultadoTransaccion();
            try
            {
                EmailAviso = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailNewObservacion");
                Asunto = System.Configuration.ConfigurationSettings.AppSettings.Get("AsuntoEmailNewObservacion");
                MailCopiaAsignadorObs =
                    System.Configuration.ConfigurationSettings.AppSettings.Get("MailCopiaAsignadorObs");
                MailCopiaOtrosUsuariosObs =
                    System.Configuration.ConfigurationSettings.AppSettings.Get("MailCopiaOtrosUsuariosObs");

                StringBuilder sb = new StringBuilder(Asunto);
                sb.Replace("[USUARIO_ENVIA]", ObjEmisor.Nombre);
                sb.Replace("[FECHA]", Fecha.ToString());
                sb.Replace("[TARGET]", NombreTarget);
                sb = sb.Replace("[SALTO]", "\n");
                Asunto = sb.ToString();

                StringBuilder sb2 = new StringBuilder(EmailAviso);
                sb2.Replace("[DESTINATARIO]", ObjDestinatario.Nombre);
                sb2.Replace("[OBSERVACION]", Observaciones);
                sb2.Replace("[USUARIO_ENVIA]", ObjEmisor.Nombre);
                sb2 = sb2.Replace("[SALTO]", "\n");
                EmailBody = sb2.ToString();

                Destinatarios = DestinatariosCopia;
                if (!Destinatarios.Contains(ObjDestinatario.Email))
                {
                    Destinatarios = Destinatarios + ";" + ObjDestinatario.Email;
                }
                if (MailCopiaOtrosUsuariosObs == "S" && DestinatariosCopia.Trim() != "" &&
                    !Destinatarios.Contains(ObjDestinatario.Email))
                {
                    Destinatarios = Destinatarios + ";" + DestinatariosCopia;
                }
                if (MailCopiaAsignadorObs == "S" && ObjDestinatario.Email != "" &&
                    !Destinatarios.Contains(ObjDestinatario.Email))
                {
                    Destinatarios = Destinatarios + ";" + ObjDestinatario.Email;
                }
                EnviarEmail(Destinatarios, Asunto, EmailBody);
            }
            catch (Exception ex)
            {
                res.Estado = Enums.EstadoTransaccion.Rechazada;
                res.Descripcion = ex.Message;

                Log.EscribirLog(ex.Message);
            }
            return res;
        }
예제 #15
0
        public ResultadoTransaccion EnviarAsignacionTargets(IList<clsMeta> ListaProspectos, clsUsuario objUserEmisor)
        {
            string EmailDestinatario = "";
            string Asunto = "";
            string EmailBody = "";
            string EmailAviso = "";
            string CopiaLCL = "";
            string CopiaFCL = "";
            string CopiaAereo = "";
            string CopiaFijo = "";
            string ListaProductos = "";
            string ListaTraficos = "";
            string ListaCompetencia = "";

            ResultadoTransaccion res = new ResultadoTransaccion();
            try
            {
                EmailAviso = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailAsignacionTarget");
                Asunto = System.Configuration.ConfigurationSettings.AppSettings.Get("AsuntoEmailAsignacionTarget");
                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");

                foreach (clsMeta Target in ListaProspectos)
                {
                    StringBuilder sb = new StringBuilder(EmailAviso);
                    sb.Replace("[VENDEDOR]", Target.ObjMetaAsignacion.ObjVendedorAsignado.Nombre);
                    sb.Replace("[FECHA]", Target.FechaApertura.ToLongDateString());
                    sb.Replace("[Codigo_TARGET]", Target.IdNumMeta);
                    sb.Replace("[FECHA_FOLLOWUP]", Target.FechaRevision.ToLongDateString());
                    sb.Replace("[USUARIO_ENVIA]", objUserEmisor.Nombre);
                    if (Target.GlosaClienteTarget != "")
                    {
                        sb.Replace("[CLIENTE]", Target.GlosaClienteTarget);
                        sb.Replace("[TIPO_TARGET]", "Nueva Cuenta");
                    }
                    else
                    {
                        sb.Replace("[CLIENTE]", Target.ObjClienteMaster.NombreFantasia);
                        sb.Replace("[TIPO_TARGET]", "Nuevo Tráfico");
                    }
                    sb.Replace("[COMMODITY]", Target.GlosaCommodity);
                    sb.Replace("[TIPO_CONTENEDOR]", Target.ObjTipoContenedor.Nombre);
                    sb.Replace("[FOLLOOW_UP]", Target.FechaRevision.ToShortDateString());
                    sb.Replace("[SHIPPER]", Target.Shipper);
                    sb.Replace("[PRIORIDAD]", Target.Prioridad.ToString());
                    sb = sb.Replace("[SALTO]", "\n");

                    EmailDestinatario = Target.ObjMetaAsignacion.ObjVendedorAsignado.Email + ";" + objUserEmisor.Email;
                    if (CopiaFijo != "")
                    {
                        EmailDestinatario = EmailDestinatario + ";" + CopiaFijo;
                    }

                    if (Target.ObjTipoProducto != null)
                    {
                        foreach (clsTipoProducto Producto in Target.ObjTipoProducto)
                        {
                            if (Producto.EsAereo)
                            {
                                EmailDestinatario = EmailDestinatario + ";" + CopiaAereo;
                            }
                            if (Producto.EsFCL)
                            {
                                EmailDestinatario = EmailDestinatario + ";" + CopiaFCL;
                            }
                            if (Producto.EsLCL)
                            {
                                EmailDestinatario = EmailDestinatario + ";" + CopiaLCL;
                            }
                            if (ListaProductos == "")
                            {
                                ListaProductos = ListaProductos + " " + Producto.Nombre;
                            }
                            else
                            {
                                ListaProductos = ListaProductos + Environment.NewLine + " " + Producto.Nombre;
                            }
                        }
                    }
                    if (Target.ObjMetaGlosasTrafico != null)
                    {
                        foreach (clsMetaGlosasTrafico Trafico in Target.ObjMetaGlosasTrafico)
                        {
                            if (ListaTraficos == "")
                            {
                                ListaTraficos = ListaTraficos + " " + Trafico.Glosa;
                            }
                            else
                            {
                                ListaTraficos = ListaTraficos + Environment.NewLine + " " + Trafico.Glosa;
                            }
                        }
                    }
                    if (Target.ObjMetaCompetencia != null)
                    {
                        foreach (clsMetaCompetencia Competencia in Target.ObjMetaCompetencia)
                        {
                            if (ListaCompetencia == "")
                            {
                                ListaCompetencia = ListaCompetencia + " " + Competencia.Descripcion;
                            }
                            else
                            {
                                ListaCompetencia = ListaCompetencia + Environment.NewLine + " " + Competencia.Descripcion;
                            }
                        }
                    }
                    sb.Replace("[PRODUCTOS]", ListaProductos);
                    sb.Replace("[TRAFICOS]", ListaTraficos);
                    sb.Replace("[COMPETENCIA]", ListaCompetencia);
                    EmailBody = sb.ToString();
                    EnviarEmail(EmailDestinatario, Asunto, EmailBody);
                }
            }
            catch (Exception ex)
            {
                res.Estado = Enums.EstadoTransaccion.Rechazada;
                res.Descripcion = ex.Message;

                Log.EscribirLog(ex.Message);
            }
            return res;
        }
예제 #16
0
 public clsInformeRespuestaUsuario()
 {
     Usuario = new clsUsuario();
 }
예제 #17
0
        public static clsUsuario RecuperaEmailUsuario(string nombreusuario)
        {
            clsUsuario usuario = null;
            try
            {
                //Abrir Conexion
                conn = BaseDatos.NuevaConexion();
                objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_C_PAPERLESS_PREALERTA_EMAIL_USUARIO");
                objParams[0].Value = nombreusuario;

                SqlCommand command = new SqlCommand("SP_C_PAPERLESS_PREALERTA_EMAIL_USUARIO", conn);
                command.Parameters.AddRange(objParams);
                command.CommandType = CommandType.StoredProcedure;
                dreader = command.ExecuteReader();

                while (dreader.Read())
                {
                    usuario = new clsUsuario();
                    usuario.Email = Convert.ToString(dreader["email"]);
                    /*
                    PreAlerta.Usuario = new clsUsuario()
                    {
                        Id = Convert.ToInt64(dreader["IdUsuarioCreacion"]),
                        Nombre = dreader["Estado"].ToString()
                    };
                    */
                }
            }
            catch (Exception ex)
            {
                Base.Log.Log.EscribirLog(ex.Message);
            }
            finally
            {
                conn.Close();
            }

            return usuario;
        }
예제 #18
0
 public clsTipoDestinoCarga()
 {
     Usuario = new clsUsuario();
 }
예제 #19
0
        public static ResultadoTransaccion ValidarUsuarioEnOtraVisita(Entidades.Usuarios.clsUsuario usuario, DateTime inicio, DateTime termino, Int64 IdVisita)
        {
            SqlDataReader dreader = null;
            resTransaccion = new ResultadoTransaccion();

            try {
                objParams = SqlHelperParameterCache.GetSpParameterSet(BaseDatos.Conexion(), "SP_C_CALENDARIO_VISITA_ASISTENTE_EN_OTRA_VISITA");
                objParams[0].Value = usuario.Id;
                objParams[1].Value = inicio;
                objParams[2].Value = termino;
                objParams[3].Value = IdVisita;

                SqlCommand command = new SqlCommand("SP_C_CALENDARIO_VISITA_ASISTENTE_EN_OTRA_VISITA", BaseDatos.Conexion());
                command.Parameters.AddRange(objParams);
                command.CommandType = CommandType.StoredProcedure;
                dreader = command.ExecuteReader();

                clsUsuario asistente = null;
                IList<clsUsuario> asistentes = new List<clsUsuario>();

                while (dreader.Read()) {
                    asistente = new clsUsuario();
                    asistente.Id = Convert.ToInt64(dreader["Id"]);
                    asistente.Nombre = dreader["Nombres"].ToString();
                    asistente.ApellidoPaterno = dreader["ApellidoPaterno"].ToString();
                    asistente.ApellidoMaterno = dreader["ApellidoMaterno"].ToString();
                    asistentes.Add(asistente);
                }

                resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada;
                resTransaccion.ObjetoTransaccion = asistentes;

            } catch (Exception ex) {
                resTransaccion.Estado = Enums.EstadoTransaccion.Rechazada;
                Log.EscribirLog(ex.Message);
            } finally {
                BaseDatos.CerrarConexion();
            }

            return resTransaccion;
        }
예제 #20
0
        public static ResultadoTransaccion ListarTodasLasCotizacionesDirectas(clsUsuario usuario, DateTime desde)
        {
            ResultadoTransaccion res = new ResultadoTransaccion();
            estados = (List<Estado>)ClsCotizacionDirectaEstadoDao.ListarEstadosCotizacionDirecta().ObjetoTransaccion;

            IList<CotizacionDirecta> listCot = new List<CotizacionDirecta>();
            //Abrir Conexion
            var conn = BaseDatos.Conexion();
            try {
                SqlCommand command = new SqlCommand("SP_L_COTIZACION_SOLICITUD_COTIZACIONES_POR_USUARIO", conn);
                objParams = SqlHelperParameterCache.GetSpParameterSet(conn,
                                                                      "SP_L_COTIZACION_SOLICITUD_COTIZACIONES_POR_USUARIO");
                command.Transaction = conn.BeginTransaction();

                command.CommandType = CommandType.StoredProcedure;
                objParams[0].Value = usuario.Id;
                objParams[1].Value = desde;
                command.Parameters.AddRange(objParams);

                var reader = command.ExecuteReader();
                while (reader.Read()) {
                    var incoterm = Parametros.clsParametrosClientesDAO.ObtenerIncoTermPorId(4);
                    var cotizacion = GetFromDataReader(reader);
                    cotizacion.IncoTerm = incoterm;
                    listCot.Add(cotizacion);
                }

                res.Accion = Entidades.Enums.Enums.AccionTransaccion.Consultar;
                res.ObjetoTransaccion = listCot;
                res.Descripcion = "Listado Cotizaciones Directas";

            } catch (Exception ex) {
                Log.EscribirLog(ex.Message);

                res.Descripcion = ex.Message;
                res.ArchivoError = NombreClase;
                res.MetodoError = MethodBase.GetCurrentMethod().Name;
            } finally {
                conn.Close();
            }
            CargaOpciones(listCot);
            return res;
        }
예제 #21
0
        public ResultadoTransaccion EnviarEmailVendedorRespondeComentarioEnInforme(clsVisita visita,
            clsInformeComentario comentario,
            bool EsVendedor, clsUsuario usuario)
        {
            string EmailAviso =
                System.Configuration.ConfigurationSettings.AppSettings.Get("EmailComentarioInformeVisita");
            string espectativas = "";
            string EmailBody = "";
            string productos = "";
            string traficos = "";
            string asistentescliente = "";
            string asistentescraft = "";
            ResultadoTransaccion res = new ResultadoTransaccion();
            try
            {
                foreach (var producto in visita.Informvisita.Productos)
                {
                    productos += producto.Producto.Nombre + " / ";
                }

                foreach (var trafico in visita.Informvisita.Traficos)
                {
                    traficos += trafico.Trafico.Nombre + " / ";
                }

                foreach (var asistente in visita.AsistentesCraft)
                {
                    if (asistente.Confirmo == Enums.VisitaEstadoAsistente.ConfirmoAsistencia)
                        asistentescraft += asistente.Usuario.NombreCompleto + "\n";
                }

                foreach (var asistente in visita.AsistentesCliente)
                {
                    asistentescliente += asistente.Contacto.NombreCompleto + "\n";
                }

                StringBuilder sb = new StringBuilder(EmailAviso);
                sb.Replace("[USUARIO]", usuario.NombreCompleto);
                sb.Replace("[USUARIOCOMENTADOR]", visita.Vendedor.NombreCompleto);
                if (visita.Cliente.NombreFantasia.Trim() != "")
                    sb.Replace("[CLIENTE]", visita.Cliente.NombreFantasia);
                else
                    sb.Replace("[CLIENTE]", visita.Cliente.NombreCompañia);

                sb.Replace("[COMENTARIO]", comentario.Comentario);

                sb.Replace("[ASUNTO]", visita.Asunto);
                sb.Replace("[UBICACION]", visita.Ubicacion);
                sb.Replace("[INICIO]", visita.FechaHoraComienzo.ToString());
                sb.Replace("[TERMINO]", visita.FechaHoraTermino.ToString());
                sb.Replace("[ASISTENTESCLIENTE]", asistentescliente);
                sb.Replace("[ASISTENTESCRAFT]", asistentescraft);
                sb.Replace("[PRODUCTOS]", productos);
                sb.Replace("[TRAFICOS]", traficos);
                if (visita.Informvisita.FollowUp.FechaFollowUp != null)
                    sb.Replace("[FOLLOWUP]", visita.Informvisita.FollowUp.FechaFollowUp.Value.ToShortDateString());

                if (visita.Informvisita.OtroTema)
                    sb.Replace("[OTROS]", "SI");
                else
                    sb.Replace("[OTROS]", "NO");

                if (visita.Informvisita.TieneEspectativaCierre)
                    espectativas = " SI (" + visita.Informvisita.EspectativaCierre + "%)";
                else
                    espectativas = " NO  ";

                sb.Replace("[ESPECTATIVAS]", espectativas);

                sb.Replace("[RESUMEN]", visita.Informvisita.ResumenVisita);
                sb.Replace("[SALTO]", "\n");

                EmailBody = sb.ToString();
                string asunto = "Comentario a Informe de Visita: " + visita.Cliente.NombreFantasia;

                if (!EsVendedor)
                {
                    EnviarEmail(visita.Vendedor.Email, asunto, EmailBody);
                }
                else
                {
                    EnviarEmail(usuario.Email, asunto, EmailBody);
                }

                LogEnviarEmail(Enums.VisitaTipoEmail.ComentarioAInformeVisita, visita, EmailBody, asunto);

                res.Estado = Enums.EstadoTransaccion.Aceptada;

            }
            catch (Exception ex)
            {
                Log.EscribirLog(ex.Message);
            }
            return res;
        }
예제 #22
0
        private void EnviarInformeReceptoresFijos(clsVisita VisitaActual, clsUsuario usuario, string productos,
            string traficos, Enums.VisitaTipoEmail tipo)
        {
            string EmailInforme =
                System.Configuration.ConfigurationSettings.AppSettings.Get("EmailInformeVisitaRecFijos");
            string espectativas = "";
            string EmailBody = "";

            try
            {
                StringBuilder sb = new StringBuilder(EmailInforme);
                sb.Replace("[USUARIO]", usuario.NombreCompleto);

                if (VisitaActual.Vendedor == null)
                    sb.Replace("[VENDEDOR]", "");
                else
                    sb.Replace("[VENDEDOR]", VisitaActual.Vendedor.NombreCompleto);

                if (VisitaActual.Cliente == null)
                {
                    sb.Replace("[CLIENTE]", "");
                }
                else
                {
                    if (VisitaActual.Cliente.NombreFantasia.Trim() != "")
                        sb.Replace("[CLIENTE]", VisitaActual.Cliente.NombreFantasia);
                    else
                        sb.Replace("[CLIENTE]", VisitaActual.Cliente.NombreCompañia);
                }

                sb.Replace("[INICIO]", VisitaActual.FechaHoraComienzo.ToString());
                sb.Replace("[TERMINO]", VisitaActual.FechaHoraTermino.ToString());
                sb.Replace("[ASUNTO]", VisitaActual.Asunto);
                sb.Replace("[PRODUCTOS]", productos);
                sb.Replace("[TRAFICOS]", traficos);

                if (VisitaActual.Informvisita.TieneEspectativaCierre)
                    espectativas = " SI (" + VisitaActual.Informvisita.EspectativaCierre + "%)";
                else
                    espectativas = " NO  ";

                sb.Replace("[ESPECTATIVAS]", espectativas);
                if (VisitaActual.Informvisita.FollowUp.FechaFollowUp != null)
                    sb.Replace("[FOLLOWUP]", VisitaActual.Informvisita.FollowUp.FechaFollowUp.Value.ToShortDateString());
                sb.Replace("[RESUMEN]", VisitaActual.Informvisita.ResumenVisita);
                sb.Replace("[SALTO]", "\n");

                EmailBody = sb.ToString();
                string asunto = "Registro de Informe de Visita: " + VisitaActual.Asunto;

                EnviarEmail(usuario.Email, asunto, EmailBody);

                LogEnviarEmail(tipo, VisitaActual, EmailBody, asunto);

            }
            catch (Exception ex)
            {
                Log.EscribirLog(ex.Message);
            }
        }
예제 #23
0
 public static IList<ITableable> ListarTodasLasCotizacionesPorUsuario(clsUsuario usuario,DateTime desde)
 {
     var lista = (List<ITableable>)ClsCotizacionDao.ListarTodasLasCotizacionesDirectasPorUsuario(usuario,desde);
     lista.Sort((foo, bar) => bar.Id32.CompareTo(foo.Id32));
     return lista;
 }
예제 #24
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;
        }
예제 #25
0
 public clsInformeComentario()
 {
     Usuario = new clsUsuario();
 }
예제 #26
0
        public ResultadoTransaccion EnviarMailAvisoNewObservacionSalesLeadGerente(clsUsuario ObjEmisor,
            clsUsuario ObjDestinatario,
            clsUsuario ObjAsignadorTarget,
            string DestinatariosCopia,
            DateTime Fecha, string Observaciones,
            string nombreSalesLead)
        {
            string Asunto = "";
            string EmailBody = "";
            string EmailAviso = "";
            string Destinatarios = "";
            string MailCopiaAsignadorObs = "";
            string MailCopiaOtrosUsuariosObs = "";

            ResultadoTransaccion res = new ResultadoTransaccion();
            try
            {
                EmailAviso = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailNewObservacion");
                Asunto = System.Configuration.ConfigurationSettings.AppSettings.Get("AsuntoEmailNewObservacionSLead");

                StringBuilder sb = new StringBuilder(Asunto);
                sb.Replace("[USUARIO_ENVIA]", ObjEmisor.Nombre);
                sb.Replace("[FECHA]", Fecha.ToString());
                sb.Replace("[SLEAD]", nombreSalesLead);
                sb = sb.Replace("[SALTO]", "\n");
                Asunto = sb.ToString();

                StringBuilder sb2 = new StringBuilder(EmailAviso);
                sb2.Replace("[DESTINATARIO]", ObjDestinatario.Nombre);
                sb2.Replace("[OBSERVACION]", Observaciones);
                sb2.Replace("[USUARIO_ENVIA]", ObjEmisor.Nombre);
                sb2 = sb2.Replace("[SALTO]", "\n");
                EmailBody = sb2.ToString();

                Destinatarios = ObjDestinatario.Email;

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

                Log.EscribirLog(ex.Message);
            }
            return res;
        }
예제 #27
0
        private bool ValidarPaso3(ref string mensaje)
        {
            bool valida = true;
            var Usuario1 = new clsUsuario();
            var Usuario2 = new clsUsuario();

            dxErrorProvider1.ClearErrors();
            if (ddlUsuario1.SelectedIndex == 0)
            {
                dxErrorProvider1.SetError(ddlUsuario1, "Debe seleccionar Usuario 1.", ErrorType.Critical);
                valida = false;
            }

            if (ddlImportanciaU1.SelectedIndex.Equals(0))
            {
                dxErrorProvider1.SetError(ddlImportanciaU1, "Debe seleccionar Importancia.", ErrorType.Critical);
                valida = false;
            }

            if (ddlUsuario2.SelectedIndex == 0)
            {
                dxErrorProvider1.SetError(ddlUsuario2, "Debe seleccionar Usuario 2.", ErrorType.Critical);
                valida = false;
            }

            Usuario1 = (clsUsuario) ddlUsuario1.SelectedItem;
            Usuario2 = (clsUsuario) ddlUsuario2.SelectedItem;
            if ( Usuario1.Id == Usuario2.Id)
            {
                dxErrorProvider1.SetError(ddlUsuario2, "Usuario2 debe ser distinto del Usuario1.", ErrorType.Critical);
                mensaje = "Usuario2 debe ser distinto del Usuario1";
                valida = false;
            }

            return valida;
        }
예제 #28
0
        private static ResultadoTransaccion BuscaUsuarioPorId(int idUsuario)
        {
            ResultadoTransaccion res = new ResultadoTransaccion();
            clsUsuario usuario = null;

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

                objParams = SqlHelperParameterCache.GetSpParameterSet(conn, "SP_C_USUARIO_POR_ID");
                objParams[0].Value = idUsuario;

                SqlCommand command = new SqlCommand("SP_C_USUARIO_POR_ID", conn);
                command.Parameters.AddRange(objParams);
                command.CommandType = CommandType.StoredProcedure;
                dreader = command.ExecuteReader();

                while (dreader.Read()) {
                    usuario = new clsUsuario();
                    usuario.Id = Convert.ToInt64(dreader[0]);
                    usuario.Nombre = dreader[1].ToString();
                    usuario.ApellidoPaterno = dreader[2].ToString();
                    usuario.ApellidoMaterno = dreader[3].ToString();
                    usuario.NombreUsuario = dreader[4].ToString();
                    usuario.Estado = (Entidades.Enums.Enums.Estado)dreader[5];
                    usuario.FechaCreacion = (DateTime)dreader[6];
                    usuario.Email = dreader["Email"].ToString();
                    usuario.Cargo = new clsUsuarioCargo(Convert.ToInt16(dreader[8]), dreader[9].ToString());
                    usuario.CargoEnum = (Entidades.Enums.Enums.UsuariosCargo)Convert.ToInt64(dreader["IdCargo"]);
                }

                res.Estado = Entidades.Enums.Enums.EstadoTransaccion.Aceptada;
                res.Accion = Entidades.Enums.Enums.AccionTransaccion.Consultar;
                res.ObjetoTransaccion = usuario;

            } catch (Exception ex) {
                res.Estado = Entidades.Enums.Enums.EstadoTransaccion.Rechazada;
                res.Descripcion = ex.Message;
                Base.Log.Log.EscribirLog(ex.Message);
            } finally {
                if (dreader != null) dreader.Close();
                if (conn != null) conn.Close();
            }

            return res;
        }