예제 #1
0
 private void Guardar(string titulo, string descripcion, DateTime fecha, string usuario)
 {
     try
     {
         datos.Model.recordatorios entidad = new datos.Model.recordatorios();
         entidad.titulo           = titulo;
         entidad.descripcion      = descripcion;
         entidad.fecha            = fecha;
         entidad.usuario          = usuario;
         entidad.usuario_creacion = usuario;
         entidad.activo           = true;
         RecordatoriosCOM recordatorio = new RecordatoriosCOM();
         string           vmensaje     = recordatorio.Agregar(entidad, new List <recordatorios_usuarios_adicionales>());
         if (vmensaje == "")
         {
             ModalClose("#myModal");
             usuario = Session["usuario"] as string;
             ListaRecordatorios(usuario, Convert.ToDateTime(hdffecha.Value));
             LimpiarControles();
             IniciarCalendario();
             Toast.Success("Recordatorio guardado correctamente.", "Mensaje del sistema", this);
         }
         else
         {
             Toast.Error("Error al guardar recordatorio: " + vmensaje, this);
         }
     }
     catch (Exception ex)
     {
         Toast.Error("Error al guardar recordatorio: " + ex.Message, this);
     }
     finally
     {
         lnkguardar.Visible           = true;
         lnkcargando.Style["display"] = "none";
     }
 }
예제 #2
0
        /// <summary>
        /// Inserta los meetings en una tabla sql
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public void GetAllCalendar(string userId, string password)
        {
            try
            {
                List <datos.Model.recordatorios> list = new List <datos.Model.recordatorios>();
                service              = new ExchangeService(ExchangeVersion.Exchange2010);
                credentials          = new WebCredentials(userId, password);
                service.Credentials  = credentials;
                service.TraceEnabled = true;
                service.TraceFlags   = TraceFlags.All;
                service.Url          = new Uri("https://mail.migesa.com.mx/ews/exchange.asmx");
                service.AutodiscoverUrl(userId, RedirectionUrlValidationCallback);
                DateTime startDate = DateTime.Now.AddMonths(-6);
                DateTime endDate   = DateTime.Now.AddMonths(3);
                // Initialize the calendar folder object with only the folder ID.
                CalendarFolder calendar = CalendarFolder.Bind(service, WellKnownFolderName.Calendar, new PropertySet());

                // Set the start and end time and number of appointments to retrieve.
                CalendarView cView = new CalendarView(startDate.AddDays(-1), endDate.AddDays(1));

                // Limit the properties returned to the appointment's subject, start time, and end time.
                cView.PropertySet = new PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End);

                // Retrieve a collection of appointments by using the calendar view.
                FindItemsResults <Microsoft.Exchange.WebServices.Data.Appointment> appointments = calendar.FindAppointments(cView);
                string      username        = (userId.Split('@')[0]);
                PropertySet itempropertyset = new PropertySet(BasePropertySet.FirstClassProperties);
                itempropertyset.RequestedBodyType = BodyType.Text;
                RecordatoriosCOM reco = new RecordatoriosCOM();
                int total_actual      = reco.GetRecords(username);
                if (total_actual != appointments.Items.Count)
                {
                }

                foreach (Microsoft.Exchange.WebServices.Data.Appointment a in appointments)
                {
                    a.Load(itempropertyset);
                    DateTime         fecha_inicio  = a.Start;
                    DateTime         fecha_fin     = a.End;
                    string           subject       = a.Subject == null ? "" : a.Subject.ToString();
                    string           organizer     = a.Organizer.Name == null ? "" : a.Organizer.Name.ToString();
                    RecordatoriosCOM recordatorios = new RecordatoriosCOM();
                    string           id            = a.Id.ToString();
                    List <recordatorios_usuarios_adicionales> list_Ad = new List <recordatorios_usuarios_adicionales>();
                    string nbody = a.Body.Text == null ? "" : a.Body.Text.ToString();
                    datos.Model.recordatorios e = new datos.Model.recordatorios();
                    string organizer_address    = a.Organizer.Address == null ? "" : a.Organizer.Address.ToString();
                    string body          = a.Body.Text == null ? "" : a.Body.Text.ToString();
                    string participantes = a.DisplayTo == null ? "" : a.DisplayTo.ToString();
                    string lugar         = a.Location == null ? "" : a.Location.ToString();
                    if (participantes != "")
                    {
                        string[] participantes_array = participantes.Split(';');
                        foreach (string part in participantes_array)
                        {
                            if (part.ToUpper() != organizer.ToUpper())
                            {
                                recordatorios_usuarios_adicionales rec = new recordatorios_usuarios_adicionales
                                {
                                    nombre = part,
                                    activo = true
                                };
                                list_Ad.Add(rec);
                            }
                        }
                    }
                    e.organizer                 = organizer;
                    e.organizer_address         = organizer_address;
                    e.key_appointment_exchanged = id;
                    e.fecha            = fecha_inicio;
                    e.fecha_end        = fecha_fin;
                    e.titulo           = subject;
                    e.usuario          = username;
                    e.descripcion      = body;
                    e.usuario_creacion = username;
                    e.location         = lugar;
                    bool caneled = e.titulo.Contains("Cancelada:") || a.IsCancelled;
                    e.activo = !caneled;
                    if (e.descripcion.Contains("https://connext.webex.com/join/sergio_gaytan"))
                    {
                        e.activo = e.activo;
                    }
                    int id_recordatorio = recordatorios.ExistAppointmentID(username, id, organizer, subject, fecha_inicio, fecha_fin);
                    e.id_recordatorio = id_recordatorio;
                    string vmensaje = id_recordatorio == 0 ?
                                      recordatorios.Agregar(e, list_Ad) :
                                      reco.Editar(e, list_Ad);
                }
            }
            catch (Microsoft.Exchange.WebServices.Data.ServiceObjectPropertyException obj)
            {
                exchangeInitialized = false;
            }
            catch (Exception ex)
            {
                exchangeInitialized = false;
            }
        }