/// <summary> /// 在水道頁長出新增活動之後的上傳作業活動 /// </summary> /// <param name="eventId"></param> /// <param name="memberId"></param> /// <returns></returns> public ActivitysViewModel addPanelInfo(Guid eventId, int memberId) { var data = new ActivitysViewModel(); var db = _uow.DbContext; DateTime dt = DateTime.UtcNow; // 回傳給APP的物件 var me = db.Members.SingleOrDefault(x => x.Id == memberId); if (me != null) { data = new ActivitysViewModel() { Id = 0, CreatorAccount = me.Account, CreatorName = me.Name, ModuleKey = "upload", Created_Utc = dt, ReadMark = false, PositionMark = false, OuterKey = eventId }; } return(data); }
public ActivitysPage() { InitializeComponent(); BindingContext = activityVM = new ActivitysViewModel(this); //NavigationPage.SetTitleIcon(this, "navIcon"); Title = "Etkinlikler"; }
/// <summary> /// 顯示一張活動卡片 /// </summary> /// <param name="circleKey"></param> /// <param name="eventId"></param> /// <param name="type"></param> /// <param name="memberId"></param> /// <param name="isShowCard"></param> /// <returns></returns> public ActivitysViewModel SignalrResponse(string circleKey, Guid eventId, string type, int memberId, bool isShowCard) { var db = _uow.DbContext; var activityInfo = db.Activitys.Where(t => t.OuterKey == eventId && t.ToRoomId == circleKey).FirstOrDefault(); if (activityInfo != null) { try { var me = memberService.UserIdToAccount(memberId); activityInfo.CardisShow = true; //更新狀態為顯示卡片 db.SaveChanges(); DateTime dt = DateTime.UtcNow; var rtn = new ActivitysViewModel() { Id = activityInfo.Id, sOuterKey = Utility.OuterKeyHelper.GuidToPageToken(eventId), CreatorAccount = me.Account, CreatorName = me.Name, CreatorPhoto = me.Photo, ModuleKey = type, Created_Utc = dt, ReadMark = false, PositionMark = false, OuterKey = eventId, ToRoomId = circleKey.ToLower(), Publish_Utc = activityInfo.Publish_Utc }; return(rtn); } catch (Exception ex) { return(null); throw ex; } } else { return(null); } }
/// <summary> /// 發起一個訊息活動 /// </summary> /// <param name="learningId"></param> /// <param name="memberId"></param> /// <param name="key"></param> /// <param name="duration"></param> /// <param name="name"></param> /// <returns></returns> public ActivitysViewModel Insert(string circleKey, int circleId, int memberId, string type, string text) { using (var db = _uow.DbContext) { using (var dbTransaction = db.Database.BeginTransaction()) { try { var dt = DateTime.UtcNow; var eventId = Guid.NewGuid(); var actMessageEntity = new Infrastructure.Entity.ActMessage() { Content = text, Created = TimeData.Create(dt), Updated = TimeData.Create(null), Deleted = TimeData.Create(null), CreateUser = memberId, EventId = eventId, LearningId = circleId, Type = "text", Visibility = true }; var activityEntity = new Infrastructure.Entity.Activitys() { CardisShow = true, Created = TimeData.Create(dt), Updated = TimeData.Create(null), Deleted = TimeData.Create(null), CreateUser = memberId, IsActivity = true, ModuleKey = ModuleType.Message, Publish_Utc = dt, ToRoomId = circleKey, StartDate = dt, OuterKey = eventId }; db.ActMessage.Add(actMessageEntity); db.Activitys.Add(activityEntity); var memberService = new MemberService(); var memberInfo = memberService.UserIdToAccount(memberId); var sOuterKey = Utility.OuterKeyHelper.GuidToPageToken(eventId); var data = new ActivitysViewModel() { Publish_Utc = dt, Created_Utc = dt, CreatorAccount = memberInfo.Account, CreatorName = memberInfo.Name, CreatorPhoto = memberInfo.Photo, ModuleKey = ModuleType.Message, OuterKey = eventId, Text = text, ToRoomId = circleKey, sOuterKey = sOuterKey }; db.SaveChanges(); dbTransaction.Commit(); return(data); } catch (Exception ex) { var msg = ex.Message; dbTransaction.Rollback(); return(null); } } } }