public static string EditarActividad(int IdActividad, int IdTipoActividad, string FechaActividad, string FechaFin, int IdCliente, string Cliente, int IdOportunidad, string Actividad)
    {
        JObject Respuesta = new JObject();

        CUtilerias.DelegarAccion(delegate(CConexion pConexion, int Error, string Descripcion, CUsuario UsuarioSesion) {
            if (Error == 0)
            {
                CActividad cActividad = new CActividad();
                cActividad.LlenaObjeto(IdActividad, pConexion);
                cActividad.Actividad         = Actividad;
                cActividad.Cliente           = Cliente;
                cActividad.FechaActividad    = Convert.ToDateTime(FechaActividad);
                cActividad.FechaFin          = Convert.ToDateTime(FechaFin);
                cActividad.IdCliente         = IdCliente;
                cActividad.IdOportunidad     = IdOportunidad;
                cActividad.IdTipoActividad   = IdTipoActividad;
                CTipoActividad TipoActividad = new CTipoActividad();
                TipoActividad.LlenaObjeto(IdTipoActividad, pConexion);
                cActividad.TipoActividad = TipoActividad.TipoActividad;
                cActividad.Editar(pConexion);
            }
            Respuesta.Add("Error", Error);
            Respuesta.Add("Descripcion", Descripcion);
        });
        return(Respuesta.ToString());
    }
    public static string ObtenerFormaAgregarActividad(int IdCliente, int IdOportunidad)
    {
        JObject Respuesta = new JObject();

        CUtilerias.DelegarAccion(delegate(CConexion pConexion, int Error, string Descripcion, CUsuario UsuarioSesion) {
            if (Error == 0)
            {
                JObject Modelo = new JObject();

                COportunidad Oportunidad = new COportunidad();
                Oportunidad.LlenaObjeto(IdOportunidad, pConexion);
                CCliente Cliente = new CCliente();
                IdCliente        = (IdCliente == 0) ? Oportunidad.IdCliente : IdCliente;
                Cliente.LlenaObjeto(IdCliente, pConexion);
                COrganizacion Organizacion = new COrganizacion();
                Organizacion.LlenaObjeto(Cliente.IdOrganizacion, pConexion);

                Modelo.Add("IdCliente", IdCliente);
                Modelo.Add("Cliente", Organizacion.RazonSocial);
                Modelo.Add("Oportunidad", ListaOportunidades(IdCliente, IdOportunidad, pConexion));

                Dictionary <string, object> pParametros = new Dictionary <string, object>();

                CTipoActividad TiposActividad = new CTipoActividad();
                pParametros.Add("Baja", 0);

                JArray jTiposActividad = new JArray();

                foreach (CTipoActividad TipoActividad in TiposActividad.LlenaObjetosFiltros(pParametros, pConexion))
                {
                    JObject jTipoActividad = new JObject();
                    jTipoActividad.Add("Valor", TipoActividad.IdTipoActividad);
                    jTipoActividad.Add("Descripcion", TipoActividad.TipoActividad);
                    jTipoActividad.Add("Color", TipoActividad.Color);
                    jTiposActividad.Add(jTipoActividad);
                }

                Modelo.Add("TipoActividad", jTiposActividad);
                DateTime f1 = DateTime.Now.AddMinutes(-DateTime.Now.Minute);
                DateTime f2 = DateTime.Now.AddMinutes(15 - DateTime.Now.Minute);
                Modelo.Add("FechaActividad", f1.ToShortDateString() + " " + f1.ToShortTimeString().Replace(".", "").Replace("a m", "am"));
                Modelo.Add("FechaFin", f2.ToShortDateString() + " " + f2.ToShortTimeString().Replace(".", "").Replace("a m", "am"));

                Respuesta.Add("Modelo", Modelo);
            }
            Respuesta.Add("Error", Error);
            Respuesta.Add("Descripcion", Descripcion);
        });
        return(Respuesta.ToString());
    }
    private static JArray ListaTiposActividades(int IdTipoActividad, CConexion pConexion)
    {
        JArray TiposActividades = new JArray();

        CTipoActividad ListaTipoActividad       = new CTipoActividad();
        Dictionary <string, object> pParametros = new Dictionary <string, object>();

        pParametros.Add("Baja", 0);

        foreach (CTipoActividad oTipoActividad in ListaTipoActividad.LlenaObjetosFiltros(pParametros, pConexion))
        {
            JObject TipoActividad = new JObject();
            TipoActividad.Add("Descripcion", oTipoActividad.TipoActividad);
            TipoActividad.Add("Valor", oTipoActividad.IdTipoActividad);
            TipoActividad.Add("Selected", (oTipoActividad.IdTipoActividad == IdTipoActividad) ? " selected" : "");
            TipoActividad.Add("Color", oTipoActividad.Color);
            TiposActividades.Add(TipoActividad);
        }

        return(TiposActividades);
    }
    public static string AgregarActividad(int IdTipoActividad, string FechaActividad, string FechaFin, int IdCliente, string Cliente, int IdOportunidad, string Actividad)
    {
        JObject Respuesta = new JObject();

        CUtilerias.DelegarAccion(delegate(CConexion pConexion, int Error, string DescripcionError, CUsuario UsuarioSesion) {
            if (Error == 0)
            {
                CActividad NuevaActividad      = new CActividad();
                NuevaActividad.IdUsuario       = UsuarioSesion.IdUsuario;
                NuevaActividad.IdTipoActividad = IdTipoActividad;
                NuevaActividad.FechaActividad  = Convert.ToDateTime(FechaActividad);
                NuevaActividad.FechaFin        = Convert.ToDateTime(FechaFin);
                NuevaActividad.IdCliente       = IdCliente;
                NuevaActividad.Cliente         = Cliente;
                NuevaActividad.IdOportunidad   = IdOportunidad;
                NuevaActividad.Actividad       = Actividad;
                NuevaActividad.Agregar(pConexion);

                if (IdOportunidad != 0)
                {
                    CBitacoraNotasOportunidad Nota = new CBitacoraNotasOportunidad();
                    Nota.Nota          = "Actividad: " + Actividad;
                    Nota.IdOportunidad = IdOportunidad;
                    Nota.IdUsuario     = UsuarioSesion.IdUsuario;
                    Nota.FechaCreacion = DateTime.Now;
                    Nota.Agregar(pConexion);

                    COportunidad Oportunidad = new COportunidad();
                    Oportunidad.LlenaObjeto(IdOportunidad, pConexion);
                    Oportunidad.UltimaNota = "Actividad: " + Actividad;
                    Oportunidad.FechaNota  = DateTime.Now;
                    Oportunidad.Editar(pConexion);
                }

                CTipoActividad TipoActividad = new CTipoActividad();
                TipoActividad.LlenaObjeto(IdTipoActividad, pConexion);

                string Encabezado    = TipoActividad.TipoActividad;
                DateTime Inicio      = NuevaActividad.FechaActividad;
                long Duracion        = NuevaActividad.FechaFin.Ticks - NuevaActividad.FechaActividad.Ticks;
                string NombreUsuario = UsuarioSesion.Nombre + " " + UsuarioSesion.ApellidoPaterno + " " + UsuarioSesion.ApellidoMaterno;
                string Descripcion   = "<p>Buen dia " + NombreUsuario + ":</p><p>Se ha creado una actividad de " + TipoActividad.TipoActividad + ":</p><p>" + Actividad + "</p>";
                Descripcion         += "<p>Con el cliente/prospecto " + Cliente + ".</p>";
                string Location      = "Asercom";
                bool TodoElDia       = false;
                string From          = UsuarioSesion.Correo;
                string To            = UsuarioSesion.Correo;

                System.Net.Mail.Attachment Meeting = CrearMeeting(Encabezado, Inicio, Duracion, Actividad, Location, TodoElDia, From, To);

                string Subject = "Nueva actividad: " + TipoActividad.TipoActividad;
                string path    = AppDomain.CurrentDomain.BaseDirectory.Replace(@"\Paginas", "");
                string Correo  = CUtilerias.TextoArchivo(path + @"FormatoCorreo\CorreoActividad.html");
                Correo         = Correo.Replace("[Titulo]", Encabezado);
                Correo         = Correo.Replace("[Contenido]", Descripcion);

                CUtilerias.EnviarCorreoAdjunto(From, To, Subject, Correo, Meeting);
            }
            Respuesta.Add("Error", Error);
            Respuesta.Add("Descripcion", DescripcionError);
        });
        return(Respuesta.ToString());
    }