// GET: Conditions public async Task <ActionResult> Index(int id) { await LoadViewBag(); IReadWriteRepository <ServiceData.Models.UserCondition> _condRepository = new UserConditionsRepository(); ServiceData.Models.UserCondition found = _condRepository.GetById(id); if (found == null) { return(new HttpNotFoundResult()); } IReadWriteRepository <ServiceData.Models.Share> _shareRepository = new ShareRepository(); ServiceData.Models.Share sh = _shareRepository.Search(s => s.UserCondition.Id == id && s.SharedEmail == User.Identity.Name && s.ExpireDate > DateTime.UtcNow).FirstOrDefault(); if (found.Owner.Email != User.Identity.Name && sh == null) { return(new HttpUnauthorizedResult()); } // Has been shared with the user (potentially themself but meh) if (sh != null) { sh.Updated = false; _shareRepository.Update(sh); ViewData["Title"] = string.Format("{0}'s {1}", found.Owner.Name, found.Condition); } else { ViewData["Title"] = found.Condition; } Models.UserCondition cond = Models.UserCondition.ToAppModel(found, true); ViewData["Condition"] = cond; return(View(cond.Photos)); }
public void Update(ShareModel entity) { _repository.Update(entity); }