private void enviarCorreo(string accion, TareaDTO oTareaDTO, List<int> toResponsables)
        {
            string to = string.Empty, copy = string.Empty, subject = string.Empty, body = string.Empty;
            //subject = "Se ha " + accion + " una tarea: " + oTareaDTO.NombreTarea;
            subject = accion + oTareaDTO.NombreTarea;
            body = "<div>Nombre Tarea : " + oTareaDTO.NombreTarea + " </div>" +
                "<div>Descripción : " + oTareaDTO.Descripcion + " </div>" +
                "<div>Fecha Inicio : " + oTareaDTO.FechaInicio + " </div>" +
                "<div>Fecha Fin : " + oTareaDTO.FechaFin + " </div>" +
                "<div>Cliente : " + oTareaDTO.Cliente.NombreEmpresa + " </div>" +
                "<div>Contactos : ";

            foreach (var contacto in oTareaDTO.Cliente.Contactos)
            {
                body += "<br/> - " + contacto.Nombre;
            }

            body += "<div>Inmueble : " + oTareaDTO.Inmueble.NombreInmueble + " </div>" +
            "<div>Responsable(s) : ";

            //if (toResponsables != null)
            UsuariosBL oBL = new UsuariosBL();
            foreach (var resp in toResponsables)
            {
                to += oBL.getUsuario(resp).Email + ",";
            }
            foreach (var resp in oTareaDTO.Responsables)
            {
                body += "<br/> - " + resp.Nombre;
                if (toResponsables.Count > 0)//(toResponsables != null)
                {
                    /*if (toResponsables.IndexOf(resp.IdUsuario) == -1)
                        copy += resp.Email + ",";*/
                }
                else
                    to += resp.Email + ",";
            }
            to = to.Substring(0, to.Length - 1);
            copy = copy.Substring(0, copy.Length - (copy.Length == 0 ? 0 : 1));
            body += " </div>" + "<div>Servicio : " + oTareaDTO.Servicio.NombreServicio + " </div>" + "<div>Estado : " + oTareaDTO.Estado.NombreEstado + " </div>";
            if(oTareaDTO.Plantilla != null)
            {
                if(oTareaDTO.Plantilla.IdPlantilla != 0)
                    body += "<div>Protocolo : " + oTareaDTO.Plantilla.Nombre + " - " + oTareaDTO.Plantilla.Nombre2 + " </div>";
            }

            MailHandler.Send(to, copy, subject, body);
            //MailHandler.sendEmail(body);
        }
 public IList getResponsables2(bool AsSelectList = false)
 {
     UsuariosBL oBL = new UsuariosBL();
     if (!AsSelectList)
         return oBL.getUsuarios2(CONSTANTES.ROL_RESPONSABLE);
     else
     {
         var lista = oBL.getUsuarios2(CONSTANTES.ROL_RESPONSABLE);
         lista.Insert(0, new UsuarioDTO() { IdUsuario = 0, Nombre = "TODOS" });
         return lista;
     }
 }
        public IList<TareaDTO> getTareas(bool activeOnly = false)
        {
            using (var context = getContext())
            {
                var result = context.SP_GetTareas().Select(r => new TareaDTO
                {
                    IdTarea = r.IdTarea,
                    NombreTarea = r.NombreTarea,
                    Cliente = new ClienteDTO { NombreEmpresa = r.NombreCliente },
                    Inmueble = new InmuebleDTO { NombreInmueble = r.NombreInmueble },
                    Estado = new EstadoDTO { NombreEstado = r.NombreEstado },
                    FechaInicio = r.FechaInicio,
                    FechaFin = r.FechaFin,
                    Active = r.Active,
                    StrResponsables = r.Responsables
                }).ToList();
                //string[] x;

                UsuariosBL objBL = new UsuariosBL();
                List<UsuarioDTO> listaUsuarios = new List<UsuarioDTO>();
                listaUsuarios = objBL.getUsuariosTodos();

                if (result != null)
                {
                    foreach (var tarea in result)
                    {
                        tarea.Responsables = tarea.StrResponsables != null ? tarea.StrResponsables.Split(',').Select(r => new UsuarioDTO { IdUsuario = Convert.ToInt32(r) }).ToList() : new List<UsuarioDTO>();
                        foreach (var responsable in tarea.Responsables)
                        {
                            if (responsable != null)
                            {
                                UsuarioDTO obj = listaUsuarios.Single(u => u.IdUsuario == responsable.IdUsuario);
                                responsable.Nombre = obj.Nombre;
                                responsable.Email = obj.Email;
                                responsable.Cuenta = obj.Cuenta;
                                responsable.Active = obj.Active;
                                responsable.IdRolUsuario = obj.IdRolUsuario;
                                responsable.IdCliente = obj.IdCliente;
                            }
                        }
                    }
                }
                return result;
            }
        }
 public IList<UsuarioDTO> getResponsables(bool AsSelectList = false)
 {
     UsuariosBL oBL = new UsuariosBL();
     if (!AsSelectList)
         return oBL.getUsuarios(CONSTANTES.ROL_RESPONSABLE);
     else
     {
         var lista = oBL.getUsuarios(CONSTANTES.ROL_RESPONSABLE).OrderBy(x => x.IdUsuario).ToList();
         lista.Insert(0, new UsuarioDTO() { IdUsuario = 0, Nombre = "Seleccione un Responsable" });
         return lista;
     }
 }