public List<Contribution> GetAllContributionsFromEvent(Event eventTarget) { using (SynchronicWorldContext context = new SynchronicWorldContext()) { return context.Events.Include(e => e.Contributions.Select(c=>c.Person)).Where(e => e.Name.Equals(eventTarget.Name)).FirstOrDefault().Contributions.ToList(); } }
public Event UpdateEvent(Event updatedEvent) { using (SynchronicWorldContext context = new SynchronicWorldContext()) { // if address or name are null or name is already taken if (context.Events.Where(e => e.Name.Equals(updatedEvent.Name) && !e.Id.Equals(updatedEvent.Id)).Count() != 0 || updatedEvent.Name.Equals("") || updatedEvent.Address.Equals("") || updatedEvent.Description.Equals("")) { return null; } Event eventInDb = context.Events.Where(e => e.Id.Equals(updatedEvent.Id)).FirstOrDefault(); if (eventInDb == null) { return null; } eventInDb.Address = updatedEvent.Address; eventInDb.Date = updatedEvent.Date; eventInDb.Description = updatedEvent.Description; eventInDb.Name = updatedEvent.Name; eventInDb.Status = updatedEvent.Status; eventInDb.Type = updatedEvent.Type; context.SaveChanges(); return eventInDb; } }
public Event AddContribution(Contribution contribution, Event eventTarget) { using (SynchronicWorldContext context = new SynchronicWorldContext()) { var contributionInDb = context.Contributions.Where(c => c.Name.ToLower().Equals(contribution.Name.ToLower())).FirstOrDefault(); var eventInDb = context.Events.Include(e => e.Contributions).Where(e => e.Name.ToLower().Equals(eventTarget.Name.ToLower())).FirstOrDefault(); if (contributionInDb == null || eventInDb == null) { return null; } eventInDb.Contributions.Add(contributionInDb); context.SaveChanges(); return eventInDb; } }
public bool DeleteEvent(Event eventToDelete) { using (SynchronicWorldContext context = new SynchronicWorldContext()) { Event EventInDb = context.Events.Include(e => e.Persons).Include(e=>e.Contributions).Where(e => e.Id.Equals(eventToDelete.Id)).FirstOrDefault(); if (EventInDb == null) { return false; } EventInDb.Persons.Clear(); EventInDb.Contributions.Clear(); context.Events.Remove(EventInDb); context.SaveChanges(); return true; } }
public Event CreateEvent(Event eventToCreate) { using (SynchronicWorldContext context = new SynchronicWorldContext()) { // if address or name are null or name is already taken if(context.Events.Where(e=>e.Name.Equals(eventToCreate.Name)).Count()!=0 || eventToCreate.Name.Equals("") || eventToCreate.Address.Equals("") || eventToCreate.Description.Equals("")) { return null; } Event newEvent = context.Events.Add(eventToCreate); context.SaveChanges(); return newEvent; } }
public bool AddPersonToOpenEvent(Event eventTarget, Person person) { using (SynchronicWorldContext context = new SynchronicWorldContext()) { Person PersonInDb = context.Persons.Where(p => p.Nickname.ToLower().Equals(person.Nickname.ToLower())).FirstOrDefault(); if (PersonInDb == null) { return false; } if (context.Events.Include(e=>e.Persons).Where(e => e.Name.ToLower().Equals(eventTarget.Name.ToLower())).FirstOrDefault().Persons.Contains(PersonInDb) || !context.Events.Where(e=>e.Name.ToLower().Equals(eventTarget.Name.ToLower())).FirstOrDefault().Status.ToString().Equals(EventStatus.Open.ToString())) { return false; } context.Events.Where(e => e.Name.Equals(eventTarget.Name)).FirstOrDefault().Persons.Add(PersonInDb); context.SaveChanges(); return true; } }
public List<Person> GetAllPersonsFromOpenEvent(Event eventTarget) { using (SynchronicWorldContext context = new SynchronicWorldContext()) { if (!context.Events.Where(e => e.Name.ToLower().Equals(eventTarget.Name.ToLower())).FirstOrDefault().Status.ToString().Equals(EventStatus.Open.ToString())) { return null; } return context.Events.Include(e => e.Persons).Where(e => e.Name.Equals(eventTarget.Name)).FirstOrDefault().Persons; } }