/// <summary>
 /// 删除T_PM_SeedUsers数据
 /// </summary>
 /// <param name="requestObject"></param>
 /// <returns></returns>
 public async Task <ResponseObject <bool> > DeleteAsync(RequestDelete <DeleteModel> requestObject)
 {
     try
     {
         //执行结果
         var result = false;
         //没有删除数据,返回错误信息
         if (requestObject.PostData == null && requestObject.PostDataList == null)
         {
             return(ResponseUtil <bool> .FailResult(false, "PostData、PostDataList不能都为null"));
         }
         //批量删除的优先级高于单记录删除
         if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
         {
             //批量删除
             var ids = requestObject.PostDataList.Select(p => p.ID);
             result = await _db.Instance.Deleteable <TPMSeedUsersDbModel>().In(ids).ExecuteCommandAsync() > 0;
         }
         else
         {
             //单记录删除
             result = await _db.Instance.Deleteable <TPMSeedUsersDbModel>().In(requestObject.PostData.ID).ExecuteCommandAsync() > 0;
         }
         //返回执行结果
         return(result ? ResponseUtil <bool> .SuccessResult(true) : ResponseUtil <bool> .FailResult(false, "删除数据失败!"));
     }
     catch (Exception ex)
     {
         //返回异常结果
         return(ResponseUtil <bool> .FailResult(false, ex.Message));
     }
 }
Example #2
0
        private static void TestDelete(
            Action <string> log,
            int numberOfThreads,
            RingMasterBackendCore backendCore,
            ClientSession clientSession)
        {
            var sw   = new Stopwatch();
            var data = new byte[PayloadLength];

            var countPerThread = TotalNodeCount / numberOfThreads;
            var threads        = Enumerable.Range(0, numberOfThreads)
                                 .Select(n => new Thread(() =>
            {
                for (int i = 0; i < countPerThread; i++)
                {
                    var delReq = new RequestDelete($"/test/{n}/{i}", null, -1, null, true);
                    backendCore.ProcessMessage(delReq, clientSession, null);
                }
            }))
                                 .ToArray();

            int gen0 = GC.CollectionCount(0), gen1 = GC.CollectionCount(1), gen2 = GC.CollectionCount(2);

            sw.Start();

            Parallel.ForEach(threads, t => t.Start());
            Parallel.ForEach(threads, t => t.Join());
            sw.Stop();

            var rate = 10 * countPerThread * numberOfThreads / sw.Elapsed.TotalSeconds;

            log($"Delete nodes: {sw.Elapsed} QPS={rate:G3}");
            log($"  Gen0={GC.CollectionCount(0) - gen0} Gen1={GC.CollectionCount(1) - gen1} Gen2={GC.CollectionCount(2) - gen2}\n");
        }
Example #3
0
        ////////////////////// Invocacaoes ao core ///////////////////////////
        private static MetaserverResponse Delete(MetaRequest request)
        {
            RequestDelete      deleteRequest = (RequestDelete)request;
            MetaserverResponse response;

            //Invocar o servidor
            try
            {
                Boolean success = core.Delete(deleteRequest.FileName, request.ClientId);
                if (success)
                {
                    response = new MetaserverResponse(ResponseStatus.Success, request, ThisMetaserverId);
                }
                else
                {
                    response           = new MetaserverResponse(ResponseStatus.Exception, request, ThisMetaserverId);
                    response.Exception = new PadiException(PadiExceptiontType.DeleteFile, "File not deleted");
                }
            }
            catch (Exception ex)
            {
                response           = new MetaserverResponse(ResponseStatus.Exception, request, ThisMetaserverId);
                response.Exception = new PadiException(PadiExceptiontType.DeleteFile, ex.Message);
            }

            return(response);
        }
        /// <summary>
        /// 删除配色项目,单个节点
        /// </summary>
        /// <param name="requestDelete"></param>
        /// <returns></returns>
        public async Task <ResponseObject <bool> > DeleteAsync(RequestDelete <DeleteModel> requestDelete)
        {
            try
            {
                //如果没有新增数据,返回错误信息
                if (requestDelete.PostData == null)
                {
                    return(ResponseUtil <bool> .FailResult(false, "PostData至少包含一条数据"));
                }


                #region 先注释
                ////删除包型的配色项目 则删除
                //var thisModel = _db.Instance.Queryable<TMMColorItemDbModel>().Where(p => p.ID == requestDelete.PostData.ID).First();

                //if (thisModel != null)
                //{
                //    //含有这个包型 和 配色项目的BOM
                //    List<int> ColorSolutionIds = _db.Instance.Queryable<TMMBOMMainDbModel, TMMBOMDetailDbModel>((t, t1) => new object[] { JoinType.Inner, t.ID == t1.MainId })
                //        .Where((t, t1) => t.PackageId == thisModel.PackageId && t1.ItemId == thisModel.ItemId).Select((t, t1) => t.ID).Distinct().ToList();

                //    if (ColorSolutionIds.Count() > 0)
                //    {
                //        bool isExis = _db.Instance.Queryable<TMMProductionOrderDetailDbModel, TMMProductionOrderMainDbModel>((t, t1) => new object[] {
                //        JoinType.Inner,t.MainId==t1.ID}).Any((t, t1) => t1.DeleteFlag == false &&
                //             SqlFunc.IsNull(t1.MRPStatus, false) == false &&
                //             ColorSolutionIds.Contains(t.ColorSolutionId.Value)
                //            ); // 是否存在没有算料的生成单

                //        if (isExis)
                //        {
                //            throw new Exception("存在使用此配色项目的生产单,还没有进行算料,请将生产单算料,或者删除生产");
                //        }
                //    }

                //    //删除此包型所有的配色项目
                //  var deleteColorSolution=  _db.Instance.Deleteable<TMMColorSolutionDetailDbModel>().Where(p => p.ItemId == thisModel.ItemId &&
                //    SqlFunc.Subqueryable<TMMColorSolutionMainDbModel>().Where(p1 => p1.ID == p.MainId && p1.PackageId == thisModel.PackageId).Any());

                //    //删除BOM
                //    _db.Instance.Deleteable<TMMBOMDetailDbModel>().Where(p => p.ItemId == thisModel.ItemId && SqlFunc.Subqueryable<TMMBOMMainDbModel>().
                //    Where(p1 => p1.ID == p.MainId && p1.PackageId == thisModel.PackageId).Any());
                //}

                #endregion

                var result = await _db.Instance.Deleteable <TMMColorItemDbModel>()
                             .Where(p => p.ID == requestDelete.PostData.ID)
                             .ExecuteCommandAsync() > 0;

                //返回执行结果
                return(result ? ResponseUtil <bool> .SuccessResult(true) : ResponseUtil <bool> .FailResult(false, "删除数据失败!"));
            }
            catch (Exception ex)
            {
                //返回异常结果
                return(ResponseUtil <bool> .FailResult(false, ex.Message));
            }
        }
Example #5
0
        public TResult Delete <TResult>(
            SecurityToken mySecurity,
            Int64 myTransactionToken,
            RequestDelete myRequestDelete,
            Converter.DeleteResultConverter <TResult> myOutputconverter)
        {
            var executedRequest = _requestManager.SynchronExecution(new PipelineableDeleteRequest(myRequestDelete,
                                                                                                  mySecurity,
                                                                                                  myTransactionToken));

            return(((PipelineableDeleteRequest)executedRequest).GenerateRequestResult(myOutputconverter));
        }
        /// <summary>
        /// 删除T_PSM_PurchaseOrderMain数据
        /// </summary>
        /// <param name="requestObject">Delete请求参数</param>
        /// <param name="currentUser"></param>
        /// <returns>返回响应结果对象,包括响应代码,删除操作结果</returns>
        public async Task <ResponseObject <bool> > DeleteAsync(RequestDelete <DeleteModel> requestObject, CurrentUser currentUser)
        {
            var currDb = _db.Instance;//事务需要使用同一个 SqlSugarClient对象实例

            try
            {
                if (requestObject.PostData == null && requestObject.PostDataList == null)
                {
                    return(ResponseUtil <bool> .FailResult(false, "PostData、PostDataList不能都为null"));
                }
                //开启事务
                currDb.BeginTran();
                //删除标识
                var mainFlag   = true;
                var detailFlag = true;
                if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
                {
                    //批量删除
                    var mainIds = requestObject.PostDataList.Select(p => p.ID).ToList();
                    mainFlag = await _db.Instance.Updateable <TPSMPurchaseOrderMainDbModel>()
                               .SetColumns(p => p.DeleteFlag == true)
                               .Where(p => mainIds.Contains(p.ID))
                               .ExecuteCommandAsync() > 0;

                    DeleteTransNum(mainIds.ToArray(), currentUser);
                }
                else
                {
                    //单条删除
                    mainFlag = await _db.Instance.Updateable <TPSMPurchaseOrderMainDbModel>()
                               .SetColumns(p => p.DeleteFlag == true)
                               .Where(p => p.ID == requestObject.PostData.ID)
                               .ExecuteCommandAsync() > 0;

                    DeleteTransNum(new int[] { requestObject.PostData.ID }, currentUser);
                }


                //提交事务
                currDb.CommitTran();
                //返回执行结果
                return(mainFlag && detailFlag
                    ? ResponseUtil <bool> .SuccessResult(true)
                    : ResponseUtil <bool> .FailResult(false, "删除数据失败!"));
            }
            catch (Exception ex)
            {
                //回滚事务
                currDb.RollbackTran();
                //返回异常结果
                return(ResponseUtil <bool> .FailResult(false, ex.Message));
            }
        }
        public static OutputValues RequestDeleteContact(string contactId)
        {
            Pointel.Logger.Core.ILog logger           = Pointel.Logger.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "AID");
            OutputValues             output           = OutputValues.GetInstance();
            RequestDelete            reqDeleteContact = new RequestDelete();

            try
            {
                reqDeleteContact.ContactId = contactId;
                if (Settings.UCSProtocol != null && Settings.UCSProtocol.State == ChannelState.Opened)
                {
                    logger.Info("------------RequestDeleteContact-------------");
                    logger.Info("ContactId  : " + contactId);
                    logger.Info("---------------------------------------------------");
                    IMessage message = Settings.UCSProtocol.Request(reqDeleteContact);
                    if (message != null)
                    {
                        logger.Trace(message.ToString());
                        output.IContactMessage = message;
                        output.MessageCode     = "200";
                        output.Message         = "Contact Deleted Successfully";
                    }
                    else
                    {
                        output.IContactMessage = null;
                        output.MessageCode     = "2001";
                        output.Message         = "Can't Delete Contact Successfully";
                    }
                }
                else
                {
                    output.IContactMessage = null;
                    output.MessageCode     = "2001";
                    output.Message         = "Universal Contact Server protocol is Null or Closed";
                    logger.Warn("RequestDeleteContact() : Contact Server protocol is Null..");
                }
            }
            catch (Exception generalException)
            {
                logger.Error("Error occurred while Delete Contact " + generalException.ToString());
                output.MessageCode = "2001";
                output.Message     = generalException.Message;
            }

            return(output);
        }
Example #8
0
        /// <summary>
        /// Serialize <see cref="RequestDelete"/>.
        /// </summary>
        /// <param name="request">Request to serialize</param>
        private void SerializeRequestDelete(RequestDelete request)
        {
            this.binaryWriter.Write(request.Version);

            if (this.versionToUse >= SerializationFormatVersions.Version18)
            {
                this.binaryWriter.Write((ushort)request.DeleteMode);
            }
            else
            {
                if ((request.DeleteMode & ~DeleteMode.CascadeDelete) != DeleteMode.None)
                {
                    throw new NotSupportedException("Marshaller protocol version " + this.versionToUse + " doesn't support DeleteMode other than CascadeDelete");
                }

                this.binaryWriter.Write(request.IsCascade);
            }
        }
Example #9
0
        public String Delete(String filename)
        {
            log.Debug(DateTime.Now.Ticks + " Delete: " + filename);
            Console.WriteLine("#Delete: " + filename);
            RequestDelete deleteRequest = new RequestDelete(filename);

            log.Debug(DateTime.Now.Ticks + " [M] Send Delete: " + filename);
            MetaserverResponse response = MetaserverClient.SendRequestToMetaserver(deleteRequest);

            if (response.Status != ResponseStatus.Success)
            {
                Console.WriteLine("#DELETE  Error closing on server " + filename);
                log.Debug(DateTime.Now.Ticks + " Delete done: " + filename);
                return("#DELETE  Error deleting on server " + filename);
            }
            Console.WriteLine("#DELETE: Success: " + filename);
            log.Debug(DateTime.Now.Ticks + " Delete done: " + filename);
            return("#DELETE: Success: " + filename);
        }
Example #10
0
        public Message CreateDeleteRequest(RmReference objectId)
        {
            if (objectId == null)
            {
                throw new ArgumentNullException("objectId");
            }

            RequestDelete deleteRequest = new RequestDelete();

            deleteRequest.ResourceReferenceProperty = objectId.Value;

            Message msgRequest = null;

            lock (deleteRequest)
            {
                msgRequest = Message.CreateMessage(MessageVersion.Default, Constants.WsTransfer.DeleteAction, deleteRequest, new ClientSerializer(typeof(RequestDelete)));
                ClientHelper.AddRmHeaders(deleteRequest, msgRequest);
            }

            return(msgRequest);
        }
Example #11
0
 /// <summary>
 /// 删除T_MM_Formula数据
 /// </summary>
 /// <param name="requestObject"></param>
 /// <returns></returns>
 public async Task <ResponseObject <bool> > DeleteAsync(RequestDelete <DeleteModel> requestObject)
 {
     try
     {
         //执行结果
         var result = false;
         //没有删除数据,返回错误信息
         if (requestObject.PostData == null && requestObject.PostDataList == null)
         {
             return(ResponseUtil <bool> .FailResult(false, "PostData、PostDataList不能都为null"));
         }
         //批量删除的优先级高于单记录删除
         if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
         {
             //批量删除
             var ids = requestObject.PostDataList.Select(p => p.ID);
             result = await _db.Instance.Updateable <TMMFormulaDbModel>()
                      .SetColumns(p => p.DeleteFlag == true)
                      .Where(p => ids.Contains(p.ID))
                      .ExecuteCommandAsync() > 0;
         }
         else
         {
             //单记录删除
             result = await _db.Instance.Updateable <TMMFormulaDbModel>()
                      .SetColumns(p => p.DeleteFlag == true)
                      .Where(p => p.ID == requestObject.PostData.ID)
                      .ExecuteCommandAsync() > 0;
         }
         //返回执行结果
         return(result ? ResponseUtil <bool> .SuccessResult(true) : ResponseUtil <bool> .FailResult(false, "删除数据失败,数据可能已删除!"));
     }
     catch (Exception ex)
     {
         //返回异常结果
         return(ResponseUtil <bool> .FailResult(false, ex.Message));
     }
 }
 /// <summary>
 /// 删除T_BM_Package数据
 /// </summary>
 /// <param name="requestObject"></param>
 /// <returns></returns>
 public async Task <ResponseObject <bool> > DeleteAsync(RequestDelete <DeleteModel> requestObject, CurrentUser currentUser)
 {
     try
     {
         //执行结果
         var result = false;
         //没有删除数据,返回错误信息
         if (requestObject.PostData == null && requestObject.PostDataList == null)
         {
             return(ResponseUtil <bool> .FailResult(false, "PostData、PostDataList不能都为null"));
         }
         //批量删除的优先级高于单记录删除
         if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
         {
             //批量删除
             var mainIds = requestObject.PostDataList.Select(p => p.ID).ToList();
             await _db.Instance.Updateable <TBMPackageDbModel>()
             .SetColumns(p => p.DeleteFlag == true)
             .Where(p => mainIds.Contains(p.ID) && p.CompanyId == currentUser.CompanyID)
             .ExecuteCommandAsync();
         }
         else
         {
             //单条删除
             await _db.Instance.Updateable <TBMPackageDbModel>()
             .SetColumns(p => p.DeleteFlag == true)
             .Where(p => p.ID == requestObject.PostData.ID && p.CompanyId == currentUser.CompanyID)
             .ExecuteCommandAsync();
         }
         //返回执行结果
         return(ResponseUtil <bool> .SuccessResult(true));
     }
     catch (Exception ex)
     {
         //返回异常结果
         return(ResponseUtil <bool> .FailResult(false, ex.Message));
     }
 }
        public static RequestDelete MakeRequestDelete(ServiceVertexType myVertexType, IEnumerable <Int64> myVertexIDs = null, ServiceDeletePayload myDeletePayload = null)
        {
            RequestGetVertices PreRequest = null;

            if (myVertexIDs != null)
            {
                PreRequest = new RequestGetVertices(myVertexType.Name, myVertexIDs);
            }
            else
            {
                PreRequest = new RequestGetVertices(myVertexType.Name);
            }

            RequestDelete Request = new RequestDelete(PreRequest);

            if (myDeletePayload != null)
            {
                foreach (var toDel in myDeletePayload.ToBeDeletedAttributes)
                {
                    Request.AddAttribute(toDel);
                }
            }
            return(Request);
        }
        /// <summary>
        /// 删除配色项目,所有节点
        /// </summary>
        /// <param name="requestDelete"></param>
        /// <returns></returns>
        public async Task <ResponseObject <bool> > DeleteAllAsync(RequestDelete <DeleteModel> requestDelete, CurrentUser currentUser)
        {
            try
            {
                //如果没有新增数据,返回错误信息
                if (requestDelete.PostData == null)
                {
                    return(ResponseUtil <bool> .FailResult(false, "PostData至少包含一条数据"));
                }

                var toDelteModel = _db.Instance.Queryable <TMMColorItemDbModel> ()
                                   .Where(p => p.PackageId == requestDelete.PostData.ID).Select(p => p).ToList();

                var dic = _db.Instance.Queryable <TBMDictionaryDbModel, TBMDictionaryTypeDbModel>((t, t1) => new object[] {
                    JoinType.Inner, t.TypeId == t1.ID
                }).Where((t, t1) => t1.TypeName == "配色方案" && t1.CompanyId == currentUser.CompanyID).ToList();

                var packageList = _db.Instance.Queryable <TBMPackageDbModel>().Where(p => p.CompanyId == currentUser.CompanyID).ToList();

                foreach (var itemDel in toDelteModel)
                {
                    if (_db.Instance.Queryable <TMMBOMMainDbModel, TMMBOMDetailDbModel>((t, t1) => new object[] { JoinType.Inner, t.ID == t1.MainId })
                        .Any((t, t1) => t.PackageId == itemDel.PackageId && t1.ItemId == itemDel.ItemId)) //此包型的BOM是否包含被删除的配色项目
                    {
                        string itemName    = dic.Where(p => p.ID == itemDel.ItemId).FirstOrDefault()?.DicValue;
                        string packageName = packageList.Where(p => p.ID == itemDel.PackageId).FirstOrDefault()?.DicValue;

                        bool isExis = _db.Instance.Queryable <TMMProductionOrderDetailDbModel, TMMProductionOrderMainDbModel>((t, t1) => new object[] {
                            JoinType.Inner, t.MainId == t1.ID
                        }).Any((t, t1) => t1.DeleteFlag == false &&
                               SqlFunc.IsNull(t1.MRPStatus, false) == false && t1.AuditStatus == 2 &&
                               t.PackageId == itemDel.PackageId
                               );  // 是否存在没有算料的生产单

                        if (isExis)
                        {
                            throw new Exception($"已审核通过的生产单,正在使用包型'{packageName}'Bom的配色项目{itemName},请将生产单算料,或者删除包型Bom的配色项目'{itemName}'");
                        }

                        //删除此包型所有的配色项目
                        var deleteColorSolution = _db.Instance.Deleteable <TMMColorSolutionDetailDbModel>().Where(p => p.ItemId == itemDel.ItemId &&
                                                                                                                  SqlFunc.Subqueryable <TMMColorSolutionMainDbModel>().Where(p1 => p1.ID == p.MainId && p1.PackageId == itemDel.PackageId).Any());

                        //删除BOM
                        _db.Instance.Deleteable <TMMBOMDetailDbModel>().Where(p => p.ItemId == itemDel.ItemId && SqlFunc.Subqueryable <TMMBOMMainDbModel>().
                                                                              Where(p1 => p1.ID == p.MainId && p1.PackageId == itemDel.PackageId).Any());
                    }
                }


                var result = await _db.Instance.Deleteable <TMMColorItemDbModel>()
                             .Where(p => p.PackageId == requestDelete.PostData.ID)
                             .ExecuteCommandAsync() > 0;

                //返回执行结果
                return(result ? ResponseUtil <bool> .SuccessResult(true) : ResponseUtil <bool> .FailResult(false, "新增数据失败!"));
            }
            catch (Exception ex)
            {
                //返回异常结果
                return(ResponseUtil <bool> .FailResult(false, ex.Message));
            }
        }
Example #15
0
        /// <summary>
        /// Deserialize <see cref="IZooKeeperRequest"/>
        /// </summary>
        /// <param name="xid">the callid</param>
        /// <param name="type">type of the call</param>
        /// <param name="sessionState">The PerSession State</param>
        /// <param name="ringMasterRequest">The ring master request.</param>
        /// <exception cref="System.ArgumentException">unknown type  + type</exception>
        /// <returns>The Zookeeper Request</returns>
        private IZooKeeperRequest DeserializeZooKeeperRequest(int xid, ZooKeeperRequestType type, ZkprPerSessionState sessionState, out IRingMasterRequest ringMasterRequest)
        {
            ringMasterRequest = null;
            switch (type)
            {
            case ZooKeeperRequestType.Notification:     // "0" for Createing a session
                ringMasterRequest = null;
                return(this.DeserializeNotification(xid));

            case ZooKeeperRequestType.CreateSession:
                ZkprProtocolMessages.CreateSession cs = this.DeserializeCreateSession();
                ringMasterRequest            = new RequestInit((ulong)cs.SessionId, cs.IsNullPassword ? string.Empty : cs.Password);
                sessionState.ConnectRecieved = true;
                return(cs);

            case ZooKeeperRequestType.Exists:
                ZkprProtocolMessages.Exists ex = this.DeserializeExists(xid);
                ringMasterRequest = new RequestExists(ex.Path, ex.Watch == false ? null : new Watcher((ulong)xid, WatcherKind.OneUse));
                return(ex);

            case ZooKeeperRequestType.GetChildren:
                ZkprProtocolMessages.GetChildren gc = this.DeserializeGetChildren(xid);
                ringMasterRequest = new RequestGetChildren(gc.Path, gc.Watch == false ? null : new Watcher((ulong)xid, WatcherKind.OneUse), null);
                return(gc);

            case ZooKeeperRequestType.GetChildren2:
                ZkprProtocolMessages.GetChildren2 gc2 = this.DeserializeGetChildren2(xid);
                ringMasterRequest = new RequestGetChildren(gc2.Path, gc2.Watch == false ? null : new Watcher((ulong)xid, WatcherKind.OneUse), null);
                return(gc2);

            case ZooKeeperRequestType.GetData:
                ZkprProtocolMessages.GetData gd = this.DeserializeGetData(xid);
                ringMasterRequest = new RequestGetData(gd.Path, RequestGetData.GetDataOptions.None, gd.Watch == false ? null : new Watcher((ulong)xid, WatcherKind.OneUse));
                return(gd);

            case ZooKeeperRequestType.Create:
                ZkprProtocolMessages.Create cr   = this.DeserializeCreate(xid);
                IReadOnlyList <Acl>         acls = this.TranslateZkprAclListToRMAclList(cr.Acls);
                CreateMode cm = this.TranslateZkprCreatFlagsToRmCreateMode(cr.Flags);
                ringMasterRequest = new RequestCreate(cr.Path, cr.Data, acls, cm);
                return(cr);

            case ZooKeeperRequestType.Create2:
                ZkprProtocolMessages.Create2 cr2   = this.DeserializeCreate2(xid);
                IReadOnlyList <Acl>          acls2 = this.TranslateZkprAclListToRMAclList(cr2.Acls);
                CreateMode cm2 = this.TranslateZkprCreatFlagsToRmCreateMode(cr2.Flags);
                ringMasterRequest = new RequestCreate(cr2.Path, cr2.Data, acls2, cm2);
                return(cr2);

            case ZooKeeperRequestType.SetData:
                ZkprProtocolMessages.SetData sd = this.DeserializeSetData(xid);
                ringMasterRequest = new RequestSetData(sd.Path, sd.Data, sd.Version);
                return(sd);

            case ZooKeeperRequestType.Delete:
                ZkprProtocolMessages.Delete dl = this.DeserializeDelete(xid);
                ringMasterRequest = new RequestDelete(dl.Path, dl.Version, false);
                return(dl);

            case ZooKeeperRequestType.Ping:
                ringMasterRequest = null;
                return(this.DeserializePing(xid));

            case ZooKeeperRequestType.CloseSession:
                ringMasterRequest            = null;
                sessionState.ConnectRecieved = false;     // Renegotiate the CreateSession
                return(this.DeserializeCloseSession(xid));

            case ZooKeeperRequestType.GetACL:
                ZkprProtocolMessages.GetACL ga = this.DeserializeGetACL(xid);
                ringMasterRequest = new RequestGetAcl(ga.Path, null);
                return(ga);

            case ZooKeeperRequestType.SetACL:
                ZkprProtocolMessages.SetACL sa      = this.DeserializeSetACL(xid);
                IReadOnlyList <Acl>         sa_acls = this.TranslateZkprAclListToRMAclList(sa.Acls);
                ringMasterRequest = new RequestSetAcl(sa.Path, sa_acls, sa.Version);
                return(sa);

            case ZooKeeperRequestType.Multi:
                ZkprProtocolMessages.Multi mu    = this.DeserializeMulti(xid);
                IReadOnlyList <Op>         rmOps = this.TranslateZkprOpsListToRmOpsList(mu.Ops);
                ringMasterRequest = new RequestMulti(rmOps, false);
                return(mu);

            case ZooKeeperRequestType.Auth:
                ZkprProtocolMessages.Auth au = this.DeserializeAuth(xid);
                ringMasterRequest = new RequestSetAuth(au.RmAuthId);
                return(au);

            case ZooKeeperRequestType.Check:
            case ZooKeeperRequestType.Sync:
            case ZooKeeperRequestType.Reconfig:
            case ZooKeeperRequestType.SetWatches:
            case ZooKeeperRequestType.RemoveWatches:
            case ZooKeeperRequestType.CreateContainer:
            case ZooKeeperRequestType.DeleteContainer:
            case ZooKeeperRequestType.Sasl:
            case ZooKeeperRequestType.Error:
            default:
                break;
            }

            return(null);
        }
 /// <summary>
 /// Creates a new pipelineable clear request
 /// </summary>
 /// <param name="myClearRequest">The clear request</param>
 /// <param name="mySecurity">The security token of the request initiator</param>
 /// <param name="myTransactionToken">The myOutgoingEdgeVertex transaction token</param>
 public PipelineableDeleteRequest(RequestDelete myDeleteRequest, SecurityToken mySecurity,
                                  Int64 myTransactionToken)
     : base(mySecurity, myTransactionToken)
 {
     _request = myDeleteRequest;
 }
        private void CacheInvalidate(IRingMasterClientCache cache, IRingMasterRequest req)
        {
            if (cache == null || req == null)
            {
                return;
            }

            switch (req.RequestType)
            {
            case RingMasterRequestType.GetData:
            case RingMasterRequestType.GetChildren:
            case RingMasterRequestType.GetAcl:
            case RingMasterRequestType.Exists:
                return;

            case RingMasterRequestType.Create:
            {
                cache.Invalidate(this.cachePrefix, req.Path);
                cache.Invalidate(this.cachePrefix, PrefixedClientCache.GetParent(req.Path));
                break;
            }

            case RingMasterRequestType.Delete:
            {
                RequestDelete delete = req as RequestDelete;

                if (delete.IsCascade)
                {
                    cache.Wipe(this.cachePrefix);
                }
                else
                {
                    cache.Invalidate(this.cachePrefix, req.Path);
                    cache.Invalidate(this.cachePrefix, PrefixedClientCache.GetParent(req.Path));
                }

                break;
            }

            case RingMasterRequestType.Move:
            {
                RequestMove move = req as RequestMove;

                cache.Invalidate(this.cachePrefix, move.Path);
                cache.Invalidate(this.cachePrefix, PrefixedClientCache.GetParent(move.Path));
                cache.Invalidate(this.cachePrefix, PrefixedClientCache.GetParent(move.PathDst));
                break;
            }

            default:
            {
                cache.Invalidate(this.cachePrefix, req.Path);

                AbstractRingMasterCompoundRequest list = req as AbstractRingMasterCompoundRequest;

                if (list != null && list.Requests != null)
                {
                    foreach (IRingMasterRequest child in list.Requests)
                    {
                        this.CacheInvalidate(cache, child);
                    }
                }

                break;
            }
            }
        }
Example #18
0
 public TResult Delete <TResult>(sones.Library.Commons.Security.SecurityToken mySecurityToken, Int64 myTransactionToken, RequestDelete myRequestDelete, Converter.DeleteResultConverter <TResult> myOutputconverter)
 {
     return(_iGraphDB.Delete <TResult>(mySecurityToken,
                                       myTransactionToken,
                                       myRequestDelete,
                                       myOutputconverter));
 }
Example #19
0
 public void DoRequestDelete()
 {
     RequestDelete?.Invoke(this, EventArgs.Empty);
 }
Example #20
0
 public TResult Delete <TResult>(sones.Library.Commons.Security.SecurityToken mySecurityToken, Int64 myTransactionToken, RequestDelete myRequestDelete, Converter.DeleteResultConverter <TResult> myOutputconverter)
 {
     throw new NotImplementedException();
 }
Example #21
0
 public override void Delete(RequestDelete myDeleteRequest, SecurityToken mySecurityToken, Int64 myTransactionToken)
 {
     GetVertices(myDeleteRequest.ToBeDeletedVertices, myTransactionToken, mySecurityToken);
 }
Example #22
0
 public CommandDeleteRow(string tableName, int id)
 {
     _request = new RequestDelete(tableName, id);
 }
Example #23
0
 /// <summary>
 /// Deletes a set of vertices
 /// </summary>
 /// <param name="myDeleteRequest">The request that represents the delete operation</param>
 /// <param name="mySecurityToken">The current security token</param>
 /// <param name="myTransactionToken">The current transaction token</param>
 public abstract void Delete(RequestDelete myDeleteRequest, SecurityToken mySecurityToken, Int64 myTransactionToken);
Example #24
0
 private void OnRequestDelete(EventArgs e)
 {
     RequestDelete?.Invoke(this, e);
 }
        public async Task <ResponseObject <bool> > Delete(RequestDelete <DeleteModel> requestObject)
        {
            var user = TokenManager.GetCurentUserbyToken(Request.Headers);

            return(await _service.DeleteAsync(requestObject, user));
        }
        /// <summary>
        /// 删除T_WM_SalesMain数据
        /// </summary>
        /// <param name="requestObject">Delete请求参数</param>
        /// <returns>返回响应结果对象,包括响应代码,删除操作结果</returns>
        public async Task <ResponseObject <bool> > DeleteAsync(RequestDelete <DeleteModel> requestObject, CurrentUser currentUser)
        {
            var currDb = _db.Instance;//事务需要使用同一个 SqlSugarClient对象实例

            try
            {
                if (requestObject.PostData == null && requestObject.PostDataList == null)
                {
                    return(ResponseUtil <bool> .FailResult(false, "PostData、PostDataList不能都为null"));
                }
                //开启事务
                currDb.BeginTran();
                //删除标识
                var mainFlag   = true;
                var detailFlag = true;
                //var materList = BasicCacheGet.GetMaterial(currentUser);

                List <int> IDS = new List <int>();

                if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
                {
                    IDS      = requestObject.PostDataList.Select(p => p.ID).ToList();
                    mainFlag = await _db.Instance.Updateable <TWMSalesMainDbModel>()
                               .SetColumns(p => p.DeleteFlag == true)
                               .Where(p => IDS.Contains(p.ID))
                               .ExecuteCommandAsync() > 0;
                }
                else
                {
                    IDS.Add(requestObject.PostData.ID);
                    //单条删除
                    mainFlag = await _db.Instance.Updateable <TWMSalesMainDbModel>()
                               .SetColumns(p => p.DeleteFlag == true)
                               .Where(p => p.ID == requestObject.PostData.ID)
                               .ExecuteCommandAsync() > 0;
                }

                //批量删除



                foreach (int ids in IDS)
                {
                    List <TSSMSalesOrderDetailDbModel> toEdit = new List <TSSMSalesOrderDetailDbModel>();            //可转销售单详细信息
                    var mainEntity = _db.Instance.Queryable <TWMSalesMainDbModel>().Where(P => P.ID == ids).First(); //可转销售单主表

                    var listItem = _db.Instance.Queryable <TSSMSalesOrderDetailDbModel>().
                                   Where(t => t.MainId == mainEntity.SourceId).ToList(); //可转销售单详细信息

                    var whDetailList = currDb.Queryable <TWMSalesDetailDbModel>().Where(p => p.MainId == ids).ToList();

                    foreach (var item in whDetailList)
                    {
                        //var me = materList.Where(p => p.ID == item.MaterialId).FirstOrDefault();
                        //* decimal proNum = UnitChange.TranserUnit(me, UnitType.Warehouse, UnitType.Sales, item.ActualNum);

                        var m = listItem.Where(p => p.ID == item.SalesOrderDetailId).FirstOrDefault();
                        if (m != null)
                        {
                            //m.TransferNum = m.TransferNum + proNum;
                            m.TransferNum = m.TransferNum + item.SalesOrderActualNum;
                            toEdit.Add(m);
                        }
                    }

                    if (toEdit.Count() > 0)
                    {
                        _db.Instance.Updateable(toEdit).ExecuteCommand();
                    }

                    if (!_db.Instance.Queryable <TSSMSalesOrderDetailDbModel>().Any(p => p.TransferNum > 0 && p.MainId == mainEntity.SourceId))
                    {
                        _db.Instance.Updateable <TSSMSalesOrderMainDbModel>().Where(p => p.ID == mainEntity.SourceId).SetColumns(p => p.TransferStatus == false).ExecuteCommand();
                    }
                    else
                    {
                        _db.Instance.Updateable <TSSMSalesOrderMainDbModel>().Where(p => p.ID == mainEntity.SourceId).SetColumns(p => p.TransferStatus == true).ExecuteCommand();
                    }
                }

                //提交事务
                currDb.CommitTran();
                //返回执行结果
                return(mainFlag && detailFlag ? ResponseUtil <bool> .SuccessResult(true) : ResponseUtil <bool> .FailResult(false, "删除数据失败!"));
            }
            catch (Exception ex)
            {
                //回滚事务
                currDb.RollbackTran();
                //返回异常结果
                return(ResponseUtil <bool> .FailResult(false, ex.Message));
            }
        }
 public async Task <ResponseObject <bool> > Delete(RequestDelete <DeleteModel> requestObject)
 {
     return(await _service.DeleteAsync(requestObject));
 }
Example #28
0
 internal ServiceDeletePayload(RequestDelete myRequestDelete)
 {
     this.ToBeDeletedAttributes = (myRequestDelete.ToBeDeletedAttributes == null)
         ? null : myRequestDelete.ToBeDeletedAttributes.ToList();
 }
Example #29
0
        /// <summary>
        /// 删除T_WM_ProductionWhMain数据
        /// </summary>
        /// <param name="requestObject">Delete请求参数</param>
        /// <returns>返回响应结果对象,包括响应代码,删除操作结果</returns>
        public async Task <ResponseObject <bool> > DeleteAsync(RequestDelete <DeleteModel> requestObject, CurrentUser currentUser)
        {
            var currDb = _db.Instance;//事务需要使用同一个 SqlSugarClient对象实例

            try
            {
                if (requestObject.PostData == null && requestObject.PostDataList == null)
                {
                    return(ResponseUtil <bool> .FailResult(false, "PostData、PostDataList不能都为null"));
                }
                //开启事务
                currDb.BeginTran();
                //删除标识
                var mainFlag   = true;
                var detailFlag = true;

                var materList = BasicCacheGet.GetMaterial(currentUser);



                if (requestObject.PostDataList != null && requestObject.PostDataList.Count > 0)
                {
                    //批量删除
                    var mainIds = requestObject.PostDataList.Select(p => p.ID).ToList();

                    foreach (int ids in mainIds)
                    {
                        List <TMMWhApplyDetailDbModel> toEdit = new List <TMMWhApplyDetailDbModel>();
                        var mainEntity = _db.Instance.Queryable <TWMProductionMainDbModel>().Where(P => P.ID == ids).First();

                        var listItem = _db.Instance.Queryable <TMMWhApplyDetailDbModel>().Where(t => t.MainId == mainEntity.SourceId).ToList();

                        var whDetailList = currDb.Queryable <TWMProductionWhDetailDbModel>().Where(p => p.MainId == ids).ToList();

                        foreach (var item in whDetailList)
                        {
                            var me = materList.Where(p => p.ID == item.MaterialId).FirstOrDefault();
                            var m  = listItem.Where(p => p.ID == item.ProOrderDetailId).FirstOrDefault();
                            m.TransNum = m.TransNum + item.ProActualNum;
                            toEdit.Add(m);
                        }
                        if (toEdit != null && toEdit.Count() > 0)
                        {
                            _db.Instance.Updateable <TMMWhApplyDetailDbModel>(toEdit).ExecuteCommand();
                        }

                        if (!_db.Instance.Queryable <TMMWhApplyDetailDbModel>().Any(p => p.TransNum > 0 && p.MainId == mainEntity.SourceId))
                        {
                            _db.Instance.Updateable <TMMWhApplyMainDbModel>().Where(p => p.ID == mainEntity.SourceId).SetColumns(p => p.TransferFlag == false).ExecuteCommand();
                        }
                        else
                        {
                            _db.Instance.Updateable <TMMWhApplyMainDbModel>().Where(p => p.ID == mainEntity.SourceId).SetColumns(p => p.TransferFlag == true).ExecuteCommand();
                        }
                    }



                    mainFlag = await _db.Instance.Updateable <TWMProductionWhMainDbModel>()
                               .SetColumns(p => p.DeleteFlag == true)
                               .Where(p => mainIds.Contains(p.ID))
                               .ExecuteCommandAsync() > 0;
                }
                else
                {
                    List <TMMWhApplyDetailDbModel> toEdit = new List <TMMWhApplyDetailDbModel>();

                    var mainEntity = _db.Instance.Queryable <TWMProductionWhMainDbModel>().Where(P => P.ID == requestObject.PostData.ID).First();

                    var listItem = _db.Instance.Queryable <TMMWhApplyDetailDbModel>().Where(t => t.MainId == mainEntity.SourceId).ToList();

                    var whDetailList = currDb.Queryable <TWMProductionWhDetailDbModel>().Where(p => p.MainId == requestObject.PostData.ID).ToList();

                    foreach (var item in whDetailList)
                    {
                        var me = materList.Where(p => p.ID == item.MaterialId).FirstOrDefault();

                        var m = listItem.Where(p => p.ID == item.ProOrderDetailId).FirstOrDefault();
                        if (m != null)
                        {
                            m.TransNum = m.TransNum + item.ProActualNum;
                            toEdit.Add(m);
                        }
                    }

                    if (toEdit != null && toEdit.Count() > 0)
                    {
                        _db.Instance.Updateable <TMMWhApplyDetailDbModel>(toEdit).ExecuteCommand();
                    }

                    if (!_db.Instance.Queryable <TMMWhApplyDetailDbModel>().Any(p => p.TransNum > 0 && p.MainId == mainEntity.SourceId))
                    {
                        _db.Instance.Updateable <TMMWhApplyMainDbModel>().Where(p => p.ID == mainEntity.SourceId).SetColumns(p => p.TransferFlag == false).ExecuteCommand();
                    }
                    else
                    {
                        _db.Instance.Updateable <TMMWhApplyMainDbModel>().Where(p => p.ID == mainEntity.SourceId).SetColumns(p => p.TransferFlag == true).ExecuteCommand();
                    }

                    //单条删除
                    mainFlag = await _db.Instance.Updateable <TWMProductionWhMainDbModel>()
                               .SetColumns(p => p.DeleteFlag == true)
                               .Where(p => p.ID == requestObject.PostData.ID)
                               .ExecuteCommandAsync() > 0;
                }
                //提交事务
                currDb.CommitTran();
                //返回执行结果
                return(mainFlag && detailFlag ? ResponseUtil <bool> .SuccessResult(true) : ResponseUtil <bool> .FailResult(false, "删除数据失败!"));
            }
            catch (Exception ex)
            {
                //回滚事务
                currDb.RollbackTran();
                //返回异常结果
                return(ResponseUtil <bool> .FailResult(false, ex.Message));
            }
        }
Example #30
0
 private void Delete() => RequestDelete?.Invoke(this, EventArgs.Empty);