Exemple #1
0
        public Event GetEvent(string eventId)
        {
            UserCredential credential;
            var            calendarId = "*****@*****.**";

            using (var stream =
                       new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
            {
                // The file token.json stores the user's access and refresh tokens, and is created
                // automatically when the authorization flow completes for the first time.
                string credPath = "token.json";
                credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    Scopes,
                    "user",
                    CancellationToken.None,
                    new FileDataStore(credPath, true)).Result;
                Console.WriteLine("Credential file saved to: " + credPath);
            }

            // Create Google Calendar API service.
            var service = new CalendarService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName       = ApplicationName,
            });

            EventsResource.GetRequest request = service.Events.Get(calendarId, eventId);
            Event ev = request.Execute();

            return(ev);
        }
        // GET api/<controller>/5
        public CalendarEvent Get(string id)
        {
            try
            {
                if (ConfigurationManager.AppSettings["TestMode"] == "true" && id == _testEventId)
                {
                    return(CreateTestEvent());
                }

                var service = new CalendarService(new BaseClientService.Initializer()
                {
                    ApiKey = _apiKey
                });

                EventsResource.GetRequest request = service.Events.Get(_calendarID, id);

                Event targetEvent = request.Execute();

                return(MapToEventDto(targetEvent));
            }
            catch (Exception)
            {
                return(MapToEventDto(null));
            }
        }
Exemple #3
0
        /// <summary>
        /// Gets the event.
        /// </summary>
        /// <param name="calendarService">The calendar service.</param>
        /// <param name="eventId">The event identifier.</param>
        /// <returns></returns>
        public Event GetEvent(
            CalendarService calendarService,
            string eventId)
        {
            EventsResource.GetRequest request = calendarService.Events.Get(DefaultCalendarId, eventId);

            return(request.Execute());
        }
Exemple #4
0
        // Finde spezifischen Eintrag
        public Event kalenderEventFinder(String ID)
        {
            //Define parameters of request.
            EventsResource.GetRequest request = dienst.Events.Get("primary", ID);
            // List events.
            Event ret = request.Execute();

            return(ret);
        }
        public async Task <Event> GetEvent(string eventId, string calendar = "primary")
        {
            if (calService == null)
            {
                await Auth(EditScopes);
            }

            EventsResource.GetRequest req = calService.Events.Get(calendar, eventId);
            return(await req.ExecuteAsync());
        }
Exemple #6
0
        public Event GetCalendarEvent(string id)
        {
            Event calEvent = null;

            try
            {
                EventsResource.GetRequest eventGetReq = this.CalendarService.Events.Get(UserCalendar, id);
                calEvent = eventGetReq.Fetch();
            }
            catch (Exception e)
            {
                TraceLog.TraceException(string.Format("Could not get Calendar event with id: '{0}'", id), e);
            }
            return(calEvent);
        }
Exemple #7
0
 /// <summary>
 /// Edit Event with the same ID
 /// </summary>
 /// <param name="event1">Event with changes</param>
 public void EditEvent(TCGSync.Entities.Event event1)
 {
     EventsResource.GetRequest          getRequest  = new EventsResource.GetRequest(GService, user.googleCalendarId, event1.GoogleId);
     Google.Apis.Calendar.v3.Data.Event googleEvent = getRequest.Execute();
     googleEvent.Start = new EventDateTime()
     {
         DateTime = event1.Start
     };
     googleEvent.End = new EventDateTime()
     {
         DateTime = event1.End
     };
     googleEvent.Summary = event1.Description;
     EventsResource.UpdateRequest updateRequest = new EventsResource.UpdateRequest(GService, googleEvent, user.googleCalendarId, event1.GoogleId);
     updateRequest.Execute();
 }
        public void AddTask_WithValidTask_ShouldAddTaskToLifeCoachGoogleCalendar()
        {
            GoogleTaskRepository sut = new GoogleTaskRepository(getSecretFilePath(), LifeCoachTestCalendarName);
            Task task = Task.CreateTask("MyTestTask");

            sut.AddTask(task);

            CalendarService service = getCalendarService();

            var lifeCoachCalendarId = getLifeCoachCalendarId(service, LifeCoachTestCalendarName);

            Assert.IsNotNull(lifeCoachCalendarId, "The life coach calendar should exist");

            EventsResource.GetRequest request = service.Events.Get(lifeCoachCalendarId, task.Id.ToString());

            Event evt = request.Execute();

            Assert.IsNotNull(evt);
            Assert.AreEqual(evt.Summary, "MyTestTask");
            Console.WriteLine("{0}", evt.Summary);
        }
        public void AddTask_WithTaskWithDate_ShouldAddTaskWithDateToGoogleCalendar()
        {
            GoogleTaskRepository sut = new GoogleTaskRepository(getSecretFilePath(), LifeCoachTestCalendarName);
            var  taskDueDate         = new DateTime(2016, 10, 1, 14, 05, 47);
            Task task = Task.CreateTask("MyTestTask", dueDateTime: taskDueDate);

            sut.AddTask(task);

            CalendarService service = getCalendarService();

            var lifeCoachCalendarId = getLifeCoachCalendarId(service, LifeCoachTestCalendarName);

            Assert.IsNotNull(lifeCoachCalendarId, "The life coach calendar should exist");

            EventsResource.GetRequest request = service.Events.Get(lifeCoachCalendarId, task.Id.ToString());

            Event evt = request.Execute();

            Assert.IsNotNull(evt);
            Assert.AreEqual(evt.Summary, "MyTestTask");
            Assert.AreEqual(taskDueDate, evt.End.DateTime);
        }
 public Event GetEvent(string eventIdToGet, string calendarId)
 {
     EventsResource.GetRequest eventGetRequest = service.Events.Get(calendarId, eventIdToGet);
     return(DoActionWithExponentialBackoff(eventGetRequest));
 }
Exemple #11
0
        public async Task <string> UpdateEvent(GoogleEvent i, Guid OwnerGuid)
        {
            Event eventoEsistente = null;
            //verifica se fare update o insert
            var IsUpdate = (string.IsNullOrWhiteSpace(i.ID) == false);

            if (i.ID == "null")
            {
                IsUpdate = false;
            }
            if (IsUpdate == false)
            {
                EventsResource.GetRequest request = Generic.Calendar.Events.Get(MainClass.StudentsCalendar, i.ID);
                try { eventoEsistente = await request.ExecuteAsync(); } catch { }
                IsUpdate = eventoEsistente != null;
            }
            GoogleEvent.UpdateResponse output = new GoogleEvent.UpdateResponse();
            try
            {
                eventoEsistente = EventMixedFromGoogle(i, eventoEsistente);
                if (IsUpdate)
                {
                    EventsResource.UpdateRequest request = Generic.Calendar.Events.Update(
                        eventoEsistente, MainClass.StudentsCalendar, eventoEsistente.Id
                        );
                    eventoEsistente = await request.ExecuteAsync();
                }
                else
                {
                    eventoEsistente.Id = null;
                    EventsResource.InsertRequest request = Generic.Calendar.Events.Insert(
                        eventoEsistente, MainClass.StudentsCalendar
                        );
                    eventoEsistente = await request.ExecuteAsync();
                }
                if (eventoEsistente != null)
                {
                    output.item  = eventoEsistente.ToGoogleEvent();
                    output.state = Visual1993.Data.WebServiceV2.WebRequestState.Ok;
                }
            }
            catch (Exception ex) {
                output.state        = Visual1993.Data.WebServiceV2.WebRequestState.GenericError;
                output.errorMessage = ex.Message;
            }
            //manda la mail al Loft team
            //prendi le info dell'utente per la mail
            //var internalEvent = (await InternalEvent.getAllFromGoogleID(i.ID)).items.FirstOrDefault();
            //if (internalEvent == null) { output.errorMessage = "Impossibile trovare l'evento correlato"; return JsonConvert.SerializeObject(output);}
            var utente = (await User.GetOne(OwnerGuid)).items.FirstOrDefault();

            if (utente == null)
            {
                output.errorMessage = "Impossibile trovare l'utente che ha inserito l'evento"; return(JsonConvert.SerializeObject(output));
            }
            try {
                var msgStr = "<html><body>" +
                             "<p>Nome: " + i.Name + "</p>" +
                             "<p>Inizio: " + i.StartDate.ToString() + "</p>" +
                             "<p>Fine: " + i.EndDate.ToString() + "</p>" +
                             "<p>Owner: " + i.OwnerName + "</p>" +
                             "<p>Luogo: " + i.Luogo + "</p>" +
                             "<p>Descrizione: " + i.Description + "</p>" +
                             "<p><a href=\"" + MainClass.ExternalAccessBaseUri + MainClass.LoftPrefix + "event/" + i.InternalEventGuid + "/accept\">Accetta</a></p>" +
                             "<p><a href=\"" + MainClass.ExternalAccessBaseUri + MainClass.LoftPrefix + "event/" + i.InternalEventGuid + "/deny\">Rifiuta</a></p>" +
                             "</body></html>"
                ;
                var mail = new MailRESTRequest {
                    From         = utente?.data?.Email ?? null,
                    To           = MainClass.StaffMail,
                    Cc           = MainClass.StaffCcMail,
                    IsBodyHtml   = true,
                    SmtpProvider = MailRESTRequest.SmtpProviderEnum.Luiss,
                    Body         = msgStr,
                    Subject      = "Prenotazione evento Loft"
                };
                var web    = new Visual1993.Data.WebServiceV2();
                var config = new WebServiceV2.UrlToStringConfiguration
                {
                    url        = MainClass.Visual1993RestServer + "visual1993/mail/send",
                    Type       = WebServiceV2.UrlToStringConfiguration.RequestType.JsonRaw,
                    Verb       = WebServiceV2.UrlToStringConfiguration.RequestVerb.POST,
                    RawContent = JsonConvert.SerializeObject(mail)
                };
                var res = await web.UrlToString(config);

                var resAsObj = JsonConvert.DeserializeObject <WebServiceV2.DefaultResponse>(res);
                if (resAsObj.state != WebServiceV2.WebRequestState.Ok)
                {
                    output.errorMessage = "mail not sent. Error: " + resAsObj.errorMessage;
                }
                //ma non impostare lo stato a !=Ok perchè la richiesta in se è andata a buon fine
            }
            catch (Exception ex)
            {
                output.errorMessage = ex.Message;
            }
            return(JsonConvert.SerializeObject(output));
        }