Esempio n. 1
0
        public static IList<clsInformeRespuestaUsuario> ListarUsuariosParaRespuestaInforme(clsVisitaInforme informe)
        {
            SqlDataReader dreader = null;
            clsInformeRespuestaUsuario comentario = null;
            IList<clsInformeRespuestaUsuario> listcomentarios = new List<clsInformeRespuestaUsuario>();
            try {
                objParams = SqlHelperParameterCache.GetSpParameterSet(BaseDatos.Conexion(), "SP_C_CALENDARIO_VISITA_INFORME_COMENTARIO_USUARIO");
                if (informe != null) objParams[0].Value = informe.Id;

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

                while (dreader.Read()) {
                    comentario = new clsInformeRespuestaUsuario();
                    comentario.Id = Convert.ToInt64(dreader["Id"]);
                    comentario.IdInforme = Convert.ToInt64(dreader["IdInforme"]);
                    comentario.Usuario =
                        Usuarios.clsUsuarioADO.ObtenerUsuarioPorId(Convert.ToInt16(dreader["IdUsuario"]));

                    listcomentarios.Add(comentario);
                }

            } catch (Exception ex) {
                Base.Log.Log.EscribirLog(ex.Message);
            } finally {
                BaseDatos.CerrarConexion();
            }

            return listcomentarios;
        }
Esempio n. 2
0
        //private void EnviarEmailInformeVisita(clsVisitaInforme informe)
        //{
        //    Entidades.Emails.PlantillaEmail plantilla =
        //        LogicaNegocios.Emails.clsEmails.ObtenerPlantillaPorTipo(Enums.EmailTipoPlantilla.InformeVisita);
        //    if(plantilla != null)
        //    {
        //        string body = plantilla.TextoPlantilla;
        //        string productos = "";
        //        string traficos = "";
        //        foreach (var producto in informe.Productos)
        //        {
        //            productos += producto.Producto.Nombre + " / ";
        //        }
        //        foreach (var trafico in informe.Traficos)
        //        {
        //            traficos += trafico.Trafico.Nombre + " / ";
        //        }
        //        body = string.Format(body, Visita.Vendedor.NombreCompleto, Visita.Cliente.NombreCompañia, productos,
        //                             traficos, informe.EspectativaCierre, informe.FollowUp, informe.ResumenVisita);
        //        ResultadoTransaccion res = new ResultadoTransaccion();
        //        foreach (var asistentes in Visita.AsistentesCraft)
        //        {
        //            if (asistentes.Confirmo == Enums.VisitaEstadoAsistente.ConfirmoAsistencia)
        //            {
        //               res = Utils.EnvioEmail.EnviarEmail(asistentes.Usuario.Email, "Informe Visita: " + Visita.Asunto, body);
        //               if(res.Estado == Enums.EstadoTransaccion.Rechazada)
        //                   res.Errores.Add(res.Descripcion);
        //            }
        //        }
        //    }
        //}
        private clsVisitaInforme LlenarObjetoInforme()
        {
            if(Visita.Informvisita == null) Visita.Informvisita = new clsVisitaInforme();

            Visita.Informvisita.Visita = Visita;
            Visita.Informvisita.TieneEspectativaCierre = chkTieneEspectativa.Checked;
            if (!Visita.Informvisita.TieneEspectativaCierre)
                Visita.Informvisita.EspectativaCierre = -1;
            else
                Visita.Informvisita.EspectativaCierre = Convert.ToInt16(txtExpectativaCierre.Text);

            Visita.Informvisita.OtroTema = chkOtroTema.Checked;

            //if(txtFollowUp.Text != "")
            //    Visita.Informvisita.FollowUp = txtFollowUp.DateTime;
            //else
            //    Visita.Informvisita.FollowUp = new DateTime(9999, 1, 1);

            Visita.Informvisita.IdUsuario = Base.Usuario.UsuarioConectado.Usuario.Id;
            Visita.Informvisita.ResumenVisita = txtResumen.Text;

            foreach (clsTipoProducto producto in lstProductos.CheckedItems)
            {
                Visita.Informvisita.Productos.Add(new clsVisitaInformeProductos(producto));
            }

            foreach (Entidades.Ventas.Traficos.clsTrafico trafico in lstTraficos.CheckedItems)
            {
                Visita.Informvisita.Traficos.Add(new clsVisitaInformeTrafico(trafico));
            }

            Visita.Informvisita.RequiereRespuesta = chkRequiereRespuesta.Checked;
            if (Visita.Informvisita.RequiereRespuesta)
            {
                foreach (var user in (IList<clsUsuario>)lstUsuariosRespuesta.DataSource)
                {
                    clsInformeRespuestaUsuario u = new clsInformeRespuestaUsuario();
                    u.Usuario = user;
                    Visita.Informvisita.UsuariosParaRespuesta.Add(u);
                }
            }

            if (txtFollowUp.Text != "")
                Visita.Informvisita.FollowUp.FechaFollowUp = txtFollowUp.DateTime;
            else
                Visita.Informvisita.FollowUp.FechaFollowUp = new DateTime(9999, 1, 1);

            if (Visita.EsReunionInterna)
                Visita.Informvisita.FollowUp.Cliente.Id = -1;
            else
                Visita.Informvisita.FollowUp.Cliente = Visita.Cliente;

            Visita.Informvisita.FollowUp.Descripcion = txtDescripcionFollowUp.Text.Trim();
            if (cboTipoActividad.SelectedIndex > 0)
                Visita.Informvisita.FollowUp.TipoActividad = (Entidades.Ventas.Actividades.clsTipoActividad)cboTipoActividad.SelectedItem;
            else
                Visita.Informvisita.FollowUp.TipoActividad = null;
            Visita.Informvisita.FollowUp.IdInformeVisita = Visita.Informvisita.Id;
            Visita.Informvisita.FollowUp.IdLlamadaTelefonica = -1;
            Visita.Informvisita.FollowUp.FechaCreacion = DateTime.Now;
            Visita.Informvisita.FollowUp.Usuario = Base.Usuario.UsuarioConectado.Usuario;

            return Visita.Informvisita;
        }
Esempio n. 3
0
        public static ResultadoTransaccion AgregarUsuarioRequiereRespuesta(clsInformeRespuestaUsuario usuario, SqlTransaction transaction)
        {
            resTransaccion = new ResultadoTransaccion();
            try {
                objParams = SqlHelperParameterCache.GetSpParameterSet(BaseDatos.Conexion(), "SP_CALENDARIO_VISITA_INFORME_COMENTARIO_USUARIO");
                objParams[0].Value = usuario.IdComentario;
                objParams[1].Value = usuario.IdInforme;
                objParams[2].Value = usuario.Usuario.Id;

                SqlCommand command = new SqlCommand("SP_CALENDARIO_VISITA_INFORME_COMENTARIO_USUARIO", BaseDatos.Conexion());
                command.Parameters.AddRange(objParams);
                command.Transaction = transaction;
                command.CommandType = CommandType.StoredProcedure;
                command.ExecuteNonQuery();

                resTransaccion.Estado = Enums.EstadoTransaccion.Aceptada;

            } catch (Exception ex) {
                resTransaccion.Estado = Enums.EstadoTransaccion.Rechazada;
                resTransaccion.Descripcion = ex.Message;
                Log.EscribirLog(ex.Message);
            }
            return resTransaccion;
        }