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; }
//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; }
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; }