public async Task <IActionResult> Create(CreateViewModel vm) { if (vm.StartDate < DateTime.Now) { ModelState.AddModelError("StartDate", "Date must be in future!"); vm.Doctors = await _userService.GetDoctorsForSpecialityExcludingDoctor(vm.Speciality); return(View(vm)); } if (ModelState.IsValid) { vm.StartDate = vm.StartDate.AddHours(2); var visit = vm.ConvertToDataModel(); visit.Patient = await _userService.GetById(vm.PatientId); visit.Doctor = await _userService.GetById(vm.DoctorId); await _visitService .CreateVisit(visit); return(RedirectToAction("Index")); } vm.Doctors = await _userService.GetDoctorsForSpecialityExcludingDoctor(vm.Speciality); return(View(vm)); }
/// <summary> /// 资讯详情页 /// </summary> public ActionResult ContentItemDetail(long contentItemId) { ContentItem contentItem = contentItemService.Get(contentItemId); if (contentItem == null || contentItem.User == null) { return(HttpNotFound()); } //验证是否通过审核 long currentSpaceUserId = UserIdToUserNameDictionary.GetUserId(contentItem.User.UserName); if (!authorizer.IsAdministrator(CmsConfig.Instance().ApplicationId) && contentItem.UserId != currentSpaceUserId && (int)contentItem.AuditStatus < (int)(new AuditService().GetPubliclyAuditStatus(CmsConfig.Instance().ApplicationId))) { return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel { Title = "尚未通过审核", Body = "由于当前资讯尚未通过审核,您无法浏览当前内容。", StatusMessageType = StatusMessageType.Hint }))); } AttachmentService <Attachment> attachmentService = new AttachmentService <Attachment>(TenantTypeIds.Instance().ContentItem()); //更新浏览计数 CountService countService = new CountService(TenantTypeIds.Instance().ContentItem()); countService.ChangeCount(CountTypes.Instance().HitTimes(), contentItem.ContentItemId, contentItem.UserId, 1, true); if (UserContext.CurrentUser != null) { //创建访客记录 VisitService visitService = new VisitService(TenantTypeIds.Instance().ContentItem()); visitService.CreateVisit(UserContext.CurrentUser.UserId, UserContext.CurrentUser.DisplayName, contentItem.ContentItemId, contentItem.Title); } //设置SEO信息 pageResourceManager.InsertTitlePart(contentItem.Title); List <string> keywords = new List <string>(); keywords.AddRange(contentItem.TagNames); string keyword = string.Join(" ", keywords.Distinct()); keyword += " " + string.Join(" ", ClauseScrubber.TitleToKeywords(contentItem.Title)); pageResourceManager.SetMetaOfKeywords(keyword); pageResourceManager.SetMetaOfDescription(contentItem.Summary); return(View(contentItem)); }
public IHttpActionResult Post(VisitCreate model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } VisitService service = CreateVisitService(); if (service.CreateVisit(model)) { return(Ok()); } return(InternalServerError()); }
/// <summary> /// 群组空间主页 /// </summary> /// <param name="spaceKey">群组标识</param> /// <returns></returns> public ActionResult Home(string spaceKey) { GroupEntity group = groupService.Get(spaceKey); //已修改 if (group == null) { return(HttpNotFound()); } IEnumerable <ApplicationBase> applications = applicationService.GetInstalledApplicationsOfOwner(PresentAreaKeysOfBuiltIn.GroupSpace, group.GroupId); //这里先判断group是否为空,再插入了群组名 pageResourceManager.InsertTitlePart(group.GroupName); //浏览计数 new CountService(TenantTypeIds.Instance().Group()).ChangeCount(CountTypes.Instance().HitTimes(), group.GroupId, group.UserId); //1.为什么匿名用户就不让访问? //2.这里有个大问题,私密群组应该不允许非群组成员访问, //可以参考Common\Mvc\Attributes\UserSpaceAuthorizeAttribute.cs,在Group\Extensions\增加一个GroupSpaceAuthorizeAttribute //3.当设置为私密群组并且允许用户申请加入时,应允许用户浏览群组首页,但只能看部分信息,具体需求可找宝声确认; //当前用户 IUser user = UserContext.CurrentUser; if (user != null) { //ok,传递这些结果可以吗? //已修改 //这样做很不好,直接用Authorizer bool isMember = groupService.IsMember(group.GroupId, user.UserId); visitService.CreateVisit(user.UserId, user.DisplayName, group.GroupId, group.GroupName); ViewData["isMember"] = isMember; } ViewData["isPublic"] = group.IsPublic; TempData["GroupMenu"] = GroupMenu.Home; ViewData["applications"] = applications; return(View(group)); }
/// <summary> /// 专题空间主页 /// </summary> /// <param name="spaceKey">专题标识</param> /// <returns></returns> public ActionResult Home(string spaceKey) { TopicEntity topic = topicService.Get(spaceKey); //已修改 if (topic == null) { return(HttpNotFound()); } IEnumerable <ApplicationBase> applications = applicationService.GetInstalledApplicationsOfOwner(PresentAreaKeysOfExtension.TopicSpace, topic.TopicId); //这里先判断topic是否为空,再插入了专题名 pageResourceManager.InsertTitlePart(topic.TopicName); //浏览计数 new CountService(TenantTypeIds.Instance().Topic()).ChangeCount(CountTypes.Instance().HitTimes(), topic.TopicId, topic.UserId); //1.为什么匿名用户就不让访问? //2.这里有个大问题,私密专题应该不允许非专题成员访问, //可以参考Common\Mvc\Attributes\UserSpaceAuthorizeAttribute.cs,在topic\Extensions\增加一个topicSpaceAuthorizeAttribute //3.当设置为私密专题并且允许用户申请加入时,应允许用户浏览专题首页,但只能看部分信息,具体需求可找宝声确认; //当前用户 IUser user = UserContext.CurrentUser; if (user != null) { //ok,传递这些结果可以吗? //已修改 //这样做很不好,直接用Authorizer bool isMember = topicService.IsMember(topic.TopicId, user.UserId); visitService.CreateVisit(user.UserId, user.DisplayName, topic.TopicId, topic.TopicName); ViewData["isMember"] = isMember; } ViewData["isPublic"] = topic.IsPublic; TempData["TopicMenu"] = TopicMenu.Home; ViewData["applications"] = applications; return(View(topic)); }