public IEnumerable <Item> GetChannelsWithoutUser(string user) { try { using (BD.AtomicRssDatabaseContainer context = new BD.AtomicRssDatabaseContainer()) { BD.Users u = (from el in context.UsersSet where el.Email == user select el).FirstOrDefault(); if (u != null) { ObservableCollection <Item> channels = new ObservableCollection <Item>(); foreach (BD.Channels chan in context.ChannelsSet) { if (!chan.Users.Contains(u)) { channels.Add(new Item() { Id = chan.Id, Title = chan.Title, Description = chan.Description, Link = chan.Link, Date = chan.Date }); } } return(channels); } } } catch (Exception e) { Debug.WriteLine(e.StackTrace); } return(null); }
public void SetAllArticlesReadForUser(string user) { try { using (BD.AtomicRssDatabaseContainer context = new BD.AtomicRssDatabaseContainer()) { BD.Users u = (from el in context.UsersSet where el.Email == user select el).FirstOrDefault(); if (u != null) { foreach (BD.Channels chan in context.ChannelsSet) { if (chan.Users.Contains(u)) { foreach (BD.Articles article in chan.Articles) { if (!article.Users.Contains(u)) { article.Users.Add(u); } } } } context.SaveChanges(); } } } catch (Exception e) { Debug.WriteLine(e.Message + " Stacktrace : " + e.StackTrace); } }
// To enable Forms/Windows Authentication for the Web Application, edit the appropriate section of web.config file. protected override bool ValidateUser(string userName, string password) { BD.Users u = null; try { using (BD.AtomicRssDatabaseContainer context = new BD.AtomicRssDatabaseContainer()) { u = (from el in context.UsersSet where el.Email == userName && el.Passwords == password select el).FirstOrDefault(); } } catch (Exception e) { Debug.WriteLine(e.Message); } return(u != null); }
public void AddChannels(string user, string channels) { try { using (BD.AtomicRssDatabaseContainer context = new BD.AtomicRssDatabaseContainer()) { XmlReader read = XmlReader.Create(channels); SyndicationFeed sfeed = SyndicationFeed.Load(read); read.Close(); BD.Channels chan = (from el in context.ChannelsSet where el.Title == sfeed.Title.Text select el).FirstOrDefault(); BD.Users u = (from el in context.UsersSet where el.Email == user select el).FirstOrDefault(); if (chan != null && u != null) { chan.Users.Add(u); } else if (u != null && chan == null) { chan = new BD.Channels(); chan.Author = "Unkwon"; chan.Language = (sfeed.Language == null) ? ("Uk") : (sfeed.Language); chan.Description = (sfeed.Description.Text.Length > 256) ? (sfeed.Description.Text.Substring(0, 256)) : (sfeed.Description.Text); chan.Title = sfeed.Title.Text; chan.Date = DateTime.Now; // Corrige la plus part des problemes de loading de nouveau channel chan.Link = channels; context.ChannelsSet.AddObject(chan); //foreach (SyndicationItem article in sfeed.Items) //{ // BD.Articles a = new BD.Articles(); // a.Date = article.PublishDate.DateTime; // a.Title = article.Title.Text; // a.Description = article.Summary.Text; // a.GUID = "0000"; // a.Link = article.Id; // chan.Articles.Add(a); // context.ArticlesSet.AddObject(a); //} chan.Users.Add(u); } context.SaveChanges(); } } catch (Exception e) { Debug.WriteLine(e.StackTrace); } }
public void DestroyArticlesRelationWithUser(int id_user) { try { using (BD.AtomicRssDatabaseContainer context = new BD.AtomicRssDatabaseContainer()) { BD.Users user = (from el in context.UsersSet where el.Id == id_user select el).FirstOrDefault(); if (user != null) { user.Channels.Clear(); } context.SaveChanges(); } } catch (Exception e) { Debug.WriteLine(e.Message); } }
public void SetArticlesReadForUser(int id_article, string user) { try { using (BD.AtomicRssDatabaseContainer context = new BD.AtomicRssDatabaseContainer()) { BD.Users u = (from el in context.UsersSet where el.Email == user select el).FirstOrDefault(); BD.Articles article = (from el in context.ArticlesSet where el.Id == id_article select el).FirstOrDefault(); if (u != null && article != null) { article.Users.Add(u); } context.SaveChanges(); } } catch (Exception e) { Debug.WriteLine(e.Message); } }
public void RemoveChannelsFromUser(string user, int id_channels) { try { using (BD.AtomicRssDatabaseContainer context = new BD.AtomicRssDatabaseContainer()) { BD.Users u = (from el in context.UsersSet where el.Email == user select el).FirstOrDefault(); BD.Channels chan = (from el in context.ChannelsSet where id_channels == el.Id select el).FirstOrDefault(); if (u != null && chan != null) { chan.Users.Remove(u); } context.SaveChanges(); } } catch (Exception e) { Debug.WriteLine(e.Message); } }