예제 #1
0
        private void SaveEditBoard(HttpContext context)
        {
            string name    = context.Request.Params["name"].Trim();
            int    boardid = int.Parse(context.Request.Params["boardid"]);

            Data.dbml.Boards b = GetDataContext2.Boards.FirstOrDefault(o => o.Name == name && o.UserID == Common.UserID && o.ID != boardid);
            if (b != null)
            {
                context.Response.WriteError(strings.ErrSameBoardName);
            }
            else
            {
                int    cat      = int.Parse(context.Request.Params["catid"]);
                JArray removebc = JArray.Parse(context.Request.Params["removebc"]);
                JArray bc       = JArray.Parse(context.Request.Params["bc"]);
                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        foreach (JObject obj in removebc)
                        {
                            GetDataContext3.DeleteBoardContributor((string)obj["Email"], boardid).Execute();
                        }
                        foreach (JObject obj in bc)
                        {
                            GetDataContext3.AddBoardContributor((string)obj["Email"], boardid).Execute();
                        }
                        SubSonic.POCOS.Board board = GetDataContext3.Boards.Single(o => o.ID == boardid);
                        board.CatID = cat;
                        board.Name  = name;
                        board.Save();
                        ts.Complete();
                    }
                    catch (Exception ex)
                    {
                        context.Response.WriteError(ex.Message);
                    }
                    finally
                    {
                        ts.Dispose();
                    }
                }
            }
        }
예제 #2
0
 private void Cat(HttpContext context)
 {
     using (TransactionScope scope = new TransactionScope())
     {
         try
         {
             int  catid    = int.Parse(context.Request.Params["catid"]);
             int  imageId  = int.Parse(context.Request.Params["imageId"]);
             bool _checked = bool.Parse(context.Request.Params["checked"]);
             if (_checked)
             {
                 GetDataContext2.CategoryImagesMapping.InsertOnSubmit(new Data.dbml.CategoryImagesMapping()
                 {
                     ImageID    = imageId,
                     CategoryID = catid,
                     UserID     = Common.UserID
                 });
             }
             else
             {
                 var query = GetDataContext2.CategoryImagesMapping.Where(o => o.CategoryID == catid && o.ImageID == imageId);
                 GetDataContext2.CategoryImagesMapping.DeleteAllOnSubmit(query);
             }
             GetDataContext2.SubmitChanges();
             GetDataContext3.SetTaggedFlag(imageId);
             scope.Complete();
         }
         catch (Exception e)
         {
             throw;
         }
         finally
         {
             scope.Dispose();
         }
     }
 }