コード例 #1
0
ファイル: CardModel.cs プロジェクト: oumepurc/umekouhp
        //================================================================
        //データ削除処理  
        //================================================================
        public bool remove(int id, ref string resErrMsg)
        {
            DateTime regDate = DateTime.Now;
            bool     result  = false;

            try
            {
                using (umekoudbDataContext dc = new umekoudbDataContext())
                {
                    using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
                    {
                        var deleteItems = (from o in dc.GetTable <card_t>() where o.id == id select o);
                        if (deleteItems.Count() == 0)
                        {
                            resErrMsg = "削除しようとしたデータはすでに存在しませんでした";
                            return(false);
                        }
                        card_t deleteItem = deleteItems.Single();

                        //データ削除
                        dc.GetTable <card_t>().DeleteOnSubmit(deleteItem);
                        dc.SubmitChanges();
                        ts.Complete();
                    }
                }

                result = true;
            }
            catch (Exception e)
            {
                resErrMsg = e.Message;
                result    = false;
            }
            return(result);
        }
コード例 #2
0
        /// <summary>
        /// 导入数据
        /// </summary>
        /// <param name="list"></param>
        /// <returns></returns>
        public string ImportProCateData(List <SupplierEntity> list)
        {
            string msg = "";

            try
            {
                foreach (var entity in list)
                {
                    entity.IncludeAll();
                }
                var all = this.Supplier.GetList();
                if (all == null)
                {
                    all = new List <SupplierEntity>();
                }
                var ids = (from i in all select i.ID).ToList();
                using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
                {
                    this.Supplier.Delete(ids);
                    //先删除在添加
                    this.Supplier.Add(list);
                    ts.Complete();
                }
                CacheHelper.Remove(CacheKey.JOOSHOW_PRODUCT_CACHE);
            }
            catch (Exception ex)
            {
                msg = ex.Message;
            }

            return(msg);
        }
コード例 #3
0
        /// <summary>执行异步添加往来账
        /// </summary>
        /// <param name="readCount"></param>
        public void RunAsynAddTask(int readCount)
        {
            var asynList = _reckoningDao.GetAsynList(readCount);

            foreach (var asynInfo in asynList)
            {
                if (asynInfo.ReckoningFromType == Enum.ASYN.ASYNReckoningFromType.CompleteOrder.ToString())
                {
                    using (var tran = new System.Transactions.TransactionScope())
                    {
                        var orderInfo = _goodsOrder.GetGoodsOrder(asynInfo.IdentifyId);
                        if (orderInfo == null)
                        {
                            continue;
                        }
                        var    orderDetailList = _goodsOrderDetail.GetGoodsOrderDetailByOrderId(asynInfo.IdentifyId);
                        string errorMessage;
                        var    success = AddByCompleteOrder(orderInfo, orderDetailList, out errorMessage);
                        if (!success)
                        {
                            SAL.LogCenter.LogService.LogError(string.Format("异步添加往来帐失败! IdentifyId={0} {1}", asynInfo.IdentifyId, errorMessage), "往来账管理");
                            continue;
                        }
                        var successDel = _reckoningDao.DeleteAsyn(asynInfo.ID);
                        if (!successDel)
                        {
                            SAL.LogCenter.LogService.LogError(string.Format("删除异步往来帐数据失败! ID={0}", asynInfo.ID), "往来账管理");
                            continue;
                        }
                        tran.Complete();
                    }
                }
            }
        }
コード例 #4
0
        /// <summary>
        /// 复制角色应用
        /// </summary>
        /// <param name="fromID"></param>
        /// <param name="toID"></param>
        /// <returns></returns>
        public bool CopyRoleApp(Guid fromID, Guid toID)
        {
            var toRole = new Role().Get(toID);

            if (toRole == null)
            {
                return(false);
            }
            using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
            {
                DeleteByRoleID(toID);//先删除要复制的角色
                var apps = GetAllByRoleID(fromID);
                var root = apps.Find(p => p.ParentID == Guid.Empty);
                if (root != null)
                {
                    Guid fID = root.ID;
                    root.ID     = Guid.NewGuid();
                    root.RoleID = toID;
                    Add(root);
                    insertChilds(fID, root.ID, toID, apps);
                }
                scope.Complete();
                return(true);
            }
        }
コード例 #5
0
        public static void AddOrderInTransactionScope()
        {
            Console.WriteLine("Adding two orders using TransactionScope...");
            using (NorthwindEntities northwindEntities = new NorthwindEntities())
            {
                Order firstOrder = new Order();
                firstOrder.CustomerID = "TOMSP";
                firstOrder.ShipName = "First Order Ship Name";
                Order secondOrder = new Order();
                secondOrder.CustomerID = "OCEAN";
                secondOrder.ShipName = "Second Order Ship Name";

                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                {
                    northwindEntities.Orders.Add(firstOrder);
                    northwindEntities.SaveChanges();

                    northwindEntities.Orders.Add(secondOrder);
                    northwindEntities.SaveChanges();

                    scope.Complete();
                }

                firstOrder = northwindEntities.Orders.Find(firstOrder.OrderID);
                secondOrder = northwindEntities.Orders.Find(secondOrder.OrderID);
                Console.WriteLine("FirstOrder.ShipName={0}, SecondOrder.ShipName={1}", firstOrder.ShipName, secondOrder.ShipName);
            }
        }
コード例 #6
0
 public int ManageDelete(Guid id)
 {
     using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
     {
         try
         {
             EnterpriseBLL enterpriseBLL = new EnterpriseBLL();
             #region 企业搬出
             BaseDb.Delete(id);
             //更新流程中的企业
             enterpriseBLL.MangeDelete(id);
             //new EnterpriseUpdateRecordBLL().MangeDeleteByEnterpriseID(id);变更记录不需要删。
             new EnterpriseTaxBLL().ManageDeleteByEnterpriseID(id);
             #endregion
             scope.Complete();
         }
         catch (Exception ex)
         {
             string       path = "D://log.txt";
             StreamWriter mySw = File.AppendText(path);
             mySw.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + " EnterpriseAndEnterpriseTaxBLL.ManageDelete:" + ex.Message);
             //关闭日志文件
             mySw.Close();
             return(0);
         }
     }
     return(1);
 }
コード例 #7
0
ファイル: UtilTools.cs プロジェクト: mukeshrebari/MQAdapter
        /// <summary>
        /// MergeSetsAndDoAction
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="uIPrivilegeIds">The u i privilege ids.</param>
        /// <param name="dbPrivilegeIDs">The database privilege i ds.</param>
        /// <param name="delAction">The delete action.</param>
        /// <param name="createAction">The create action.</param>
        /// <example><code>
        /// [Fact]
        ///public void MergePrivilegeIdsTests()
        ///{
        ///    var dbPrivilegeIDs = new int[] { 23, 1, 2, 3, 5, 6 };
        ///    var uIPrivilegeIDs = new int[] { 1, 2, 3, 5, 6 };
        ///    UtilTools.MergeSetsAndDoAction<int>(uIPrivilegeIDs, dbPrivilegeIDs, delSets =>
        ///    {
        ///        delSets.ToList().ForEach(dd => Console.WriteLine("for delete {0}", dd));
        ///    }
        ///     , createSets =>
        ///     {
        ///         createSets.ToList().ForEach(dd => Console.WriteLine("for add {0}", dd));
        ///     });
        ///}
        /// [Fact]
        ///public void TestToWithSameList()
        ///{
        ///    var dbPrivilegeIDs = new int[] { 23, 1, 2, 3, 5, 6 };
        ///    var uIPrivilegeIDs = new int[] { 23, 1, 2, 3, 5, 6 };
        ///    var DifferencesList = dbPrivilegeIDs.Where(x => !uIPrivilegeIDs.Any(x1 => x1 == x))
        ///                .Union(uIPrivilegeIDs.Where(x => !dbPrivilegeIDs.Any(x1 => x1 == x)));
        ///    Assert.True(DifferencesList.Count() == 0);
        ///}
        ///}
        /// </code></example>
        public static bool MergeSetsAndDoAction <T>(T[] uIPrivilegeIds, T[] dbPrivilegeIDs, Action <HashSet <T> > delAction, Action <HashSet <T> > createAction)
        {
            bool flag            = false;
            var  uIPrivilegeSets = new HashSet <T>(uIPrivilegeIds);
            var  dbPrivilegeSets = new HashSet <T>(dbPrivilegeIDs);

            uIPrivilegeSets.SymmetricExceptWith(dbPrivilegeSets);
            //uIPrivilegeIDs.ToList().ForEach(dd => Console.WriteLine(dd));

            dbPrivilegeSets.IntersectWith(uIPrivilegeSets);
            // dbPrivilegeIDs.ToList().ForEach(dd => Console.WriteLine("for delete {0}", dd));
            using (var tsCope = new System.Transactions.TransactionScope())
            {
                //delete action
                if (dbPrivilegeSets.Count != 0)
                {
                    delAction(dbPrivilegeSets);

                    uIPrivilegeSets.ExceptWith(dbPrivilegeSets);
                }

                //add action
                if (uIPrivilegeSets.Count != 0)
                {
                    createAction(uIPrivilegeSets);
                }
                tsCope.Complete();
            }
            flag = true;
            return(flag);
        }
コード例 #8
0
        public ActionResult reject(int id)
        {
            int wfpid = id;

            //2.0 修改id对应的数据 中的 处理状态为 拒绝 处理理由,ext1字段为当前登录用户的uid
            string msg = Request.Form["msg"];

            if (msg.IsEmpty())
            {
                return(WriteError("处理理由非空"));
            }

            var process = processSer.QueryWhere(c => c.wfPID == wfpid).FirstOrDefault();

            if (process.wfRFStatus != (int)Enums.ERequestFormStatus.Processing)
            {
                return(WriteError("此单已经被您处理,请勿重复处理"));
            }

            //2.0 对实体进行更新操作
            process.wfRFStatus     = (int)Enums.ERequestFormStatus.Reject;
            process.wfPDescription = msg;
            process.wfPExt1        = UserMgr.GetCurrentUserInfo().uID.ToString();

            var endNode = process.wfWorkNodes.wfWork.wfWorkNodes.OrderBy(c => c.wfnOrderNo).LastOrDefault();

            //3.0 增加一条结束数据
            wfProcess endProcess = new wfProcess()
            {
                fUpdateTime    = DateTime.Now,
                fCreateTime    = DateTime.Now,
                fCreatorID     = UserMgr.GetCurrentUserInfo().uID,
                wfPExt1        = UserMgr.GetCurrentUserInfo().uID.ToString(),
                wfPDescription = "申请单已经结束",
                wfRFStatus     = (int)Enums.ERequestFormStatus.Pass,
                wfRFID         = process.wfRFID,
                wfnID          = endNode.wfnID
            };

            //新增一条结束明细数据
            processSer.Add(endProcess);

            //4.0 将当前提交单的状态修改拒绝状态
            wfRequestForm rfmodel = new wfRequestForm()
            {
                wfRFID     = process.wfRFID,
                wfRFStatus = (int)Enums.ERequestFormStatus.Reject
            };

            requestformSer.Edit(rfmodel, new string[] { "wfRFStatus" });

            using (System.Transactions.TransactionScope scop = new System.Transactions.TransactionScope())
            {
                processSer.SaveChanges();

                scop.Complete();
            }

            return(WriteSuccess("申请单已经拒绝"));
        }
コード例 #9
0
        private static void editTitle(int index)
        {
            Task.Run(() =>
            {
                try
                {
                    Console.WriteLine("Start before " + index);
                    using (var trans = new System.Transactions.TransactionScope())
                    {
                        Console.WriteLine("Starting " + index);
                        using (var db = new IntelEntities())
                        {
                            var item     = db.tContents.FirstOrDefault();
                            item.CNTitle = item.CNTitle + "|" + index;
                            db.SaveChanges();
                            Console.WriteLine("Saved " + index);
                        }

                        Thread.Sleep(200);
                        trans.Complete();
                        Console.WriteLine("Completed " + index);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error " + index + " " + ex.Message);
                }
            });
        }
コード例 #10
0
ファイル: MainForm.cs プロジェクト: wctang/gxxf
        private void btnCustomerDelete_Click(object sender, EventArgs e)
        {
            DataRowView drv = (DataRowView)customerBindingSource.Current;
            if (drv == null)
                return;

            DataRow dr = drv.Row;
            if (MessageBox.Show("確定要刪除顧客 " + DrGetStr(dr, gxxfDataSet.Customer.CustomerNameColumn) + " 和其所有的訂單?", "刪除顧客", MessageBoxButtons.YesNo) != DialogResult.Yes)
                return;
            if (!checkPassword())
                return;

            using (System.Transactions.TransactionScope updateTransaction = new System.Transactions.TransactionScope()) {
                String cid = DrGetStr(dr, this.gxxfDataSet.Customer.customeridColumn);

                dr.Delete();
                customerTableAdapter.Update(dr);

                DataRow[] rows = gxxfDataSet.Ticket.Select("CustomerId = '" + cid + "'");
                foreach (DataRow r in rows) {
                    deleteTicket(r);
                }

                updateTransaction.Complete();
            }
            MessageBox.Show("刪除成功");
        }
コード例 #11
0
        /// <summary>
        /// 提交流程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnApply_Click(object sender, EventArgs e)
        {
            try
            {
                using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
                {
                    using (BizDataContext db = new BizDataContext())
                    {
                        //保存表单实例得到FormInstanceId
                        int fiId = this.formPreview.SaveFormInstance(db);

                        //提交流程
                        string processName = (sender as LinkButton).CommandArgument;
                        Drision.Framework.WorkflowEngineCore.EngineProxy proxy = new WorkflowEngineCore.EngineProxy(db);
                        proxy.StartProcess(processName, this.LoginUserID, fiId);
                    }
                    ts.Complete();
                }
                this.AjaxAlertAndRedirect("提交成功", "FormInstanceQuery.aspx");
            }
            catch (Exception ex)
            {
                this.AjaxAlertAndEnableButton(ex);
            }
        }
コード例 #12
0
ファイル: Organize.cs プロジェクト: uming45/RoadFlow
        /// <summary>
        /// 删除一个机构及其所有下级(包括下级人员)
        /// </summary>
        /// <param name="orgID"></param>
        /// <returns></returns>
        public int DeleteAndAllChilds(Guid orgID)
        {
            int i = 0;

            using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
            {
                UsersRelation bur      = new UsersRelation();
                Users         user     = new Users();
                UsersInfo     userInfo = new UsersInfo();
                var           childs   = GetAllChilds(orgID);
                foreach (var child in childs)
                {
                    //删除人员及关系
                    var urs = bur.GetAllByOrganizeID(child.ID);
                    foreach (var ur in urs)
                    {
                        bur.Delete(ur.UserID, ur.OrganizeID);
                        user.Delete(ur.UserID);
                        i += userInfo.Delete(ur.UserID);
                    }
                    i += Delete(child.ID);
                }
                //删除人员及关系
                var urs1 = bur.GetAllByOrganizeID(orgID);
                foreach (var ur in urs1)
                {
                    bur.Delete(ur.UserID, ur.OrganizeID);
                    user.Delete(ur.UserID);
                    i += userInfo.Delete(ur.UserID);
                }
                i += Delete(orgID);
                scope.Complete();
            }
            return(i);
        }
コード例 #13
0
        public void RecommendAFriend(int referrerId, NewAccount friendsAccountDetails)
        {
            Validate(friendsAccountDetails);

            using (var transaction = new System.Transactions.TransactionScope())
            {
                try
                {
                    var referrer = customerDirectory.Find(referrerId);
                    var friend = customerDirectory.Add(friendsAccountDetails);
                    referAFriendPolicy.Apply(referrer, friend);

                    transaction.Complete();

                    var msg = new CustomerRegisteredViaReferralPolicy
                    {
                        ReferrerId = referrerId,
                        FriendId = friend.Id
                    };
                    bus.Publish(msg);

                }
                catch (ReferralRejectedDueToLongTermOutstandingBalance)
                {
                    var msg = new ReferralSignupRejected
                    {
                        ReferrerId = referrerId,
                        FriendEmail = friendsAccountDetails.Email,
                        Reason = "Referrer has long term outstanding balance"
                    };
                    bus.Publish(msg);
                }
            }
        }
コード例 #14
0
 public static List<Media_Albums> GetActiveListByTypeIdFixedNum(int TypeId, int iTotalItemCount)
 {
     using (System.Transactions.TransactionScope transScope = new System.Transactions.TransactionScope())
     {
         List<Media_Albums> lst = new List<Media_Albums>();
         using (MediaEntities dbContext = new MediaEntities())
         {
             try
             {
                 dbContext.CommandTimeout = 216000;
                 var query = from x in dbContext.Media_Albums where x.Status =="1" && x.TypeId ==TypeId orderby x.AlbumId descending select x;
                 int TotalItemCount = 0;
                 if (query.Count() > 0)
                 {
                     if (iTotalItemCount <= query.Count())
                         TotalItemCount = iTotalItemCount;
                     else
                         TotalItemCount = query.Count();
                 }                        
                 lst = query.Take(TotalItemCount).ToList();
                 transScope.Complete();
             }catch(Exception  ex){ex.InnerException.Message.ToString();}
             finally
             {
                 if (dbContext.Connection.State != System.Data.ConnectionState.Closed)                       
                     dbContext.Connection.Close();                       
             }
             return lst;
         }                
     }
 }
コード例 #15
0
ファイル: ShoppingCart.cs プロジェクト: SzymonPobiega/Glimpse
        public void AddToCart(Album album)
        {
            using (var scope = new System.Transactions.TransactionScope())
            {
                // Get the matching cart and album instances
                var cartItem = storeDB.Carts.SingleOrDefault(c => c.CartId == ShoppingCartId && c.AlbumId == album.AlbumId);

                if (cartItem == null)
                {
                    // Create a new cart item if no cart item exists
                    cartItem = new Cart
                    {
                        AlbumId = album.AlbumId,
                        CartId = ShoppingCartId,
                        Count = 1,
                        DateCreated = DateTime.Now
                    };

                    storeDB.Carts.Add(cartItem);
                }
                else
                {
                    // If the item does exist in the cart, then add one to the quantity
                    cartItem.Count++;
                }

                // Save changes
                storeDB.SaveChanges();

                scope.Complete();
            }
        }
コード例 #16
0
 public static void AddSubscriber(Guid clientKey, string[] fixMsgsTypes, string callbackQueue)
 {
     lock (m_sessions)
     {
         if (!m_sessions.ContainsKey(clientKey))
         {
             string msgTypesString = string.Empty;
             foreach (string msgType in fixMsgsTypes)
             {
                 msgTypesString += string.Format("{0},", msgType);
                 if (!m_fixMsgType_SubscribersKeys.ContainsKey(msgType))
                 {
                     m_fixMsgType_SubscribersKeys.Add(msgType, new List <Guid>());
                 }
                 if (!m_fixMsgType_SubscribersKeys[msgType].Contains(clientKey))
                 {
                     m_fixMsgType_SubscribersKeys[msgType].Add(clientKey);
                 }
             }
             msgTypesString = msgTypesString.Remove(msgTypesString.Length - 1, 1);
             using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
             {
                 DateTime        dtNow = DateTime.Now;
                 DatabaseMethods db    = new DatabaseMethods();
                 db.AddReplicationSessionSubscriber(clientKey, msgTypesString, callbackQueue, dtNow);
                 m_sessions.Add(clientKey, new ReplicatedSessionSubscriberDetails()
                 {
                     SessionRemoteQueue = new MessageQueue(callbackQueue), SubscribedFixMsgsTypes = fixMsgsTypes, LastHeartBeatRequest = dtNow, LastHeartBeatResponse = dtNow, QueuePath = callbackQueue, SubscriberKey = clientKey, SubscriptionDateTime = dtNow
                 });
                 ts.Complete();
             }
         }
     }
 }
コード例 #17
0
 public ActionResult ConfirmMail([Bind(Exclude = "AuthCode")] string uid, UserInfo userinfo)
 {
     try
     {
         using (System.Transactions.TransactionScope transaction = new System.Transactions.TransactionScope())
         {
             userinfo = db.UserInfo.FirstOrDefault(p => p.Uid == uid);
             userinfo.Email = Request["newmail"];
             userinfo.AuthCode = Guid.NewGuid().ToString();
             UpdateModel(userinfo);
             db.SubmitChanges();
             System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient("smtp.qq.com", 25);
             sc.Credentials = new System.Net.NetworkCredential("342354548", "0oO0oO");
             sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
             string verify_url = new Uri(Request.Url, System.Web.Routing.RouteTable.Routes.GetVirtualPath
                 (Request.RequestContext, new System.Web.Routing.RouteValueDictionary
                     (new { action = "Verify", authCode = userinfo.AuthCode })).VirtualPath).AbsoluteUri;
             sc.Send("*****@*****.**", userinfo.Email, "会员注册确认信", verify_url);
             transaction.Complete();
         }
         Session["CurrentUser"] = null;
         return Content("验证邮件已发出,请验证后重新登录!");
     }
     catch (Exception ex)
     {
         ex.ToString();
         return Content("验证邮箱不存在,请重新填写!");
     }
 }
コード例 #18
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public bool Save()
        {
            var tradeJournal = TradeJournal.FindById(this.TradeCode);

            if (null == tradeJournal)
            {
                return(false);
            }

            if (tradeJournal.TradeStatus >= TradeStatus.Paid)
            {
                return(true);
            }

            this.OwnerId        = tradeJournal.OwnerId;
            this.CredentialSign = null;
            this.PaidTime       = DateTime.Now;
            this.CredentialSign = GenerateSign(tradeJournal, this);

            using (var scope = new System.Transactions.TransactionScope())
            {
                var repository = RepositoryManager.GetRepository <IPaymentCredentialRepository>(ModuleEnvironment.ModuleName);
                var saved      = repository.Save(this);

                if (saved)
                {
                    tradeJournal.PayWay      = this.PaidWay;
                    tradeJournal.TradeStatus = TradeStatus.Paid;
                    saved = tradeJournal.Save();
                    scope.Complete();
                }

                return(saved);
            }
        }
コード例 #19
0
        public void RecommendAFriend(int referrerId, NewAccount friendsAccountDetails)
        {
            Validate(friendsAccountDetails);

            // most technologies have similar transaction APIs
            using (var transaction = new System.Transactions.TransactionScope())
            {
                try
                {
                    // customerDirectory is a domain repository
                    var referrer = customerDirectory.Find(referrerId);
                    var friend   = customerDirectory.Add(friendsAccountDetails);
                    // referAFriend policy is a domain policy
                    referAFriendPolicy.Apply(referrer, friend);

                    transaction.Complete();

                    // log here to keep to avoid cluttering domain
                    logger.Debug("Successful friend recommendation");
                    StatsdClient.Metrics.Counter("friendReferrals");
                }
                catch (ReferralRejectedDueToLongTermOutstandingBalance ex)
                {
                    logger.Error(ex);
                    StatsdClient.Metrics.Counter("ReferralRejected");
                    throw new ApplicationError(
                              "Sorry, this referral cannot be completed. The referrer " +
                              "currently has an outstanding balance. Please contact " +
                              "customer support"
                              );
                    // transaction will roll back if Complete() not called
                }
            }
        }
コード例 #20
0
ファイル: MyLogRepository.cs プロジェクト: jonnyhall/meljab
        public void Delete(int itemid)
        {
            var transactionOptions = new System.Transactions.TransactionOptions();

            transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;

            using (var transactionScope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, transactionOptions))
            {
                using (dotnetnukeEntities db = new dotnetnukeEntities())
                {
                    try
                    {
                        dnn_YourCompany_LogEntry _logEntry = db.dnn_YourCompany_LogEntry
                                                             .Where(e => e.ItemID == itemid).FirstOrDefault();
                        if (_logEntry != null)
                        {
                            db.Configuration.ProxyCreationEnabled = false;
                            db.Set <dnn_YourCompany_LogEntry>().Remove(_logEntry);
                            db.SaveChanges();
                        }
                    }
                    catch (Exception e)
                    {
                        string error = e.Message;
                    }
                }
                transactionScope.Complete();
            }
        }
コード例 #21
0
ファイル: MyLogRepository.cs プロジェクト: jonnyhall/meljab
        public int Post(dnn_YourCompany_LogEntry logEntry)
        {
            var transactionOptions = new System.Transactions.TransactionOptions();

            transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;
            int newItemid = 0;

            using (var transactionScope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, transactionOptions))
            {
                using (dotnetnukeEntities db = new dotnetnukeEntities())
                {
                    try
                    {
                        db.Configuration.ProxyCreationEnabled = false;
                        logEntry.CreatedDate = DateTime.Now;
                        logEntry.EntryDate   = DateTime.Now;
                        logEntry.ModuleID    = 380;
                        db.Set <dnn_YourCompany_LogEntry>().Add(logEntry);
                        db.SaveChanges();
                        newItemid = logEntry.ItemID;
                    }
                    catch (Exception e)
                    {
                        string error = e.Message;
                    }
                }
                transactionScope.Complete();
            }
            return(newItemid);
        }
コード例 #22
0
        /// <summary>
        /// IP登记表删除服务,传入对象进行删除操作
        /// </summary>20170117XCQ
        /// <param name="model"></param>
        /// <returns></returns>
        public CommonResult <IPRegistForm> DeleteRegistFormById(IPRegistForm model)
        {
            var result = new CommonResult <IPRegistForm>();

            try
            {
                var dbSession = new DBService <IPRegistForm>().DbSession;
                using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
                {
                    var ServerModel = dbSession.GetQueryable(t => t.ID == model.ID).FirstOrDefault();
                    if (ServerModel != null)
                    {
                        dbSession.Delete(ServerModel);
                        ts.Complete();
                        result.IsSuccess = true;
                    }
                    else
                    {
                        result.IsSuccess = false;
                    }
                }
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.Message);
                throw ex;
            }
            return(result);
        }
コード例 #23
0
ファイル: WorkFlowTask.cs プロジェクト: mfeilgm/RoadFlow
        /// <summary>
        /// 收回任务
        /// </summary>
        /// <param name="taskID"></param>
        /// <returns></returns>
        public bool WithdrawTask(Guid taskID)
        {
            var taskList1 = GetTaskList(taskID);

            using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
            {
                foreach (var task in taskList1)
                {
                    var taskList2 = GetNextTaskList(task.ID);
                    foreach (var task2 in taskList2)
                    {
                        if (task2.Status == 0 || task2.Status == 1 || task2.Status == 5)
                        {
                            Delete(task2.ID);
                        }
                    }

                    if (task.ID == taskID || task.Status == 4)
                    {
                        Completed(task.ID, "", false, 1, "");
                    }
                }
                scope.Complete();
                return(true);
            }
        }
コード例 #24
0
        /// <summary>
        /// 运营信息录入
        /// </summary>
        /// <param name="operatingInfo">运营</param>
        /// <returns>添加结果</returns>
        public bool Add(OperatingInfo operatingInfo)
        {
            using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
            {
                var result = true;

                // 添加BinkInfos
                BankInfoMapper.Insert(operatingInfo.BankInfos[0]);
                result &= operatingInfo.BankInfos[0].FinanceId > 0;
                BankInfoMapper.Insert(operatingInfo.BankInfos[1]);
                result &= operatingInfo.BankInfos[1].FinanceId > 0;

                // 更新融资信息
                var finance = BinanceInfoMapper.Find(operatingInfo.Finance.FinanceId.Value);
                if (finance != null)
                {
                    finance.MarginMoney         = operatingInfo.Finance.MarginMoney;
                    finance.PaymonthlyMoney     = operatingInfo.Finance.PaymonthlyMoney;
                    finance.OnepayInterestMoney = operatingInfo.Finance.OnepayInterestMoney;
                    finance.ActualcashMoney     = operatingInfo.Finance.ActualcashMoney;

                    result &= BinanceInfoMapper.Update(finance) > 0;
                }

                // 跟新融资扩展信息
                var financeExtra = BinanceExtraInfoMapper.Find(operatingInfo.Finance.FinanceId.Value);
                if (financeExtra != null)
                {
                    financeExtra.ActualVehiclePrice                   = operatingInfo.FinanceExtra.ActualVehiclePrice;
                    financeExtra.ActualPurchaseTaxPrice               = operatingInfo.FinanceExtra.ActualPurchaseTaxPrice;
                    financeExtra.ActualBusinessInsurancePrice         = operatingInfo.FinanceExtra.ActualBusinessInsurancePrice;
                    financeExtra.ActualTafficCompulsoryInsurancePrice = operatingInfo.FinanceExtra.ActualTafficCompulsoryInsurancePrice;
                    financeExtra.ActualVehicleVesselTaxPrice          = operatingInfo.FinanceExtra.ActualVehicleVesselTaxPrice;
                    financeExtra.ActualExtendedWarrantyInsurancePrice = operatingInfo.FinanceExtra.ActualExtendedWarrantyInsurancePrice;
                    financeExtra.ActualOtherPrice = operatingInfo.FinanceExtra.ActualOtherPrice;

                    result &= BinanceExtraInfoMapper.Update(financeExtra) > 0;
                }

                // 跟新车辆信息
                var vehicle = VehicleInfoMapper.Find(operatingInfo.Finance.FinanceId.Value);
                if (vehicle != null)
                {
                    vehicle.PlateNo      = operatingInfo.VehicleInfo.PlateNo;
                    vehicle.FrameNo      = operatingInfo.VehicleInfo.FrameNo;
                    vehicle.EngineNo     = operatingInfo.VehicleInfo.EngineNo;
                    vehicle.BuyCarPrice  = operatingInfo.VehicleInfo.BuyCarPrice;
                    vehicle.RegisterCity = operatingInfo.VehicleInfo.RegisterCity;

                    result &= VehicleInfoMapper.Update(operatingInfo.Finance.FinanceId.Value, vehicle) > 0;
                }

                if (result)
                {
                    scope.Complete();
                }
            }

            return(false);
        }
コード例 #25
0
        /// <summary>
        /// 更新DeviceWorkingCondition设备状态信息,初期主要用于车号的状态更新,装车时将其WorkingStatus更新为1,卸料时将其更新为0,20170110XC1
        /// </summary>
        /// <param name="DevCode"></param>
        /// <param name="WorkingStatus"></param>
        /// <returns></returns>
        public CommonResult <DeviceWorkingCondition> UpdateDevWStatusByCode(string DevCode, int WorkingStatus)
        {
            var result = new CommonResult <DeviceWorkingCondition>();

            try
            {
                var dbSession = new DBService <DeviceWorkingCondition>().DbSession;
                using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
                {
                    var model = dbSession.GetQueryable(t => t.DevCode == DevCode).FirstOrDefault();
                    if (model == null)
                    {
                        result.IsSuccess = false;
                        result.Message   = "该设备信息已经不存在";
                    }
                    model.WorkingStatus = WorkingStatus;
                    result.Data         = dbSession.Update(model);
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.Message);
                throw ex;
            }

            return(result);
        }
コード例 #26
0
        /// <summary>
        /// 删除医院
        /// </summary>
        /// <param name="hospitalID">医院ID</param>
        /// <returns>是否删除成功</returns>
        public bool DeleteHospitalByHospitalID(int hospitalID)
        {
            bool isSuccess = false;

            try
            {
                using (System.Transactions.TransactionScope transactionScope = new System.Transactions.TransactionScope())
                {
                    using (MedicalBaseEntities context = new MedicalBaseEntities())
                    {
                        Hospital hospitalForDelete = (from p in context.Hospitals
                                                      where p.ID == hospitalID
                                                      select p).FirstOrDefault();
                        context.CascadingDeleteOnSubmit(hospitalForDelete);
                    }
                    transactionScope.Complete();
                }
                isSuccess = true;
            }
            catch
            {
                isSuccess = false;
            }
            return(isSuccess);
        }
コード例 #27
0
        /// <summary>
        /// 清除所有日志信息
        /// </summary>
        /// <returns>是否清除成功</returns>
        public bool ClearLogs()
        {
            bool isSuccess = false;

            try
            {
                using (System.Transactions.TransactionScope transactionScope = new System.Transactions.TransactionScope())
                {
                    using (MedicalBaseEntities context = new MedicalBaseEntities())
                    {
                        foreach (var item in context.Log_Login)
                        {
                            context.DeleteObject(item);
                        }
                        context.SaveChanges();
                    }
                    transactionScope.Complete();
                }
                isSuccess = true;
            }
            catch
            {
                isSuccess = false;
            }
            return(isSuccess);
        }
コード例 #28
0
ファイル: BaseAccessor.cs プロジェクト: SSSR/MyTwitterProxy
        public void InsertTweets(IEnumerable<Tweet> tweets)
        {
            using (var scope = new System.Transactions.TransactionScope())
            {

                MasterEntities context = null;
                try
                {
                    context = CreateContext();

                    int count = 0;
                    foreach (var entityToInsert in tweets)
                    {
                        ++count;
                        entityToInsert.Id =Guid.NewGuid();
                        entityToInsert.Date = DateTime.Now;
                        context = AddToContext(context, entityToInsert, count, 50, false);
                    }

                    context.SaveChanges();
                }
                finally
                {
                    if (context != null)
                        context.Dispose();
                }

                scope.Complete();
            }
        }
コード例 #29
0
        public void ProcessRequest(HttpContext context)
        {
            NFMT.Common.UserModel user = Utility.UserUtility.CurrentUser;
            NFMT.Common.ResultModel result = new NFMT.Common.ResultModel();

            context.Response.ContentType = "text/plain";
            int id = 0;
            int operateId = 0;

            if (!int.TryParse(context.Request.Form["id"], out id) || id <= 0)
            {
                context.Response.Write("序号错误");
                context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(result));
                context.Response.End();
            }

            if (!int.TryParse(context.Request.Form["oi"], out operateId) || operateId <= 0)
            {
                context.Response.Write("操作错误");
                context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(result));
                context.Response.End();
            }

            NFMT.Contract.BLL.ContractBLL contractBLL = new NFMT.Contract.BLL.ContractBLL();
            NFMT.WareHouse.BLL.ContractStockIn_BLL refBLL = new NFMT.WareHouse.BLL.ContractStockIn_BLL();

            NFMT.Common.OperateEnum operateEnum = (NFMT.Common.OperateEnum)operateId;
            using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
            {
                switch (operateEnum)
                {
                    case NFMT.Common.OperateEnum.作废:
                        result = contractBLL.ContractInInvalid(user, id);
                        if (result.ResultStatus == 0)
                            result = refBLL.ContractInInvalidStockOperate(user, id);
                        break;
                    case NFMT.Common.OperateEnum.撤返:
                        result = contractBLL.ContractInGoBack(user, id);
                        break;
                    case NFMT.Common.OperateEnum.执行完成:
                        result = contractBLL.ContractInComplete(user, id);
                        if (result.ResultStatus == 0)
                            result = refBLL.ContractInCompleteStockOperate(user, id);
                        break;
                    case NFMT.Common.OperateEnum.执行完成撤销:
                        result = contractBLL.ContractInCompleteCancel(user, id);
                        if (result.ResultStatus == 0)
                            result = refBLL.ContractInCompleteCancelStockOperate(user, id);
                        break;
                }

                if (result.ResultStatus == 0)
                {
                    result.Message = string.Format("{0}成功", operateEnum.ToString());
                    scope.Complete();
                }
            }

            context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(result));
        }
コード例 #30
0
        /// <summary>
        /// Edita una Sucursal
        /// </summary>
        /// <param name="id_compania_emisor"></param>
        /// <param name="nombre"></param>
        /// <param name="id_direccion"></param>
        /// <param name="id_usuario"></param>
        /// <param name="habilitar"></param>
        /// <returns></returns>
        private RetornoOperacion editaSucursal(int id_compania_emisor, string nombre, int id_direccion, int id_usuario, bool habilitar)
        {
            //Declaramos Objeto resultado
            RetornoOperacion resultado = new RetornoOperacion();

            //Creamos la transacción
            using (System.Transactions.TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Validamo existencia de ubicación
                if (!Validacion.ValidaOrigenDatos(Comprobante.RecuperaComprobantesPorSucursal(this._id_sucursal)))
                {
                    //Inicializando arreglo de parámetros
                    object[] param = { 2, this._id_sucursal, id_compania_emisor, nombre, id_direccion, id_usuario, habilitar, "", "" };

                    //Realizando actualizacion
                    resultado = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nombre_stored_procedure, param);
                }
                else
                {
                    resultado = new RetornoOperacion("No puede ser editado el registro debido a que está ligado a un CFD.");
                }
                //Validamos Resultado
                if (resultado.OperacionExitosa)
                {
                    //Finalizamos Transacción
                    scope.Complete();
                }
            }

            //Devolvemos Resultado
            return(resultado);
        }
コード例 #31
0
ファイル: BillAppService.cs プロジェクト: yeshusuper/BHOffice
        public IBill CreateBill(long uid, string sender, string senderTel, string receiver, string receiverTel, string address, string post, decimal insurance, string goods, string remarks, long? agentUid, DateTime? created, string internalNo, string internalExpress)
        {
            var user = _UserManager.GetUser(uid);
            var creater = new BillUser(user, _BillRepository, _BillStateHistoryRepository);
            using (var scope = new System.Transactions.TransactionScope())
            {
                var bill = creater.CreateBill(new ContactInfo(sender, senderTel),
                    new ContactInfoWithAddress(receiver, receiverTel, new Address(address, post)),
                    insurance, goods, remarks);
                var authority = new BillAuthority(user, bill);
                if (authority.AllowSetAgent || authority.AllowFillAgentSelf)
                {
                    IBillManagerUser manager = creater;
                    manager.UpdateAgent(bill, authority.AllowSetAgent ? agentUid ?? uid : uid);
                    manager.UpdateBillState(bill, BillStates.到达分拣中心, String.Empty);
                }
                if (created.HasValue && authority.AllowSetCreateDate)
                {
                    IBillManagerUser manager = creater;
                    manager.UpdateCreated(bill, created.Value);
                }
                if((!String.IsNullOrWhiteSpace(internalNo) || !String.IsNullOrWhiteSpace(internalExpress)) && authority.AllowUpdateState)
                {
                    IBillManagerUser manager = creater;
                    manager.UpdateBillInternalState(bill, new InternalTrade(internalNo, internalExpress), String.Empty, null);
                }

                scope.Complete();

                return bill;
            }
        }
コード例 #32
0
        public void CommitTest()
        {
            using (var session = Domain.OpenSession())
                using (var tx = session.OpenTransaction()) {
                    new DataRecord {
                        Name = "CommitTest", Value = "False"
                    };
                    tx.Complete();
                }

            //this behavior is not supported by netcore2.0
            using (var ts = new SystemTransactionScope()) {
                using (var session = Domain.OpenSession())
                    using (var tx = session.OpenTransaction()) {
                        var record = session.Query.All <DataRecord>().Single(e => e.Name == "CommitTest");
                        record.Value = "True";
                        tx.Complete();
                    }
                ts.Complete();
            }

            using (var session = Domain.OpenSession())
                using (var tx = session.OpenTransaction()) {
                    var record = session.Query.All <DataRecord>().Single(e => e.Name == "CommitTest");
                    Assert.That(record.Value, Is.EqualTo("True"));
                    tx.Complete();
                }
        }
コード例 #33
0
        /// <summary>
        /// 删除工艺参数设置
        /// </summary>
        /// <param name="ID">编号</param>
        /// <returns></returns>
        public CommonResult <bool> DelCLParamSet(int ID)
        {
            var result = new CommonResult <bool>();

            try
            {
                var dbSession  = new DBService <CraftsLineParamSet>().DbSession;
                var dbSession1 = new DBService <CraftsLineParamSetDetail>(dbSession.Context).DbSession;
                using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
                {
                    var model     = dbSession.GetQueryable(t => t.ID == ID).FirstOrDefault();
                    var modelList = dbSession1.GetQueryable(t => t.ID == ID).ToList();
                    if (modelList != null && modelList.Count > 0)
                    {
                        dbSession1.Delete(modelList);
                    }
                    dbSession.Delete(model);
                    ts.Complete();
                    result.Data = true;
                }
            }
            catch (Exception ex)
            {
                Utils.Logger.Error(ex.ToString());
                throw ex;
            }
            return(result);
        }
コード例 #34
0
        public void ChangePassword(Guid userId, string olderPaswword, string newPassword)
        {
            using (System.Transactions.TransactionScope tr = new System.Transactions.TransactionScope())
            {
                ICollection <TakeDocModel.UserTk> users = this.GetBy(x => x.UserTkId == userId);
                if (users.Count != 1)
                {
                    base.CreateError("L'utilisateur est iconnu.");
                }

                TakeDocModel.UserTk user = users.First();
                // check older password
                if (user.UserTkPassword != servCrypto.Encrypt(olderPaswword))
                {
                    this.CreateError("Mot de passe erronné.");
                }
                user.UserTkPassword = servCrypto.Encrypt(newPassword);
                this.Check(user, false);

                // update password
                daoUserTk.Update(user);

                tr.Complete();
            }
        }
コード例 #35
0
ファイル: MyLogRepository.cs プロジェクト: jonnyhall/meljab
        public IQueryable <dnn_YourCompany_LogEntry> Get(string keyWord)
        {
            IQueryable <dnn_YourCompany_LogEntry> items = null;
            var transactionOptions = new System.Transactions.TransactionOptions();

            transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;

            using (var transactionScope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, transactionOptions))
            {
                using (dotnetnukeEntities db = new dotnetnukeEntities())
                {
                    try
                    {
                        db.Configuration.ProxyCreationEnabled = false;
                        items = db.dnn_YourCompany_LogEntry.Where(e => e.Entry.Contains(keyWord))
                                .ToList().AsQueryable <dnn_YourCompany_LogEntry>();
                    }
                    catch (Exception e)
                    {
                        string error = e.Message;
                    }
                }
                transactionScope.Complete();
            }
            return(items);
        }
コード例 #36
0
        /// <summary>
        /// 删除流程参与人
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            try
            {
                long?id = (sender as LinkButton).CommandArgument.ToLongNullable();
                using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
                {
                    using (BizDataContext db = new BizDataContext())
                    {
                        SysProcessParticipant p = db.FindById <SysProcessParticipant>(id);
                        if (p != null)
                        {
                            //同步删除关联的活动参与人
                            var apList = db.Where <SysActivityParticipant>(x => x.ParticipantId == id);
                            foreach (var ap in apList)
                            {
                                db.Delete(ap);
                            }

                            db.Delete(p);
                        }
                    }
                    ts.Complete();
                }
                BindGrid();
            }
            catch (Exception ex)
            {
                this.AjaxAlert(ex);
            }
        }
コード例 #37
0
 ////INSERT- UPDATE - DELETE 
 public int Insert(int PortalId, int ContentItemId, string CultureCode, string RouteName, string RouteUrl, string PhysicalFile,
 bool CheckPhysicalUrlAccess, string RouteValueDictionary, string Description, bool Discontinued)
 {
     int returnValue = 0;
     using (CommonEntities dbContext = new CommonEntities())
     {
         using (System.Transactions.TransactionScope transcope = new System.Transactions.TransactionScope())
         {
             int ListOrder = (from u in dbContext.aspnet_Routes select u.ListOrder).DefaultIfEmpty(0).Max() + 1;
             aspnet_Routes entity = new aspnet_Routes();
             entity.PortalId = PortalId;
             entity.ContentItemId = ContentItemId;
             entity.CultureCode = CultureCode;
             entity.RouteName = RouteName;
             entity.RouteUrl = RouteUrl;
             entity.PhysicalFile = PhysicalFile;
             entity.CheckPhysicalUrlAccess = CheckPhysicalUrlAccess;
             entity.RouteValueDictionary = RouteValueDictionary;
             entity.Description = Description;
             entity.ListOrder = ListOrder;
             entity.Discontinued = Discontinued;
             dbContext.AddToaspnet_Routes(entity);
             returnValue = dbContext.SaveChanges();
             dbContext.Connection.Close();
             transcope.Complete();
         }
     }
     return returnValue;
 }
コード例 #38
0
        internal static void RemoveCallback(Guid clientKey)
        {
            lock (m_LockedObj)
            {
                using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
                {
                    DatabaseMethods db = new DatabaseMethods();
                    db.RemoveReplicationSessionSubscriber(clientKey);

                    if (m_sessions.ContainsKey(clientKey))
                    {
                        // remove subscriber from subscribed messages
                        string[] subscribedMsgs = m_sessions[clientKey].SubscribedFixMsgsTypes;
                        foreach (string msg in subscribedMsgs)
                        {
                            if (m_fixMsgType_SubscribersKeys.ContainsKey(msg))
                            {
                                m_fixMsgType_SubscribersKeys[msg].Remove(clientKey);
                                if (m_fixMsgType_SubscribersKeys[msg].Count == 0)
                                {
                                    m_fixMsgType_SubscribersKeys.Remove(msg);
                                }
                            }
                        }
                        // remove subscriiber from subscribers list
                        m_sessions.Remove(clientKey);
                    }
                    ts.Complete();
                }
            }
        }
コード例 #39
0
        public JsonResult PackageWBSCopy(string ProjectInfoID, string TargetNodes, string DataSource)
        {
            var    targetNodes = JsonHelper.ToList(TargetNodes);
            var    sourceNodes = JsonHelper.ToList(DataSource);
            Action action      = () =>
            {
                var fo = FormulaHelper.CreateFO <WBSFO>();
                fo.ImportPackageNodes(targetNodes, sourceNodes);
            };

            if (System.Configuration.ConfigurationManager.AppSettings["UseMsdtc"].ToLower() == "true")
            {
                System.Transactions.TransactionOptions tranOp = new System.Transactions.TransactionOptions();
                tranOp.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;
                using (System.Transactions.TransactionScope ts =
                           new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, tranOp))
                {
                    action();
                    ts.Complete();
                }
            }
            else
            {
                action();
            }
            return(Json(""));
        }
コード例 #40
0
ファイル: CardModel.cs プロジェクト: oumepurc/umekouhp
        //================================================================
        //登録   今日のひとこと記事  
        //================================================================
        public bool add(CardContentData addData, ref int?insertedID, ref string resErrMsg)
        {
            DateTime regDate = DateTime.Now;
            bool     result  = false;

            try
            {
                using (umekoudbDataContext dc = new umekoudbDataContext())
                {
                    using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope())
                    {
                        addData.raw.reg_date = regDate;
                        dc.GetTable <card_t>().InsertOnSubmit(addData.raw);
                        dc.SubmitChanges();
                        insertedID = addData.raw.id;//主キーをセット
                        ts.Complete();
                    }
                }
                result = true;
            }
            catch (Exception e)
            {
                resErrMsg = e.Message;
                result    = false;
            }
            return(result);
        }
コード例 #41
0
 public void GuardarCuConfigurarIgv(string valor)
 {
     using (var transaction = new System.Transactions.TransactionScope())
     {
         dominio.ActualizarValorConfigByCodigo("01",valor);
         transaction.Complete();
     }
 }
コード例 #42
0
        public void ProcessRequest(HttpContext context)
        {
            NFMT.Common.UserModel user = Utility.UserUtility.CurrentUser;
            System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

            context.Response.ContentType = "text/plain";

            NFMT.Common.ResultModel result = new NFMT.Common.ResultModel();

            if (string.IsNullOrEmpty(context.Request.Form["source"]))
            {
                result.Message = "数据源为空";
                result.ResultStatus = -1;
                context.Response.Write(serializer.Serialize(result));
                context.Response.End();
            }

            bool isPass = false;
            if (string.IsNullOrEmpty(context.Request.Form["ispass"]) || !bool.TryParse(context.Request.Form["ispass"], out isPass))
            {
                result.Message = "审核结果错误";
                result.ResultStatus = -1;
                context.Response.Write(serializer.Serialize(result));
                context.Response.End();
            }

            try
            {
                string jsonData = context.Request.Form["source"];
                var obj = serializer.Deserialize<NFMT.WorkFlow.Model.DataSource>(jsonData);

                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                {
                    NFMT.Contract.BLL.ContractBLL bll = new NFMT.Contract.BLL.ContractBLL();
                    result = bll.ContractInAudit(user, obj, isPass);
                    if (result.ResultStatus == 0)
                    {
                        int contractId = (int)result.ReturnValue;
                        int subId = result.AffectCount;

                        NFMT.WareHouse.BLL.StockLogBLL stockLogBLL = new NFMT.WareHouse.BLL.StockLogBLL();
                        result = stockLogBLL.ContractInAuditStockLogOperate(user, contractId, subId);
                    }

                    if (result.ResultStatus == 0)
                        scope.Complete();
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
                result.ResultStatus = -1;
            }

            context.Response.Write(serializer.Serialize(result));
            context.Response.End();
        }
コード例 #43
0
 public static void Test2()
 {
     var mb = ConfigureMongoBus();
     using (var ts = new System.Transactions.TransactionScope())
     {
         for (int i = 0; i < 10000; i++)
         {
             mb.Notify(new TestMessage1 { Id = 101 + i });
         }
         ts.Complete();
     }
 }
コード例 #44
0
ファイル: DashboardManager.cs プロジェクト: BrianGoff/BITS
 public IQueryable<vu_DashboardLogsLatest> Refresh()
 {
     IQueryable<vu_DashboardLogsLatest> data;
     var transactionOptions = new System.Transactions.TransactionOptions();
     transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;
     using (var transactionScope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, transactionOptions))
     {
         if (_bitsDashboardContext != null)
             _bitsDashboardContext.Connection.Close();
         _bitsDashboardContext = new DashboardEntities();
         data =  _bitsDashboardContext.vu_DashboardLogsLatest.OrderByDescending(logData => logData.StartTime);
         transactionScope.Complete();
         return data;
     }
 }
コード例 #45
0
ファイル: Common.cs プロジェクト: dlnuckolls/glorykidd-public
        //When this static class is first initialized, determine whether we can use the TransactionScope object (TransactionScopeOption.Required),
		// or not (TransactionScopeOption.Suppress).  
		static Common()
		{
			try
			{
				using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required))
				{
					Guid g = GetPersonId("");
					ts.Complete();
					_transactionScopeOption = System.Transactions.TransactionScopeOption.Required;
				}
			}
			catch
			{
				_transactionScopeOption = System.Transactions.TransactionScopeOption.Suppress;
			}
		}
コード例 #46
0
        public void RecommendAFriend(int referrerId, NewAccount friendsAccountDetails)
        {
            Validate(friendsAccountDetails);

            // most technologies have similar transaction APIs
            using (var transaction = new System.Transactions.TransactionScope())
            {
                try
                {
                    // ... interact with domain multiple times
                    transaction.Complete();
                }
                catch
                {
                    // transaction will roll back if Complete() not called
                }
            }
        }
コード例 #47
0
        //
        // GET: /Store/AddToCart/5
        public virtual ActionResult AddToCart(int id)
        {
            using (var scope = new System.Transactions.TransactionScope())
            {
                // Retrieve the album from the database
                var addedAlbum = storeDB.Albums
                    .Single(album => album.AlbumId == id);

                // Add it to the shopping cart
                var cart = ShoppingCart.GetCart(this.HttpContext);

                cart.AddToCart(addedAlbum);

                scope.Complete();

                // Go back to the main store page for more shopping
                return RedirectToAction("Index");
            }
        }
コード例 #48
0
        protected Product Save()
        {
            Product product = null;
            //uncomment this line to support transactions
            using (var scope = new System.Transactions.TransactionScope())
            {
                product = ctrlProductInfoAdd.SaveInfo();
                ctrlProductSEO.SaveInfo(product.ProductId);
                ctrlProductCategory.SaveInfo(product.ProductId);

                this.CustomerActivityService.InsertActivity(
                    "AddNewProduct",
                    GetLocaleResourceString("ActivityLog.AddNewProduct"),
                    product.Name);

                //uncomment this line to support transactions
                scope.Complete();
            }

            return product;
        }
コード例 #49
0
 public static int BatchInsert(List<Transaction> list, int? companyId, DbActionType action)
 {
     var res = -1;
     var commName = action == DbActionType.Insert ? "transaction_create" : "web.transaction_update";
     using (var scope = new System.Transactions.TransactionScope())
     {
         using (var holder = SqlConnectionHelper.GetConnection())
         {
             var cmd = holder.Connection.CreateSPCommand(commName);
             //SqlTransaction transaction = holder.Connection.BeginTransaction("BatchInsertTransactions");
             //cmd.Transaction = transaction;
             try
             {
                 foreach (var entity in list)
                 {
                     cmd.Parameters.Clear();
                     cmd.AddEntityParameters(entity, action);
                     if (action == DbActionType.Update)
                         cmd.Parameters.AddWithValue("@id_company", companyId);
                     cmd.ExecuteNonQuery();
                     if (action == DbActionType.Insert)
                         entity.Id = cmd.GetRowIdParameter();
                     int l_res = cmd.GetReturnParameter();
                     if (l_res != 0)
                         return l_res;
                 }
                 //transaction.Commit();
                 scope.Complete();
                 res = 0;
             }
             catch (SqlException e)
             {
                 //transaction.Rollback();
                 cmd.AddDetailsToException(e);
                 throw;
             }
         }
     }
     return res;
 }
コード例 #50
0
ファイル: FilterConfig.cs プロジェクト: Winbringer/CSharpBlog
 public void OnActionExecuting(ActionExecutingContext filterContext)
 {
     using (var transaction = new System.Transactions.TransactionScope())
     {
         using (var db = new ApplicationDBContext())
         {
             var url = filterContext.RequestContext.HttpContext.Request.RawUrl.ToString();
             VisitsTable vt = db.Visits.Find(url);
             if (vt == null)
             {
                 vt = new VisitsTable { Url = url, Count = 1 };
                 db.Visits.Add(vt);
             }
             else
             {
                 vt.Count = vt.Count+ 1;
             }
             db.SaveChanges();
         }
         transaction.Complete();
     }
 }
コード例 #51
0
		private bool ImportData()
		{
			if (filUpload.PostedFile == null || filUpload.PostedFile.ContentLength == 0)
			{
				RegisterAlert("A valid input file must be selected.");
				return false;
			}
			else
			{
				using (System.Transactions.TransactionScope transScope = new System.Transactions.TransactionScope(Data.Common.TransactionScopeOption))
				{
					if (chkDeleteFirst.Checked)
					{
						Data.ITATSystem.DeleteSequenceNumbers(_itatSystem.ID);
					}
					StreamReader reader = new StreamReader(filUpload.PostedFile.InputStream);
					Data.ITATSystem.UpdateSequenceNumbers(_itatSystem.ID, reader.ReadToEnd());
					transScope.Complete();
					return true;
				}
			}
		}
コード例 #52
0
ファイル: BillUser.cs プロジェクト: yeshusuper/BHOffice
        public IBill CreateBill(ContactInfo sender, ContactInfoWithAddress receiver, decimal insurance, string goods, string remarks)
        {
            ExceptionHelper.ThrowIfNull(sender, "sender");
            ExceptionHelper.ThrowIfNull(receiver, "receiver");

            goods = (goods ?? String.Empty).Trim();
            remarks = (remarks ?? String.Empty).Trim();

            using (var scope = new System.Transactions.TransactionScope())
            {
                var entity = new Data.Bill
                {
                    bill_date = DateTime.Now,
                    confirmed = _User.Role >= UserRoles.Agent,
                    created = DateTime.Now,
                    creater = _User.Uid,
                    enabled = true,
                    last_state_updated = DateTime.Now,
                    updated = DateTime.Now,
                    state = BillStates.None,
                };
                if (entity.confirmed)
                    entity.confirmer = _User.Uid;

                var bill = new BillService(entity);
                bill.UpdateInfo(sender, receiver);
                bill.UpdateInfo(insurance, goods, remarks);

                _BillRepository.Add(entity);
                _BillRepository.SaveChanges();

                bill.InitTradeNo();
                _BillRepository.SaveChanges();

                scope.Complete();

                return bill;
            }
        }
コード例 #53
0
        public void RecommendAFriend(int referrerId, NewAccount friendsAccountDetails)
        {
            Validate(friendsAccountDetails);

            // most technologies have similar transaction APIs
            using (var transaction = new System.Transactions.TransactionScope())
            {
                try
                {
                    // ... interact with domain multiple times
                    transaction.Complete();
                }
                catch(ReferralRejectedDueToLongTermOutstandingBalance)
                {
                    throw new ApplicationError(
                        "Sorry, this referral cannot be completed. The referrer " +
                        "currently has an outstanding balance. Please contact " +
                        "Customer Services"
                    );
                    // transaction will roll back if Complete() not called
                }
            }
        }
コード例 #54
0
        /// <summary>
        /// Change encryption private key
        /// </summary>
        /// <param name="newEncryptionPrivateKey">New encryption private key</param>
        public static void ChangeEncryptionPrivateKey(string newEncryptionPrivateKey)
        {
            if (String.IsNullOrEmpty(newEncryptionPrivateKey) || newEncryptionPrivateKey.Length != 16)
                throw new NopException("Encryption private key must be 16 characters long");

            string oldEncryptionPrivateKey = IoC.Resolve<ISettingManager>().GetSettingValue("Security.EncryptionPrivateKey");

            if (oldEncryptionPrivateKey == newEncryptionPrivateKey)
                return;

            var orders = IoC.Resolve<IOrderService>().LoadAllOrders();
            //uncomment this line to support transactions
            using (var scope = new System.Transactions.TransactionScope())
            {
                foreach (var order in orders)
                {
                    string decryptedCardType = Decrypt(order.CardType, oldEncryptionPrivateKey);
                    string decryptedCardName = Decrypt(order.CardName, oldEncryptionPrivateKey);
                    string decryptedCardNumber = Decrypt(order.CardNumber, oldEncryptionPrivateKey);
                    string decryptedMaskedCreditCardNumber = Decrypt(order.MaskedCreditCardNumber, oldEncryptionPrivateKey);
                    string decryptedCardCvv2 = Decrypt(order.CardCvv2, oldEncryptionPrivateKey);
                    string decryptedCardExpirationMonth = Decrypt(order.CardExpirationMonth, oldEncryptionPrivateKey);
                    string decryptedCardExpirationYear = Decrypt(order.CardExpirationYear, oldEncryptionPrivateKey);

                    string encryptedCardType = Encrypt(decryptedCardType, newEncryptionPrivateKey);
                    string encryptedCardName = Encrypt(decryptedCardName, newEncryptionPrivateKey);
                    string encryptedCardNumber = Encrypt(decryptedCardNumber, newEncryptionPrivateKey);
                    string encryptedMaskedCreditCardNumber = Encrypt(decryptedMaskedCreditCardNumber, newEncryptionPrivateKey);
                    string encryptedCardCvv2 = Encrypt(decryptedCardCvv2, newEncryptionPrivateKey);
                    string encryptedCardExpirationMonth = Encrypt(decryptedCardExpirationMonth, newEncryptionPrivateKey);
                    string encryptedCardExpirationYear = Encrypt(decryptedCardExpirationYear, newEncryptionPrivateKey);

                    order.CardType = encryptedCardType;
                    order.CardName = encryptedCardName;
                    order.CardNumber = encryptedCardNumber;
                    order.MaskedCreditCardNumber = encryptedMaskedCreditCardNumber;
                    order.CardCvv2 = encryptedCardCvv2;
                    order.CardExpirationMonth = encryptedCardExpirationMonth;
                    order.CardExpirationYear = encryptedCardExpirationYear;
                    IoC.Resolve<IOrderService>().UpdateOrder(order);
                }

                IoC.Resolve<ISettingManager>().SetParam("Security.EncryptionPrivateKey", newEncryptionPrivateKey);

                //uncomment this line to support transactions
                scope.Complete();
            }
        }
コード例 #55
0
ファイル: DashboardHelper.cs プロジェクト: BrianGoff/BITS
      public static void RunScheduledTasks()
      {
          
            var transactionOptions = new System.Transactions.TransactionOptions();
            transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;
          
            using (var transactionScope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, transactionOptions))
            {
                using (DashboardEntities ef = new DashboardEntities())
                {

                    IList<string> listConfig = GetDashboardLogConfigs(ef);
                    foreach (string config in listConfig)
                    {
                        string dir = config;
                        string ext = "*.*";
                        DataTable dt = GetDataTable();
                        DataTable dtStats = GetStatsDataTable();
                        List<string> listOfSupressedErrors = GetListOfSupressedErrors();
                        foreach (String file in Directory.GetFiles(dir, ext))
                        {

                            if (File.GetLastWriteTime(file) > DateTime.Now.AddDays(-1))
                            {

                                try
                                {
                                    using (var r = new StreamReader(file))
                                    {

                                        FileInfo fi = new FileInfo(file);
                                        _bitsList = file.Split('\\').ToList<string>();
                                        string record = "";


                                        string server = _bitsList[2];
                                        string bitsInstance = _bitsList[4];
                                        foreach (
                                            var source in
                                                ef.tbl_SLA_DashboardLogs.OrderByDescending(a => a.StartTime)
                                                    .Where(a => a.Server == server && a.BITSInstance == bitsInstance))
                                        {
                                            tbl_SLA_DashboardLogs logstemp = source;
                                            maxDateTime = (DateTime)logstemp.StartTime;
                                            break;
                                        }
                                        //  maxDateTime = maxDateTime.AddDays(-2);
                                        maxDateTime = maxDateTime.AddMinutes(-10);

                                        while ((record = r.ReadLine()) != null)
                                        {
                                            try
                                            {
                                                DateTime recDate;
                                                if (record.Length < 19 ||
                                                    !DateTime.TryParse(record.Substring(0, 19), out recDate))
                                                    continue;

                                                DataRow dr = dt.NewRow();
                                                dr["Date"] = Convert.ToDateTime(record.Substring(0, 19));
                                                dr["Level"] =
                                                    record.Substring(24, 6).Trim().ToString(CultureInfo.InvariantCulture);

                                                int idx1 = record.IndexOf("ID=", StringComparison.Ordinal);
                                                if (idx1 < 0)
                                                    continue;

                                                string kc = record.Substring(idx1);
                                                int idx2 = kc.IndexOf(" -", StringComparison.Ordinal);
                                                kc = kc.Substring(3, idx2 - 3);
                                                if (kc != "(null)")
                                                {
                                                    dr["KeyCode"] = kc;
                                                    dr["Message"] = record.Substring(idx1 + idx2);
                                                    if (dr["Level"].ToString() != "INFO")
                                                        dt.Rows.Add(dr);

                                                    if (record.Contains("Beginning executing job") &&
                                                        record.Contains("Execution mode"))
                                                    {
                                                        DataRow drStat = dtStats.NewRow();

                                                        drStat["KeyCode"] = kc;
                                                        drStat["Name"] =
                                                            record.Substring(record.IndexOf("Beginning executing job ",
                                                                StringComparison.Ordinal))
                                                                .Replace("Beginning executing job ", "")
                                                                .Replace("_Job in Execution mode.", "");
                                                        drStat["StartTime"] = dr["Date"];
                                                        try
                                                        {
                                                            if (maxDateTime <= (DateTime)drStat["StartTime"])
                                                                dtStats.Rows.Add(drStat);
                                                        }
                                                        catch
                                                        {
                                                        }
                                                    }

                                                    DataRow foundRow = dtStats.Rows.Find(kc);
                                                    if (foundRow != null)
                                                    {
                                                        foundRow.BeginEdit();
                                                        foundRow["EndTime"] = dr["Date"];
                                                        foundRow["Seconds"] =
                                                            ((DateTime)foundRow["EndTime"] - (DateTime)foundRow["StartTime"])
                                                                .Seconds;
                                                        foundRow["Server"] = _bitsList[2];
                                                        foundRow["BITSInstance"] = _bitsList[4];
                                                        foundRow["Message"] = dr["Message"].ToString().Replace(",", " ;");

                                                        // Todo:  
                                                        if (
                                                            dr["Message"].ToString()
                                                                .Contains("Beginning write to file"))
                                                        {
                                                            String[] data = record.Replace("  ", " ").Split(new char[] { ' ' });
                                                            tbl_SLA_FileChecker filesChecker = new tbl_SLA_FileChecker();

                                                            filesChecker.jobKeyCode = kc;
                                                            filesChecker.FileName = data[9];


                                                            if (Convert.ToDateTime(record.Substring(0, 19)) >= maxDateTime)
                                                                ef.AddTotbl_SLA_FileChecker(filesChecker);

                                                        }

                                                        foundRow.EndEdit();
                                                    }

                                                    else if (foundRow == null)
                                                    {

                                                        if (maxDateTime <= (DateTime)dr["Date"])
                                                        {
                                                            DataRow runRow = dtStats.NewRow();
                                                            runRow["KeyCode"] = kc;
                                                            runRow["BITSInstance"] = _bitsList[4];
                                                            runRow["Message"] = record.Substring(idx1 + idx2);
                                                            runRow["Name"] = record.Substring(
                                                                record.IndexOf("Beginning executing job ",
                                                                    System.StringComparison.Ordinal))
                                                                .Replace("Beginning executing job ", "")
                                                                .Replace("_Job in Execution mode.", "");
                                                            runRow["StartTime"] = dr["Date"];
                                                            dtStats.Rows.Add(runRow);

                                                        }
                                                    }

                                                }
                                                Console.WriteLine("KEycode=" + kc);


                                                String[] data1 = record.Replace("  ", " ").Split(new[] { ' ' });
                                                tbl_SLA_BITSJobRequest reuestRequest = new tbl_SLA_BITSJobRequest();
                                                reuestRequest.RequestTime = Convert.ToDateTime(record.Substring(0, 19));
                                                reuestRequest.JobName = data1[7].Replace("_Job.", "");
                                                reuestRequest.RequestedBy = data1[10].Replace("FOUNTAINHEAD\\", "");
                                                reuestRequest.MachineName = data1[12];
                                                foreach (var s in dtStats.Select("Name Like '%" + reuestRequest.JobName + "%'"))
                                                {
                                                    reuestRequest.KeyCode = s["KeyCode"].ToString();
                                                }

                                                if (Convert.ToDateTime(record.Substring(0, 19)) >= maxDateTime && reuestRequest.JobName.Contains("ADHOC") && reuestRequest.KeyCode != String.Empty)
                                                    ef.AddTotbl_SLA_BITSJobRequest(reuestRequest);

                                            }

                                            catch (Exception ex)
                                            {
                                                Console.Write(ex);
                                            }

                                        }
                                    }
                                }
                                catch (Exception)
                                {
                                    ;
                                }

                                foreach (DataRow drStat in dtStats.Rows)
                                {
                                    tbl_SLA_DashboardLogs logs = new tbl_SLA_DashboardLogs();
                                    logs.Server = drStat["Server"].ToString();
                                    logs.BITSInstance = drStat["BITSInstance"].ToString();
                                    logs.KeyCode = drStat["KeyCode"].ToString();
                                    logs.Name = drStat["Name"].ToString().Replace("_Job in Initialization mode.", "");
                                    logs.StartTime = (DateTime?)drStat["StartTime"];
                                    logs.EndTime = (DateTime?)drStat["EndTime"];
                                    TimeSpan diffTime = (TimeSpan)(logs.EndTime - logs.StartTime);
                                    logs.Seconds = (int?)diffTime.TotalMinutes;
                                    logs.Message = drStat["Message"].ToString().Replace("\n", "|").Replace("\t", " ");



                                    // Error handeling 

                                    if (IsError(logs.Message) && listOfSupressedErrors.Contains(logs.Message))
                                        logs.Status = "Error";


                                    else if (drStat["Status"].ToString() == String.Empty)
                                    {

                                        double timeDiff = diffTime.TotalMinutes * 60;

                                        logs.Status = timeDiff > 0 ? "Completed" : "Running";
                                    }
                                    else if (drStat["Status"].ToString() == "Started")
                                    {
                                        logs.Status = "Running";
                                    }


                                    if (logs.StartTime >= maxDateTime)
                                        ef.AddTotbl_SLA_DashboardLogs(logs);


                                }
                                try
                                {
                                    ef.SaveChanges();

                                }
                                catch
                                {
                                    ;
                                }
                                finally {
                                    transactionScope.Complete();
                                }
                            }
                        }


                    }

                }
            }
      }
コード例 #56
0
        public void ExportToCsv(List<Gen4Transaction> Gen4ExportTransactions)
        {
            DateTime exportDateTime = DateTime.Now;

            StringBuilder sbExportFile = new StringBuilder();
            sbExportFile.AppendLine("TransactionID,ParentTransactionID,CustomerID,Company,CustomerName,CustomerEmail,CustomerPhone,LeadID,LeadType,Source,Description,TransactionType,IsReported,Action,Created");

            foreach (var gen4ExportTransaction in Gen4ExportTransactions)
            {
                sbExportFile.AppendLine(this.FormatForExportToCSV(gen4ExportTransaction.TransactionID.ToString()) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.ParentTransactionID.ToString()) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.CustomerID.ToString()) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.Company) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.CustomerName) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.CustomerEmail) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.CustomerPhone) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.LeadID.ToString()) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.LeadType) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.Source) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.Description) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.TransactionType) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.IsReported.ToString()) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.Action.ToString()) + "," +
                                        this.FormatForExportToCSV(gen4ExportTransaction.Created.ToString()));
            }

            string exportedFilename = this.GetExportFilename(exportDateTime);

            using (System.Transactions.TransactionScope trans = new System.Transactions.TransactionScope())
            {
                using (System.IO.StreamWriter sw = new System.IO.StreamWriter(exportedFilename))
                {
                    sw.WriteLine(sbExportFile);
                }
                
                Gen4LiveEntities gen4Ctx = new Gen4LiveEntities();
                foreach (var gen4ExportTransaction in Gen4ExportTransactions)
                {
                    var gen4Transaction = (from t in gen4Ctx.Gen4PplLedger
                                           where t.TransactionID == gen4ExportTransaction.TransactionID
                                           select t).Single();
                    gen4Transaction.IsReported = true;
                    gen4Transaction.ReportStatus = "Exported to CSV on " + exportDateTime.ToString();
                    gen4Transaction.LastModified = DateTime.Now;
                    gen4Ctx.SaveChanges();
                }

                trans.Complete();
            }            
        }
コード例 #57
0
ファイル: InstallWizard.cs プロジェクト: aknuds1/MvcInstaller
        /// <summary>
        /// Add users and roles inside a transaction in case there's an exception, 
        /// we can simply click the "Install" button again.
        /// </summary>
        /// <param name="config"></param>
        private static void AddUsers(InstallerConfig config)
        {
            if (config.Membership.Create)
            {
                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())
                {
                    // Now create the roles
                    foreach (var role in config.RoleManager.Roles)
                    {
                        if (!Roles.RoleExists(role.Name))
                            Roles.CreateRole(role.Name);
                        //throw new Exception("Error adding user - by King.");

                        // Now create user and add to role.
                        foreach (var user in role.Users)
                        {
                            MembershipCreateStatus status = MembershipCreateStatus.UserRejected;
                            MembershipUser u = System.Web.Security.Membership.CreateUser(user.UserName.Trim(), user.Password.Trim(), user.Email.Trim(),
                                user.SecretQuestion.Trim(), user.SecretAnswer.Trim(), true, out status);

                            if (status == MembershipCreateStatus.Success)
                            {
                                // Add user to role
                                Roles.AddUserToRole(user.UserName, role.Name);
                            }
                            else if (status == MembershipCreateStatus.DuplicateUserName)
                            {
                                // Add a duplicate username to another role.
                                // This allows the same user to be added to any number of roles.
                                try
                                {
                                    Roles.AddUserToRole(user.UserName, role.Name);
                                }
                                catch (Exception)
                                {
                                }
                            }
                            else if (status == MembershipCreateStatus.InvalidPassword)
                            {
                                throw new ApplicationException("Please update the install.config file.  The passwords don't adhere to the rules in the web.config/membership section.");
                            }
                        }
                    }
                    scope.Complete();
                }
            }
        }
コード例 #58
0
 public int Update(int RouteId, int PortalId, int ContentItemId, string CultureCode, string RouteName, string RouteUrl, string PhysicalFile,
 bool CheckPhysicalUrlAccess, string RouteValueDictionary, string Description, bool Discontinued)
 {
     int i = 0;
     using (CommonEntities dbContext = new CommonEntities())
     {
         using (System.Transactions.TransactionScope transcope = new System.Transactions.TransactionScope())
         {
             dbContext.Connection.Open();
             aspnet_Routes entity = dbContext.aspnet_Routes.Single(x => x.RouteId == RouteId);
             entity.PortalId = PortalId;
             entity.ContentItemId = ContentItemId;
             entity.CultureCode = CultureCode;
             entity.RouteName = RouteName;
             entity.RouteUrl = RouteUrl;
             entity.PhysicalFile = PhysicalFile;
             entity.CheckPhysicalUrlAccess = CheckPhysicalUrlAccess;
             entity.RouteValueDictionary = RouteValueDictionary;
             entity.Description = Description;
             entity.Discontinued = Discontinued;
             i = dbContext.SaveChanges();
             dbContext.Connection.Close();
             transcope.Complete();
         }
     }
     return i;
 }
コード例 #59
0
 public static void Delete(int RouteId)
 {
     using (CommonEntities dbContext = new CommonEntities())
     {
         using (System.Transactions.TransactionScope transcope = new System.Transactions.TransactionScope())
         {
             dbContext.Connection.Open();
             aspnet_Routes entity = dbContext.aspnet_Routes.Single(x => x.RouteId == RouteId);
             dbContext.aspnet_Routes.DeleteObject(entity);
             dbContext.SaveChanges();
             dbContext.Connection.Close();
             transcope.Complete();
         }
     }
 }
コード例 #60
0
        public void Save(Employee employee)
        {
            using (var transactionScope = new TransactionScope())
            {
                if (employee.IsNew)
                {
                    Add(employee);
                }
                else
                {
                    Update(employee);
                }

                foreach (var address in employee.Addresses)
                {
                    address.EmployeeId = employee.Id;
                    if (address.IsNew)
                    {
                        Add(address);
                    }
                    else
                    {
                        Update(address);
                    }
                }
                foreach (var roleId in employee.Roles.Select(x=>x.Id).Distinct())
                {
                    Add(employee.Id, roleId);
                }
                transactionScope.Complete();
            }
        }