Пример #1
0
        public JsonResult ExpectPoint(MyExpectedListInfoModel.ExpectChangeModel ViewModel)
        {
            Int64 memberID = GetMemberID();
            MyPageJsonResultModel result = new MyPageJsonResultModel();

            result = MyPageCommon.UpdateExpectPoint(ViewModel, memberID);

            return Json(result, JsonRequestBehavior.AllowGet);
        }
Пример #2
0
        public static MyPageJsonResultModel UpdateExpectPoint(MyExpectedListInfoModel.ExpectChangeModel ViewModel, Int64 memberID)
        {
            int sportsID = ViewModel.SportsID;
            int gameID = ViewModel.GameID;
            int newExpectPoints = ViewModel.ExpectPoint;
            int oldExpectPoints = ViewModel.OldExpectPoint;
            MyPageJsonResultModel result = new MyPageJsonResultModel();

            string errMsg = "";
            errMsg = ValidChkInputPoint(ViewModel, memberID);

            if (errMsg != "")
            {
                result.HasError = true;
                result.Message = errMsg;

            }
            else
            {
                using (var dbContextTransaction = com.Database.BeginTransaction())
                {
                    try
                    {
                        if (gameID > 0 && memberID > 0)
                        {
                            var expectPointRecord = (from ep in com.ExpectPoint
                                                     join et in com.ExpectTarget
                                                     on ep.ExpectTargetID equals et.ExpectTargetID
                                                     join pt in com.Point
                                                     on ep.PointID equals pt.PointID
                                                     where et.UniqueID == gameID
                                                     && et.ClassClass == CLASSCLASS_GAME
                                                     && et.SportsID == sportsID
                                                     && pt.MemberID == memberID
                                                     select ep).FirstOrDefault();

                            if (expectPointRecord != null)
                            {
                                //TODO SituationStatus 要確認(!=2でなくていいの?)
                                expectPointRecord.SituationStatus = 1; // 1・・予想、2・・キャンセル、3・・中止、4・・結果確定

                                var newPHexpect = new PointHistory
                                {
                                    PointId = expectPointRecord.PointID,
                                    ExpectPointId = expectPointRecord.ExpectPointID,
                                    CampaignId = null,
                                    PointClass = 2, //1・・原資、2・・所持、3・・予想、4・・獲得、5・・精算
                                    Points = newExpectPoints,
                                    HistoryClass = 2,// 1・・付与、2・・予想、3・・獲得、4・・予想失敗、5・・精算、6・・キャンセル、7・・払い戻し、8・・失効
                                    AdjustmentClass = 2, // 1・・加算、2・・減算
                                    OperationClass = 1, // 1・・フロント、2・・バッチ、3・・バックオフィス
                                    Status = true, // 0・・エラー  1・・正常終了
                                    CreatedAccountID = memberID.ToString(),
                                    CreatedDate = DateTime.Now
                                };
                                com.PointHistory.Add(newPHexpect);
                                var newPHpossesion = new PointHistory
                                {
                                    PointId = expectPointRecord.PointID,
                                    ExpectPointId = expectPointRecord.ExpectPointID,
                                    CampaignId = null,
                                    PointClass = 3, //1・・原資、2・・所持、3・・予想、4・・獲得、5・・精算
                                    Points = newExpectPoints,
                                    HistoryClass = 2,// 1・・付与、2・・予想、3・・獲得、4・・予想失敗、5・・精算、6・・キャンセル、7・・払い戻し、8・・失効
                                    AdjustmentClass = 1, // 1・・加算、2・・減算
                                    OperationClass = 1, // 1・・フロント、2・・バッチ、3・・バックオフィス
                                    Status = true, // 0・・エラー  1・・正常終了
                                    CreatedAccountID = memberID.ToString(),
                                    CreatedDate = DateTime.Now
                                };

                                com.PointHistory.Add(newPHpossesion);

                                var upd_pt = (from pt in com.Point
                                              where pt.PointID == expectPointRecord.PointID
                                              && pt.MemberID == memberID
                                              select pt).FirstOrDefault();
                                if (upd_pt != null)
                                {
                                    upd_pt.PossesionPoint = upd_pt.PossesionPoint - (newExpectPoints - oldExpectPoints);
                                }
                                expectPointRecord.ExpectPoint1 = newExpectPoints;

                                com.SaveChanges();
                                dbContextTransaction.Commit();
                            }

                        }
                        else
                        {
                            result.HasError = true;
                            //Rollback transaction.
                            dbContextTransaction.Rollback();
                        }
                    }
                    catch (Exception)
                    {
                        // TODO:とりあえずログ出力
                        // JS呼出時の集約例外処理の対応後に集約例外処理へthrow,ここでのRollbackは行わないように修正する
                        result.HasError = true;
                        dbContextTransaction.Rollback();
                    }
                }
            }

            return result;
        }
Пример #3
0
        /// <summary>
        /// お知らせを既読にする処理
        /// </summary>
        /// <param name="managementnoticecount">現在表示しているレコード件数</param>
        /// <returns>Json形式のActionResult</returns>
        public ActionResult SetNoticeAlreadyRead(int noticeDeliverySubjectId)
        {
            MyPageJsonResultModel viewModel = new MyPageJsonResultModel();

            //お知らせを既読にする

            long memberId = 0;

            object currentUser = Session["CurrentUser"];
            if (currentUser != null && !String.IsNullOrEmpty(currentUser.ToString()))
                memberId = Convert.ToInt64(currentUser.ToString());

            if (memberId > 0)
            {
                using (var context = com.Database.BeginTransaction())
                {
                    try
                    {
                        var noticeDSubject = (from d in com.NoticeDeliverySubject
                                              where
                                               d.NoticeDeliverySubjectId == (long)noticeDeliverySubjectId && d.MemberId == memberId
                                              select d).FirstOrDefault();

                        // 既読フラグを立てる
                        if (noticeDSubject != null)
                        {
                            noticeDSubject.AlreadyReadFlg = MyPageConstant.ALREADY_READ;
                            // コミット
                            com.SaveChanges();
                            context.Commit();
                            // コミット後に件数を更新
                            int count = Utils.GetNumberOfUnreadNotice((int)memberId);
                            viewModel.Message = count.ToString();
                        }
                    }

                    catch (Exception ex)
                    {
                        context.Rollback();
                        viewModel.HasError = true;
                        throw ex;
                    }
                }
            }

            return Json(viewModel, JsonRequestBehavior.AllowGet);
        }
Пример #4
0
        public JsonResult UploadProfileImage()
        {
            MyPageJsonResultModel jsonResult = new MyPageJsonResultModel();

            string uploadDIr = "/Content/img/upload/member/";

            long memberID = long.Parse(Session["CurrentUser"].ToString());
            var member = (from m in com.Member
                          where m.MemberId == memberID
                          select m).FirstOrDefault();

            string rootPath = Server.MapPath("~" + uploadDIr);
            string directoryPath = System.IO.Path.GetFullPath(rootPath);

            if (System.IO.Directory.Exists(directoryPath))
                System.IO.Directory.CreateDirectory(directoryPath);

            foreach (string file in Request.Files)
            {
                HttpPostedFileBase postedFile = Request.Files[file] as HttpPostedFileBase;
                if (postedFile.ContentLength == 0)
                    continue;

                string[] exts = postedFile.FileName.Split('.');
                string ext = exts[exts.Length - 1];
                string imageFileName = Utils.MD5Hash(member.Nickname + DateTime.Now.Ticks.ToString()) + "." + ext;

                postedFile.SaveAs(directoryPath + imageFileName);

                //クライントがわで1写真しか送ってこない
                jsonResult.FilePath =uploadDIr +  imageFileName;
                break;

            }

            return Json(jsonResult, JsonRequestBehavior.AllowGet);
            //return RedirectToAction("Index", "MyPageSetting");
        }