Inheritance: Activity
Exemple #1
0
        public void Complete_ActivitySpecified_ActivityScheduled()
        {
            using (var context = new SimulationContext()){
                long waitTime = 10;
                var  activity = new MyActivity();

                var instruction = new ScheduleActivityInstruction(activity, waitTime);

                long?nextTimePeriod;
                bool canComplete = instruction.CanComplete(context, out nextTimePeriod);

                Assert.IsTrue(canComplete);
                Assert.IsNull(nextTimePeriod);

                instruction.Complete(context);

                context.MoveToTimePeriod(0);

                var process      = context.ActiveProcesses.FirstOrDefault(p => p is ActivityHostProcess);
                var activityHost = process as ActivityHostProcess;

                Assert.IsNotNull(process);
                Assert.IsNotNull(activityHost);

                Assert.AreEqual(waitTime, activityHost.WaitTime);
                Assert.AreEqual(activity, activityHost.Activity);
            }
        }
Exemple #2
0
        public IActionResult CreateActivity(MyActivity activity, string timetype)
        {
            int?UserID = HttpContext.Session.GetInt32("LogedUserID");

            if (UserID != null)
            {
                Person user = _context.Users.SingleOrDefault(u => u.UserID == UserID);

                if (ModelState.IsValid && activity.ActivityDate > DateTime.Now)
                {
                    activity.User      = user;
                    activity.Duration += " " + timetype;
                    _context.Add(activity);
                    user.myActivity.Add(activity);
                    _context.SaveChanges();
                }
                else
                {
                    if (activity.ActivityDate < DateTime.Now)
                    {
                        ViewBag.error = "Please enter a date in future";
                        return(View("AddNewActivity"));
                    }
                    return(View("AddNewActivity"));
                }
            }
            return(RedirectToAction("ActivityInfo", new{ id = activity.ActivityID }));
        }
Exemple #3
0
        public async Task <IActionResult> Edit(int id, [Bind("MyActivityId,ActivityDesp,CreationDate")] MyActivity myActivity)
        {
            if (id != myActivity.MyActivityId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(myActivity);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MyActivityExists(myActivity.MyActivityId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(myActivity));
        }
Exemple #4
0
        public IActionResult ActivityInfo(int id)
        {
            int?UserID = HttpContext.Session.GetInt32("LogedUserID");

            if (UserID != null)
            {
                Person user = _context.Users.SingleOrDefault(u => u.UserID == UserID);

                MyActivity activity = _context.Activities.Include(act => act.User).SingleOrDefault(act => act.ActivityID == id);
                if (activity == null)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                List <UserActivity> allUserActivities = _context.UsersActivities
                                                        .Include(userAct => userAct.User)
                                                        .Include(userAct => userAct.Activity)
                                                        .ToList();
                ViewBag.allUserActivities = allUserActivities;
                ViewBag.activity          = activity;
                ViewBag.user = user;

                return(View());
            }
            return(RedirectToAction("Index", "Home"));
        }
        public async Task <IActionResult> PostMyActivity([FromBody] MyActivity myActivity)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.MyActivities.Add(myActivity);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (MyActivityExists(myActivity.MyActivityId))
                {
                    return(new StatusCodeResult(StatusCodes.Status409Conflict));
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetMyActivity", new { id = myActivity.MyActivityId }, myActivity));
        }
        public async Task <IActionResult> PutMyActivity([FromRoute] int id, [FromBody] MyActivity myActivity)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != myActivity.MyActivityId)
            {
                return(BadRequest());
            }

            _context.Entry(myActivity).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MyActivityExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemple #7
0
        public async Task <IActionResult> Create([Bind("MyActivityId,ActivityDesp,CreationDate")] MyActivity myActivity)
        {
            if (ModelState.IsValid)
            {
                myActivity.CreationDate = DateTime.Now;
                _context.Add(myActivity);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(myActivity));
        }
        public async Task <IActionResult> GetMyActivity([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            MyActivity myActivity = await _context.MyActivities.SingleOrDefaultAsync(m => m.MyActivityId == id);

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

            return(Ok(myActivity));
        }
Exemple #9
0
        public IActionResult Join(int id)
        {
            // TempData["busy"] = "";
            int?UserID = HttpContext.Session.GetInt32("LogedUserID");

            if (UserID != null)
            {
                Person user = _context.Users.SingleOrDefault(u => u.UserID == UserID);

                MyActivity activity = _context.Activities.SingleOrDefault(act => act.ActivityID == id);

                UserActivity userActivity = new UserActivity()
                {
                    User     = user,
                    Activity = activity
                };

                List <UserActivity> otherActivities = _context.UsersActivities
                                                      .Include(uAct => uAct.User)
                                                      .Include(uAct => uAct.Activity)
                                                      .Where(uAct => uAct.User == user)
                                                      .ToList();

                bool busy = false;
                foreach (var act in otherActivities)
                {
                    if (act.Activity.ActivityDate == activity.ActivityDate)
                    {
                        busy = true;
                    }
                }
                if (busy)
                {
                    // TempData["busy"] = ":Looks like you already have something scheduled for this date";
                    return(RedirectToAction("Activities", "Home"));
                }

                user.UserActivity.Add(userActivity);
                activity.UserActivity.Add(userActivity);
                _context.Add(userActivity);
                _context.SaveChanges();
            }

            return(RedirectToAction("Activities", "Home"));
        }
Exemple #10
0
        public IActionResult Delete(int id)
        {
            int?UserID = HttpContext.Session.GetInt32("LogedUserID");

            if (UserID != null)
            {
                Person user = _context.Users.SingleOrDefault(u => u.UserID == UserID);

                MyActivity activity = _context.Activities.SingleOrDefault(act => act.ActivityID == id);

                if (activity.User == user)
                {
                    _context.Remove(activity);
                    _context.SaveChanges();
                }
            }
            return(RedirectToAction("Activities", "Home"));
        }
Exemple #11
0
 public broadCastReceiver(MyActivity act)
 {
     this.act = act;
 }
Exemple #12
0
        /// <summary>
        /// 获取我的活动
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        private string GetMyActivityList(HttpContext context)
        {
            int pageIndex = !string.IsNullOrEmpty(context.Request["pageindex"]) ? int.Parse(context.Request["pageindex"]) : 1;
            int pageSize = !string.IsNullOrEmpty(context.Request["pagesize"]) ? int.Parse(context.Request["pagesize"]) : 10;
            string activityStatus = context.Request["activityStatus"];//活动状态 即将开始 已签到 已结束 待支付

            List<ActivityDataInfo> signUpDataList = bllActivity.GetList<ActivityDataInfo>(string.Format(" (UserId='{0}' Or WeixinOpenID='{1}') And IsDelete=0", currentUserInfo.UserID, currentUserInfo.WXOpenId));
            string signUpActivityIds = "0";
            if (signUpDataList.Count > 0)
            {
                foreach (var item in signUpDataList)
                {
                    signUpActivityIds += item.ActivityID + ",";
                }

            }
            signUpActivityIds = signUpActivityIds.TrimEnd(',');
            List<JuActivityInfo> myJuActivityList = bllActivity.GetList<JuActivityInfo>(string.Format(" SignUpActivityId in({0})", signUpActivityIds));
            myJuActivityList = myJuActivityList.OrderByDescending(p=>p.ActivityStartDate).ToList();
            List<MyActivity> list = new List<MyActivity>();
            switch (activityStatus)
            {
                case "即将开始"://进行中的活动也包括在内
                    foreach (var item in myJuActivityList)
                    {
                        if (item.IsHide == 0 || (item.ActivityStartDate != null && ((DateTime)item.ActivityStartDate) > DateTime.Now))
                        {
                            MyActivity model = new MyActivity();
                            model.ActivityName = item.ActivityName;
                            model.ActivityImage = item.ThumbnailsPath;
                            model.Address = item.ActivityAddress;
                            model.IsFee = item.IsFee;
                            if (model.IsFee == 1)
                            {
                                model.PaymentStatus = signUpDataList.First(p => p.ActivityID == item.SignUpActivityID).PaymentStatus;
                                model.OrderId = signUpDataList.First(p => p.ActivityID == item.SignUpActivityID).OrderId;
                                if (!string.IsNullOrEmpty(model.OrderId))
                                {
                                    model.Amount = bllMall.GetOrderInfo(model.OrderId).TotalAmount;
                                }
                            }
                            model.StartTime = item.ActivityStartDate != null ? (item.ActivityStartDate.ToString()) : "";
                            model.StopTime = item.ActivityEndDate != null ? (item.ActivityEndDate.ToString()) : "";
                            model.JuactivityIdHex = item.JuActivityIDHex;
                            model.SignUpActivityID = item.SignUpActivityID;
                            model.ActivityStatus = item.ActivityStatus;
                            model.JuactivityId = item.JuActivityID;
                            list.Add(model);


                        }

                    }
                    break;
                case "已签到":
                    List<JuActivityInfo> mySignInJuactivityList = new List<JuActivityInfo>();
                    List<WXSignInInfo> signList = bllActivity.GetList<WXSignInInfo>(string.Format(" SignInUserID='{0}'", currentUserInfo.UserID));
                    foreach (var item in signList)
                    {
                        var signModel = myJuActivityList.SingleOrDefault(p => p.JuActivityID == item.JuActivityID);
                        if (signModel != null)
                        {
                            mySignInJuactivityList.Add(signModel);
                        }

                    }

                    foreach (var item in mySignInJuactivityList)
                    {

                        MyActivity model = new MyActivity();
                        model.ActivityName = item.ActivityName;
                        model.ActivityImage = item.ThumbnailsPath;
                        model.Address = item.ActivityAddress;
                        model.IsFee = item.IsFee;
                        if (model.IsFee == 1)
                        {
                            model.PaymentStatus = signUpDataList.First(p => p.ActivityID == item.SignUpActivityID).PaymentStatus;
                            model.OrderId = signUpDataList.First(p => p.ActivityID == item.SignUpActivityID).OrderId;
                            if (!string.IsNullOrEmpty(model.OrderId))
                            {
                                model.Amount = bllMall.GetOrderInfo(model.OrderId).TotalAmount;
                            }
                        }
                        model.StartTime = item.ActivityStartDate != null ? (item.ActivityStartDate.ToString()) : "";
                        model.StopTime = item.ActivityEndDate != null ? (item.ActivityEndDate.ToString()) : "";
                        model.JuactivityIdHex = item.JuActivityIDHex;
                        model.SignUpActivityID = item.SignUpActivityID;
                        model.ActivityStatus = item.ActivityStatus;
                        model.JuactivityId = item.JuActivityID;
                        list.Add(model);

                    }


                    break;
                case "已结束":
                    foreach (var item in myJuActivityList)
                    {
                        if ((item.ActivityEndDate != null && ((DateTime)item.ActivityEndDate) <= DateTime.Now) || item.IsHide == 1)
                        {
                            MyActivity model = new MyActivity();
                            model.ActivityName = item.ActivityName;
                            model.ActivityImage = item.ThumbnailsPath;
                            model.Address = item.ActivityAddress;
                            model.IsFee = item.IsFee;
                            if (model.IsFee == 1)
                            {
                                model.PaymentStatus = signUpDataList.First(p => p.ActivityID == item.SignUpActivityID).PaymentStatus;
                                model.OrderId = signUpDataList.First(p => p.ActivityID == item.SignUpActivityID).OrderId;
                                if (!string.IsNullOrEmpty(model.OrderId))
                                {
                                    model.Amount = bllMall.GetOrderInfo(model.OrderId).TotalAmount;
                                }
                            }
                            model.StartTime = item.ActivityStartDate != null ? (item.ActivityStartDate.ToString()) : "";
                            model.StopTime = item.ActivityEndDate != null ? (item.ActivityEndDate.ToString()) : "";
                            model.JuactivityIdHex = item.JuActivityIDHex;
                            model.SignUpActivityID = item.SignUpActivityID;
                            model.ActivityStatus = item.ActivityStatus;
                            model.JuactivityId = item.JuActivityID;
                            list.Add(model);


                        }

                    }

                    break;
                case "待支付":
                    signUpDataList = signUpDataList.Where(p => p.OrderId != "").Where(p => p.PaymentStatus == 0).ToList();
                    signUpActivityIds = "0";
                    if (signUpDataList.Count > 0)
                    {
                        foreach (var item in signUpDataList)
                        {
                            signUpActivityIds += item.ActivityID + ",";
                        }

                    }
                    signUpActivityIds = signUpActivityIds.TrimEnd(',');
                    myJuActivityList = bllActivity.GetList<JuActivityInfo>(string.Format(" SignUpActivityId in({0})", signUpActivityIds)).Where(p => p.IsFee == 1).ToList();
                    foreach (var item in myJuActivityList)
                    {

                        MyActivity model = new MyActivity();
                        model.ActivityName = item.ActivityName;
                        model.ActivityImage = item.ThumbnailsPath;
                        model.Address = item.ActivityAddress;
                        model.IsFee = item.IsFee;
                        if (model.IsFee == 1)
                        {
                            model.PaymentStatus = signUpDataList.First(p => p.ActivityID == item.SignUpActivityID).PaymentStatus;
                            model.OrderId = signUpDataList.First(p => p.ActivityID == item.SignUpActivityID).OrderId;
                            if (!string.IsNullOrEmpty(model.OrderId))
                            {
                                WXMallOrderInfo orderInfo = bllMall.GetOrderInfo(model.OrderId);
                                model.Amount = orderInfo.TotalAmount;
                                model.ItemName = orderInfo.Ex2;
                                model.ItemAmount = orderInfo.Ex3;
                            }

                        }
                        model.StartTime = item.ActivityStartDate != null ? (item.ActivityStartDate.ToString()) : "";
                        model.StopTime = item.ActivityEndDate != null ? (item.ActivityEndDate.ToString()) : "";
                        model.JuactivityIdHex = item.JuActivityIDHex;
                        model.SignUpActivityID = item.SignUpActivityID;
                        model.ActivityStatus = item.ActivityStatus;
                        model.JuactivityId = item.JuActivityID;
                        list.Add(model);


                    }
                    break;
                default:
                    break;
            }
            list = list.OrderBy(p=>p.ActivityStatus).ToList();
            list = list.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
            resp.Result = list;
            resp.IsSuccess = true;
            resp.Msg = "ok";
            return ZentCloud.Common.JSONHelper.ObjectToJson(resp);

        }