예제 #1
0
        /// <summary>
        /// 新刊登存檔 - 教練刊登
        /// </summary>
        /// <param name="model"></param>
        /// <param name="userId"></param>
        public void SaveNewPost(NewPostToTeachModel model, string userId)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                StringBuilder sql = new StringBuilder();

                // 1.新增教練刊登主檔並取得新增的ID
                sql.AppendLine(@"
                    INSERT INTO CoachPost(CoachId, IsOpen, HopeStudentSex, Memo, CreateDate)
                    OUTPUT INSERTED.PostId
                    VALUES({0}, 'Y', {1}, {2}, GETDATE())
                ");
                int postId = dbConn.ExecuteQuery <int>(sql.ToString(), userId, model.HopeStudentSex, model.Memo ?? "").SingleOrDefault();

                // 2.加入地區關聯檔
                sql.Clear();
                sql.AppendLine(@"
                    INSERT INTO PostHopeArea(PostCharacter, PostId, AreaId)
                    SELECT 'Coach' AS PostCharacter, {0} AS PostId, COD AS AreaId
                    FROM dbo.fn_SPLIT({1}, ',')
                ");
                dbConn.ExecuteCommand(sql.ToString(), postId, model.HopeArea);

                // 3.加入學習類型關聯檔
                sql.Clear();
                sql.AppendLine(@"
                    INSERT INTO PostLearnType(PostCharacter, PostId, TypeId)
                    SELECT 'Coach' AS PostCharacter, {0} AS PostId, COD AS TypeId
                    FROM dbo.fn_SPLIT({1}, ',')
                ");
                dbConn.ExecuteCommand(sql.ToString(), postId, model.ToTeachType);

                scope.Complete();
            }
        }
예제 #2
0
 public JsonResult ToTeachPostSave(NewPostToTeachModel model)
 {
     using (PostDAC dac = new PostDAC())
     {
         try
         {
             dac.SaveNewPost(model, userId);
             return(Json("SUCCESS"));
         }
         catch
         {
             return(Json("存檔失敗"));
         }
     }
 }