public async Task <bool> AddWin10Builds(NewBuildPost apiModel) { if (apiModel == null) { return(false); } if (Membership.ValidateUser(apiModel.Username, apiModel.Password)) { await _bModel.InsertAll(apiModel.NewBuilds.Select(nb => new Build { MajorVersion = nb.MajorVersion, MinorVersion = nb.MinorVersion, Number = nb.Number, Revision = nb.Revision, Lab = nb.Lab, BuildTime = nb.BuildTime.HasValue ? DateTime.SpecifyKind(nb.BuildTime.Value, DateTimeKind.Utc) : null as DateTime?, Added = DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc), Modified = DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc), SourceType = TypeOfSource.PrivateLeak })); return(true); } return(false); }
public async Task <bool> AddWin10Builds(NewBuildPost apiModel) { if (apiModel == null) { return(false); } if (Membership.ValidateUser(apiModel.Username, apiModel.Password)) { IEnumerable <Build> builds = apiModel.NewBuilds.Select(nb => new Build { MajorVersion = nb.MajorVersion, MinorVersion = nb.MinorVersion, Number = nb.Number, Revision = nb.Revision, Lab = nb.Lab, BuildTime = nb.BuildTime.HasValue ? DateTime.SpecifyKind(nb.BuildTime.Value, DateTimeKind.Utc) : null as DateTime?, Added = DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc), Modified = DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc), SourceType = TypeOfSource.PrivateLeak }); foreach (Build build in builds) { await _bModel.Insert(build); OneSignalClient osc = new OneSignalClient(ConfigurationManager.AppSettings["push:OneSignalApiKey"]); osc.PushNewBuild(build, $"https://buildfeed.net{Url.Route("Build", new { controller = "Front", action = nameof(FrontController.ViewBuild), id = build.Id, area = "", httproute = "" })}?utm_source=notification&utm_campaign=new_build"); } return(true); } return(false); }
public async Task <bool> AddWin10Builds(NewBuildPost apiModel) { if (apiModel == null) { return(false); } if (Membership.ValidateUser(apiModel.Username, apiModel.Password) && (Roles.IsUserInRole(apiModel.Username, "Editors") || Roles.IsUserInRole(apiModel.Username, "Administrators"))) { var generateOldItem = new Func <NewBuild, BuildDetails>(nb => { var bi = new BuildDetails { MajorVersion = nb.MajorVersion, MinorVersion = nb.MinorVersion, Number = nb.Number, Revision = nb.Revision, Lab = nb.Lab, BuildTime = nb.BuildTime.HasValue ? DateTime.SpecifyKind(nb.BuildTime.Value, DateTimeKind.Utc) : null as DateTime?, SourceType = TypeOfSource.PrivateLeak }; return(bi); }); var builds = apiModel.NewBuilds.Select(nb => new Build { MajorVersion = nb.MajorVersion, MinorVersion = nb.MinorVersion, Number = nb.Number, Revision = nb.Revision, Lab = nb.Lab, BuildTime = nb.BuildTime.HasValue ? DateTime.SpecifyKind(nb.BuildTime.Value, DateTimeKind.Utc) : null as DateTime?, Added = DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc), Modified = DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc), SourceType = TypeOfSource.PrivateLeak, History = new List <ItemHistory <BuildDetails> > { new ItemHistory <BuildDetails> { Type = ItemHistoryType.Added, Time = DateTime.SpecifyKind(DateTime.UtcNow, DateTimeKind.Utc), UserName = apiModel.Username, Item = generateOldItem(nb) } } }); foreach (Build build in builds) { await _bModel.Insert(build); var osc = new OneSignalClient(ConfigurationManager.AppSettings["push:OneSignalApiKey"]); osc.PushNewBuild(build, $"https://buildfeed.net{Url.Route("Build", new { controller = "Front", action = nameof(FrontController.ViewBuild), id = build.Id, area = "", httproute = "" })}?utm_source=notification&utm_campaign=new_build"); } return(true); } return(false); }