Exemple #1
0
        /// <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);
        }
Exemple #2
0
 public ActivitysPage()
 {
     InitializeComponent();
     BindingContext = activityVM = new ActivitysViewModel(this);
     //NavigationPage.SetTitleIcon(this, "navIcon");
     Title = "Etkinlikler";
 }
Exemple #3
0
        /// <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);
            }
        }
Exemple #4
0
        /// <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);
                    }
                }
            }
        }