refactoring

This commit is contained in:
2017-06-14 12:28:08 +02:00
parent 52d12985c7
commit 76889c82c5
46 changed files with 3129 additions and 552 deletions

View File

@ -23,6 +23,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Identity;
namespace Yavsc.Helpers
{
using Models.Auth;
@ -30,7 +31,8 @@ namespace Yavsc.Helpers
using Models.Messaging;
using Models;
using Interfaces.Workflow;
using Yavsc.Models.Google;
using Yavsc.Models.Calendar;
/// <summary>
/// Google helpers.
@ -109,13 +111,30 @@ namespace Yavsc.Helpers
{
var user = await userManager.FindByIdAsync(uid);
var googleId = context.UserLogins.FirstOrDefault(
x => x.UserId == uid
x => x.UserId == uid && x.LoginProvider == "Google"
).ProviderKey;
if (string.IsNullOrEmpty(googleId))
throw new InvalidOperationException("No Google login");
var token = await context.GetTokensAsync(googleId);
return new UserCredential(uid, token);
}
static string evStatusDispo = "Dispo";
public static async Task<Period[]> GetFreeTime (this ICalendarManager manager, string userId, string calId, DateTime startDate, DateTime endDate)
{
CalendarEventList evlist = await manager.GetCalendarAsync(calId, startDate, endDate, userId) ;
var result = evlist.items
.Where(
ev => ev.status == evStatusDispo
)
.Select(
ev => new Period {
Start = ev.start.datetime,
End = ev.end.datetime
}
);
return result.ToArray();
}
}
}