Ejemplo n.º 1
0
        public async Task <IHttpActionResult> Post(string moniker, TalkViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var camp = await _repository.GetCampAsync(moniker);

            var speaker = await _repository.GetSpeakerAsync(viewModel.Speaker.Id);

            var talk = _mapper.Map <Talk>(viewModel);

            talk.Camp = camp;

            talk.Speaker = speaker;

            await _repository.AddTalkAsync(talk);

            await _repository.SaveChangesAsync();

            var createdTalkViewModel = _mapper.Map <TalkViewModel>(talk);

            return(CreatedAtRoute("GetTalk", new { moniker = camp.Moniker, id = createdTalkViewModel.Id }, createdTalkViewModel));
        }
        public async Task <IActionResult> Talk(string talk)
        {
            var thisTalk = await _context.Talk.Where(o => o.Url.ToLower() == talk).FirstOrDefaultAsync();

            //get Resource <> Talk mappings for this Talk
            var resourcesTalkMappings = await _context.ResourceTalk
                                        .Include(o => o.Resource)
                                        .Where(o => o.TalkId == thisTalk.Id)
                                        .ToListAsync();

            var resources = new List <Resource>();

            foreach (var rt in resourcesTalkMappings)
            {
                resources.Add(rt.Resource);
            }

            var vm = new TalkViewModel()
            {
                Talk      = thisTalk,
                Resources = resources
            };

            return(View(vm));
        }
Ejemplo n.º 3
0
        async Task <IActionResult> UpsertTalk(Speaker speaker, string moniker, TalkViewModel vm)
        {
            try
            {
                Talk talk = speaker.Talks.Where(t => t.Id == vm.Id).FirstOrDefault();
                if (talk == null)
                {
                    talk = Mapper.Map <Talk>(vm);
                    speaker.Talks.Add(talk);
                }
                else
                {
                    talk = Mapper.Map(vm, talk);
                }

                await _repo.SaveChangesAsync();

                return(Ok(Mapper.Map <TalkViewModel>(talk)));
            }
            catch (Exception ex)
            {
                _logger.LogError("Failed to update talk: {0}", ex);
            }

            return(BadRequest("Couldn't save or update talk."));
        }
Ejemplo n.º 4
0
 public async Task <IActionResult> UpsertMyTalk(string moniker, [FromBody] TalkViewModel vm)
 {
     if (ModelState.IsValid)
     {
         return(await UpsertTalk(_repo.GetSpeakerForCurrentUser(moniker, User.Identity.Name), moniker, vm));
     }
     return(BadRequest("Couldn't Save"));
 }
Ejemplo n.º 5
0
 public async Task <IActionResult> UpsertTalk(string moniker, int id, [FromBody] TalkViewModel vm)
 {
     if (ModelState.IsValid)
     {
         return(await UpsertTalk(_repo.GetSpeaker(id), moniker, vm));
     }
     return(BadRequest("Couldn't Save"));
 }
        public ActionResult Edit(int id, TalkViewModel model)
        {
            Talks edit = new Talks();

            edit.InjectFrom(model);
            var createNewTalk = talk.Update(edit);

            return(RedirectToAction(nameof(Index)));
        }
 public AndroidTalkTabModel(string infoPin, IEnumerable <TTalklog> talkLogs) : base(talkLogs, infoPin)
 {
     TalkViewModel = new TalkViewModel <TTalklog> {
         TalkLogs = new ObservableCollection <TTalklog>(talkLogs)
     };
     Content = new TalkView {
         DataContext = TalkViewModel
     };
 }
        // GET: Talks/Edit/5
        public ActionResult Edit(int id)
        {
            var           edit  = talk.GetById(id);
            TalkViewModel model = new TalkViewModel();

            model.InjectFrom(edit);

            return(View(model));
        }
        // GET: Talks/Delete/5
        public ActionResult Delete(int id)
        {
            var delete = talk.GetById(id);

            TalkViewModel model = new TalkViewModel();

            model.InjectFrom(delete);

            return(View(model));
        }
Ejemplo n.º 10
0
        protected override void OnBindingContextChanged()
        {
            base.OnBindingContextChanged();
            this.talkViewModel = null;

            ListViewSpeakers.HeightRequest     = 0;
            ListViewSeeAlsoTalks.HeightRequest = 0;

            AdjustListView(ListViewSessionMaterial, ViewModel.SessionMaterialItems, androidAdditionalHeight: 2);
        }
Ejemplo n.º 11
0
 public ActionResult NewTalk(TalkViewModel m)
 {
     if (ModelState.IsValid)
     {
         postSvc.CreateTalkPost(m.TalkPlaceID, m.TalkComment);
         return(RedirectToAction("TalkList", new { id = m.TalkPlaceID }));
     }
     else
     {
         return(View());
     }
 }
        public ActionResult Delete(int id, TalkViewModel model)
        {
            Talks deleteTalk = new Talks();

            deleteTalk = talk.GetById(id);

            model.InjectFrom(deleteTalk);

            talk.DeleteTalk(deleteTalk);

            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 13
0
        protected override void OnBindingContextChanged()
        {
            base.OnBindingContextChanged();
            this.talkViewModel = null;

            this.ListViewSpeakers.HeightRequest = 0;

            var adjust = Device.RuntimePlatform != Device.Android ? 1 : -this.ViewModel.SessionMaterialItems.Count + 2;

            this.ListViewSessionMaterial.HeightRequest =
                (this.ViewModel.SessionMaterialItems.Count * this.ListViewSessionMaterial.RowHeight) - adjust;
        }
        public ActionResult Create(TalkViewModel model)
        {
            if (ModelState.IsValid)
            {
                Talks newTalk = new Talks();
                newTalk.InjectFrom(model);

                var createTalk = talk.CreateTalk(newTalk);
                if (createTalk == null)
                {
                    ModelState.AddModelError("CompanyName", "Must be unique");
                    return(View(model));
                }
            }
            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 15
0
        //
        // GET: /Talk/

        public ActionResult Index()
        {
            TalkViewModel viewmodel = new TalkViewModel();

            base.SetModel(viewmodel);
            viewmodel.TalkCollection = Utility.TalkBll.Query(Info.userID);
            viewmodel.Title          = "碎言碎语-" + Info.blogTitle;
            foreach (var v in viewmodel.Menus)
            {
                if (v.menuUrl.ToLower().EndsWith("talk"))
                {
                    v.IsActive = true;
                }
                else
                {
                    v.IsActive = false;
                }
            }

            return(View("~/Views/Blog/Themes/" + viewmodel.ThemeName + "/Talk.cshtml", viewmodel));
        }
Ejemplo n.º 16
0
 public async Task <IActionResult> AddAttendeeForATalk([FromBody] TalkViewModel model)
 {
     try
     {
         if (model.TalkID > 0)
         {
             await _talkService.AddAttendeeForATalk(model);
         }
         else
         {
             return(BadRequest(new ApiResponse {
                 Status = false, Message = "Attendee list is empty"
             }));
         }
     }
     catch (Exception ex)
     {
         _logger.LogError(ex.Message, $"Failed to add Attendee for a Talk: {DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff")}");
     }
     _logger.LogInformation("An Attendee was successfully added for a Talk");
     return(NoContent());
 }
Ejemplo n.º 17
0
        public async Task <TalkViewModel> GetTalkViewModel(Conference conference, string talkName)
        {
            var talk = await talkPersistence.GetTalkByName(conference, talkName);

            if (talk == null)
            {
                return(null);
            }

            /// TODO: Support single click pause / resume
            ///
            /// TODO: hotkeys:
            // -space: play / pause
            //- f: fullscreen
            //- opp / ned: volumkontroll
            //- venstre / høyre: skip back/ frem 5 sec elns
            ///
            var user          = users.GetUser(talk.Speaker);
            var talkViewModel = new TalkViewModel(talk, user);

            return(talkViewModel);
        }
Ejemplo n.º 18
0
        public async Task <IHttpActionResult> Put(string moniker, int id, TalkViewModel viewModel)
        {
            var talk = await _repository.GetTalkByMonikerAsync(moniker, id, includeSpeaker : true);

            if (talk == null)
            {
                return(NotFound());
            }

            _mapper.Map(viewModel, talk);

            if (viewModel.Speaker != null)
            {
                var speaker = await _repository.GetSpeakerAsync(viewModel.Speaker.Id);

                talk.Speaker = speaker;
            }

            await _repository.SaveChangesAsync();

            return(Ok());
        }
Ejemplo n.º 19
0
        public async Task <IActionResult> UpdateTrack(string moniker, int id, [FromBody] TalkViewModel model)
        {
            try
            {
                var talk  = _repo.GetTalk(id);
                var track = _repo.GetTracks(moniker).Where(r => r.Name == model.Track).FirstOrDefault();
                if (track == null || talk == null)
                {
                    return(NotFound("Cannot find talk."));
                }
                talk.Track = track;

                await _repo.SaveChangesAsync();

                return(Ok(talk));
            }
            catch (Exception ex)
            {
                _logger.LogError("Failed to update track: {0}", ex);
            }

            return(BadRequest("Couldn't update talk."));
        }
Ejemplo n.º 20
0
        public async Task <IActionResult> UpdateTime(string moniker, int id, [FromBody] TalkViewModel model)
        {
            try
            {
                var talk = await _repo.GetTalkAsync(id);

                var time = (await _repo.GetTimeSlotsAsync(moniker)).Where(r => r.Time == model.Time).FirstOrDefault();
                if (time == null || talk == null)
                {
                    return(NotFound("Cannot find talk."));
                }
                talk.TimeSlot = time;

                await _repo.SaveChangesAsync();

                return(Ok(true));
            }
            catch (Exception ex)
            {
                _logger.LogError("Failed to update talk time: {0}", ex);
            }

            return(BadRequest("Couldn't update talk."));
        }
Ejemplo n.º 21
0
        public async Task AddAttendeeForATalk(TalkViewModel model)
        {
            var talk = await _unitOfWork.TalkRepo.GetTalkAsync(model.TalkID);

            try
            {
                if (model.Attendees.Count > 0)
                {
                    foreach (var attendee in model.Attendees)
                    {
                        talk.Attendees.Add(attendee);
                    }
                    await _unitOfWork.TalkRepo.AddTalkAsync(talk);

                    await _unitOfWork.SaveAsync();

                    await _unitOfWork.CommitChangesAsync();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 22
0
        public JsonResult GetListData()
        {
            int pageSize  = int.Parse(Request["pageSize"] ?? "5");
            int pageIndex = int.Parse(Request["pageIndex"] ?? "1");
            var PageData  = TalksService.GetPageEntities(pageSize, pageIndex, out int total, u => u.Status == delNormal, u => u.CreateTime, false).AsQueryable();

            if (PageData.Count() > 0)
            {
                List <TalkViewModel> list = new List <TalkViewModel>();
                foreach (var data in PageData)
                {
                    TalkViewModel talk = new TalkViewModel();
                    talk.TalkID = data.TalkID;

                    talk.TalkFavorsNum = (int)data.TalkFavorsNum;
                    talk.CreateTime    = (DateTime)data.CreateTime;
                    if (data.UserInfo != null)
                    {
                        talk.ShowName = data.UserInfo.UserInfoShowName;
                        talk.Icon     = data.UserInfo.UserInfoIcon;
                    }
                    else
                    {
                        talk.ShowName = data.OrganizeInfo.OrganizeInfoShowName;
                        talk.Icon     = data.OrganizeInfo.OrganizeInfoIcon;
                    }
                    talk.TalkContent = data.TalkContent;

                    if (data.TalkImagePath != null)
                    {
                        try
                        {
                            var           files    = Directory.GetFiles(Request.MapPath(data.TalkImagePath));
                            List <String> pathlist = new List <String>();
                            foreach (var file in files)
                            {
                                int i = file.LastIndexOf("\\");
                                pathlist.Add(data.TalkImagePath + file.Substring(i + 1));
                            }
                            talk.ImagePath = pathlist;
                        }
                        catch (Exception)
                        {
                        }
                    }
                    talk.UserInfoId = (int)data.UserInfoID;
                    if (LoginUser != null)
                    {
                        talk.Favors = FavorsService.GetEntities(u => u.TalkID == talk.TalkID && u.UserInfoID == LoginUser.UserInfoID).Count() > 0;
                    }
                    else
                    {
                        talk.Favors = false;
                    }
                    list.Add(talk);
                }
                return(Json(new { msg = "success", data = list }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { msg = "fail" }));
            }
        }
Ejemplo n.º 23
0
 public TalkPage(TalkViewModel recipient)
 {
     InitializeComponent();
     BindingContext = viewModel = recipient;
 }