// XV: TODO Create a check for organisation accounts private IdeationsDao ConvertToDao(Ideation obj) { //bool Org = obj.User.Role == Role.LOGGEDINORG; IdeationsDao dao = new IdeationsDao() { ModuleId = obj.Id, ExtraInfo = obj.ExtraInfo, MediaFile = obj.MediaLink, }; if (obj.User != null) { dao.UserId = obj.User.Id; } if (obj.RequiredFields > 0) { dao.RequiredFields = (byte)obj.RequiredFields; } if (obj.Event != null) { dao.EventId = obj.Event.Id; dao.UserIdea = obj.UserIdea; //DTO.Organisation = Org; } return(dao); }
public void Update(Ideation obj) { IdeationsDao newIdeation = ConvertToDao(obj); IdeationsDao foundIdeation = _ctx.Ideations.FirstOrDefault(dto => dto.ModuleId == newIdeation.ModuleId); if (foundIdeation != null) { foundIdeation.ExtraInfo = newIdeation.ExtraInfo; foundIdeation.MediaFile = newIdeation.MediaFile; foundIdeation.RequiredFields = newIdeation.RequiredFields; } ModulesDao newModule = GrabModuleInformationDao(obj); ModulesDao foundModule = _ctx.Modules.FirstOrDefault(dto => dto.ModuleId == newModule.ModuleId); if (foundModule != null) { foundModule.OnGoing = newModule.OnGoing; foundModule.Title = newModule.Title; foundModule.LikeCount = newModule.LikeCount; foundModule.FbLikeCount = newModule.FbLikeCount; foundModule.TwitterLikeCount = newModule.TwitterLikeCount; foundModule.ShareCount = newModule.ShareCount; foundModule.RetweetCount = newModule.RetweetCount; foundModule.Tags = newModule.Tags; } if (newModule.PhaseId != foundModule.PhaseId) { foundModule.PhaseId = newModule.PhaseId; } _ctx.SaveChanges(); }
public Ideation Read(int id, bool details) { IdeationsDao ideationDao = details ? _ctx.Ideations.AsNoTracking().First(m => m.ModuleId == id) : _ctx.Ideations.First(m => m.ModuleId == id); ExtensionMethods.CheckForNotFound(ideationDao, "Ideation", id); return(ConvertToDomain(ideationDao)); }
public void Delete(int id) { ModulesDao toDeleteModule = _ctx.Modules.First(r => r.ModuleId == id); _ctx.Modules.Remove(toDeleteModule); IdeationsDao toDelete = _ctx.Ideations.First(r => r.ModuleId == id); _ctx.Ideations.Remove(toDelete); _ctx.SaveChanges(); }
private Ideation ConvertToDomain(IdeationsDao dao) { return(new Ideation { Id = dao.ModuleId, User = new UimvcUser { Id = dao.UserId }, UserIdea = dao.UserIdea, Event = new Event { Id = dao.EventId }, MediaLink = dao.MediaFile, ExtraInfo = dao.ExtraInfo, RequiredFields = dao.RequiredFields }); }
public Ideation Create(Ideation obj) { IEnumerable <Ideation> ideations = ReadAll(obj.Project.Id); foreach (Ideation i in ideations) { if (obj.ParentPhase.Id == i.ParentPhase.Id) { throw new DuplicateNameException("Ideation(ID=" + obj.Id + ") heeft dezelfde parentPhase als Ideation(ID=" + i.Id + "). De phaseID is " + obj.ParentPhase.Id + "."); } } obj.Id = FindNextAvailableIdeationId(); ModulesDao newModule = GrabModuleInformationDao(obj); IdeationsDao newIdeation = ConvertToDao(obj); _ctx.Modules.Add(newModule); _ctx.Ideations.Add(newIdeation); _ctx.SaveChanges(); return(obj); }