private Activity CreateActivity(IotLink link) { ActivityType activityType; Platform platform; if (link.Form == null) { activityType = ActivityType.IdeationVote; platform = link.IdeationReply.Ideation.Project.Platform; } else { activityType = ActivityType.FormVote; platform = link.Form.Project.Platform; } var activity = new Activity() { ActivityTime = DateTime.Now, ActivityType = activityType, User = null, Platform = platform }; return(activity); }
public IActionResult GetAllStatementForms(int id, [FromServices] IIoTManager ioTManager) { List <Form> forms = _formManager.GetAllStatementForms(id).ToList(); List <FormViewModel> formViewModels = new List <FormViewModel>(); foreach (Form form in forms) { IotLink iotLink = ioTManager.GetIoTLinkByForm(form); FormViewModel formViewModel = new FormViewModel() { Title = form.Title, FormId = form.FormId, Questions = new List <FormQuestionViewModel>(), IotLink = iotLink }; FormQuestionViewModel question = new FormQuestionViewModel() { Question = form.Questions[0].QuestionString }; formViewModel.Questions.Add(question); formViewModels.Add(formViewModel); } return(Ok(formViewModels)); }
public IActionResult CreateLink(IoTDTO iot, [FromServices] IFormManager formManager, [FromServices] IIdeationManager ideationManager, [FromServices] IIoTManager ioTManager, [FromServices] UnitOfWorkManager unitOfWorkManager) { IotLink link = null; Location location = new Location() { Longitude = iot.Location.Longitude, Latitude = iot.Location.Latitude, ZoomLevel = iot.Location.ZoomLevel }; if (iot.IsForm) { Form form = formManager.GetForm(iot.FormId); if (form == null) { return(NotFound()); } link = ioTManager.CreateIotLink(form, null, form.Project, location); } else { Ideation ideation = ideationManager.GetIdeationWithReplies(iot.IdeationId); IdeationReply reply = ideationManager.GetIdeationReply(ideation.Replies[0].IdeationReplyId); if (reply == null) { return(NotFound()); } link = ioTManager.CreateIotLink(null, reply, ideation.Project, location); } unitOfWorkManager.Save(); return(Created("", new { id = link.IotLinkId })); }
public void DeleteLink(int id) { IotLink link = _ctx.IotLinks.Find(id); _ctx.IotLinks.Remove(link); _ctx.SaveChanges(); }
public IotLink CreateIotLink(Form form, IdeationReply ideationReply, Project project, Location location) { IotLink iotLink = new IotLink() { Form = form, IdeationReply = ideationReply, Project = project, Location = location, }; return(_ioTRepository.CreateIotLink(iotLink)); }
public IActionResult GetAllAdminIdeations(int id, [FromServices] IIoTManager ioTManager) { List <Ideation> ideations = _ideationManager.GetAllAdminIdeations(id).ToList(); List <IdeationViewModel> ideationViewModels = new List <IdeationViewModel>(); foreach (var ideation in ideations) { bool hasReplies = ideation.Replies.Any(); if (!hasReplies) { continue; } IoTDTO iotLink = null; if (hasReplies) { IotLink link = null; link = ioTManager.GetIoTLinkByIdeationReply(ideation.Replies[0]); if (link != null) { iotLink = new IoTDTO() { IotLinkId = link.IotLinkId, IsForm = false, IdeationId = ideation.Replies[0].IdeationReplyId, Location = new LocationDTO() { Longitude = link.Location.Longitude, Latitude = link.Location.Latitude, ZoomLevel = link.Location.ZoomLevel } }; } } IdeationViewModel vm = new IdeationViewModel() { CentralQuestion = ideation.CentralQuestion, Description = ideation.Description, IdeationId = ideation.IdeationId, HasReplies = hasReplies, IotLink = iotLink }; ideationViewModels.Add(vm); } return(Ok(ideationViewModels)); }
public IActionResult EditLink(IoTDTO iot, [FromServices] IFormManager formManager, [FromServices] IIdeationManager ideationManager, [FromServices] IIoTManager ioTManager, [FromServices] UnitOfWorkManager unitOfWorkManager) { IotLink link = ioTManager.GetIoTLink(iot.IotLinkId); Location location = new Location() { Longitude = iot.Location.Longitude, Latitude = iot.Location.Latitude, ZoomLevel = iot.Location.ZoomLevel }; link.Location = location; ioTManager.UpdateIotLink(link); unitOfWorkManager.Save(); return(Ok()); }
private Tuple <IotLinkType, int> UpdateIot(IotLink link) { IotLinkType iotLinkType; int replyId; if (link.Form == null) { iotLinkType = IotLinkType.Ideation; replyId = link.IdeationReply.IdeationReplyId; } else { iotLinkType = IotLinkType.Form; replyId = link.Form.FormId; } switch (iotLinkType) { case IotLinkType.Ideation: _ideationManager.UpdateReply(link.IdeationReply); break; case IotLinkType.Form: _formManager.UpdateForm(link.Form); break; } try { _unitOfWorkManager.FixUnchangedEntries(); // only used one time where 2 dbcontexts were unavoidable -> UI.MVC/scheduler _unitOfWorkManager.Save(); } catch (Exception e) { Console.WriteLine(e); } return(new Tuple <IotLinkType, int>(iotLinkType, replyId)); }
public Tuple <IotLinkType, int, Activity> VoteDown(int iotId, User user = null) { IotLink link = _ioTManager.GetIoTLink(iotId); link.VoteDown(user); Activity activity = null; activity = CreateActivity(link); if (link.Form == null) { activity.IdeationReply = link.IdeationReply; } else { activity.Form = link.Form; } var linkTypeAndId = UpdateIot(link); return(new Tuple <IotLinkType, int, Activity>(linkTypeAndId.Item1, linkTypeAndId.Item2, activity)); }
public IotLink UpdateIotLink(IotLink iotLink) { _ctx.IotLinks.Update(iotLink); _ctx.SaveChanges(); return(iotLink); }
public IotLink CreateIotLink(IotLink iotLink) { _ctx.IotLinks.Add(iotLink); _ctx.SaveChanges(); return(iotLink); }
public IotLink UpdateIotLink(IotLink iotLink) { return(_ioTRepository.UpdateIotLink(iotLink)); }