コード例 #1
0
		protected void uploadProgress_DoPostedData(object sender, PostProgressDoPostedDataEventArgs eventArgs)
		{
			ProcessProgress.Current.Initialize(0, eventArgs.Steps.Count, 0);
			ProcessProgress.Current.Response();

			//接收客户端传递的附加数据
			ProcessProgress.Current.Response(eventArgs.ClientExtraPostedData);
			Thread.Sleep(1000);	//假装等待

			while (ProcessProgress.Current.CurrentStep < ProcessProgress.Current.MaxStep)
			{
				ProcessProgress.Current.Increment(string.Format("已经处理完成第\"{0}\"步", ProcessProgress.Current.CurrentStep));
				ProcessProgress.Current.Response();

				ProcessProgress.Current.Output.WriteLine("Processed = \"{0}\"", (ProcessProgress.Current.CurrentStep));

				Thread.Sleep(1000);	//假装等待
			}

			ProcessProgress.Current.Response("处理完成");

			eventArgs.Result.DataChanged = true;
			eventArgs.Result.CloseWindow = false;
			eventArgs.Result.ProcessLog = ProcessProgress.Current.GetDefaultOutput();
		}
コード例 #2
0
        private static void DeleteProgressNextStepDestroyUsers(PostProgressDoPostedDataEventArgs e, SCOrganization parent)
        {
            (e.Steps.Count > 0).FalseThrow <InvalidOperationException>("没有选择要删除的对象");

            var objectsToDelete = DbUtil.LoadObjects((from string id in e.Steps select id).ToArray());

            ProcessProgress.Current.Output.WriteLine("准备执行操作");
            PC.Executors.SCObjectOperations.InstanceWithPermissions.DeleteObjectsRecursively(objectsToDelete, parent);
            ProcessProgress.Current.Output.WriteLine("准备删除当前级别选定的人员……");

            foreach (var item in objectsToDelete)
            {
                if (item is PC.SCUser)
                {
                    try
                    {
                        PC.Executors.SCObjectOperations.InstanceWithPermissions.DeleteUser((PC.SCUser)item, null, false);
                        ProcessProgress.Current.Output.WriteLine("已删除用户{0}(ID:{1})", ((PC.SCUser)item).Name, item.ID);;
                    }
                    catch (Exception ex)
                    {
                        ProcessProgress.Current.Output.WriteLine("删除用户{0}(ID:{1})时发生错误:{2}", ((PC.SCUser)item).Name, item.ID, ex.ToString());;
                    }
                }
            }

            ProcessProgress.Current.Output.WriteLine("完毕");

            e.Result.CloseWindow = false;
            e.Result.ProcessLog  = ProcessProgress.Current.GetDefaultOutput();
        }
コード例 #3
0
        protected void uploadProgress_DoPostedData(object sender, PostProgressDoPostedDataEventArgs eventArgs)
        {
            ProcessProgress.Current.Initialize(0, eventArgs.Steps.Count, 0);
            ProcessProgress.Current.Response();

            //接收客户端传递的附加数据
            ProcessProgress.Current.Response(eventArgs.ClientExtraPostedData);
            Thread.Sleep(1000);                 //假装等待

            while (ProcessProgress.Current.CurrentStep < ProcessProgress.Current.MaxStep)
            {
                ProcessProgress.Current.Increment(string.Format("已经处理完成第\"{0}\"步", ProcessProgress.Current.CurrentStep));
                ProcessProgress.Current.Response();

                ProcessProgress.Current.Output.WriteLine("Processed = \"{0}\"", (ProcessProgress.Current.CurrentStep));

                Thread.Sleep(1000);                     //假装等待
            }

            ProcessProgress.Current.Response("处理完成");

            eventArgs.Result.DataChanged = true;
            eventArgs.Result.CloseWindow = false;
            eventArgs.Result.ProcessLog  = ProcessProgress.Current.GetDefaultOutput();
        }
コード例 #4
0
        private static void DeleteProgressNextStep(PostProgressDoPostedDataEventArgs e, SCOrganization parent)
        {
            (e.Steps.Count > 0).FalseThrow <InvalidOperationException>("没有选择要删除的对象");

            var objectsToDelete = DbUtil.LoadObjects((from string id in e.Steps select id).ToArray());

            ProcessProgress.Current.Output.WriteLine("准备执行操作");
            PC.Executors.SCObjectOperations.InstanceWithPermissions.DeleteObjectsRecursively(objectsToDelete, parent);
            ProcessProgress.Current.Output.WriteLine("完毕");

            e.Result.CloseWindow = false;
            e.Result.ProcessLog  = ProcessProgress.Current.GetDefaultOutput();
        }
コード例 #5
0
        protected void DoTransferProgress(object sender, PostProgressDoPostedDataEventArgs e)
        {
            try
            {
                string ser = (string)e.Steps[0];

                DeserialObject obj = JSONSerializerExecute.Deserialize <DeserialObject>(ser);

                BatchExecutor executor = null;

                switch (obj.ActionType)
                {
                case TransferActionType.UserCopyToGroup:
                    executor = new CopyUsersToGroupsTransfer(obj.OrgKey, obj.SrcKeys, obj.TargetKeys);
                    break;

                case TransferActionType.UserCopyToOrg:
                    executor = new CopyUsersToOrgsTransfer(obj.OrgKey, obj.SrcKeys, obj.TargetKeys);
                    break;

                case TransferActionType.UserMoveToOrg:
                    executor = new MoveUsersToOrgsTransfer(obj.OrgKey, obj.SrcKeys, obj.TargetKeys);
                    break;

                case TransferActionType.GroupMoveToOrg:
                case TransferActionType.OrgTransfer:
                case TransferActionType.MixedToOrg:
                    executor = new MoveObjectsToOrgTransfer(obj.OrgKey, obj.SrcKeys, obj.TargetKeys);
                    break;

                default:
                    throw new InvalidOperationException("没有指定如何操作");
                }

                executor.Execute();
            }
            catch (Exception ex)
            {
                ProcessProgress.Current.Output.WriteLine(ex.ToString());
            }

            e.Result.CloseWindow = false;
            e.Result.ProcessLog  = ProcessProgress.Current.GetDefaultOutput();
        }
コード例 #6
0
        protected void ProcessMoving(object sender, PostProgressDoPostedDataEventArgs e)
        {
            try
            {
                string ser = (string)e.Steps[0];

                DeserialObject obj = JSONSerializerExecute.Deserialize <DeserialObject>(ser);

                var executer = new BatchGroupTransferExecutor(obj.SrcKeys, obj.TargetKeys);

                executer.Execute();
            }
            catch (Exception ex)
            {
                ProcessProgress.Current.Output.WriteLine(ex.ToString());
            }

            e.Result.ProcessLog  = ProcessProgress.Current.GetDefaultOutput();
            e.Result.CloseWindow = false;
        }
コード例 #7
0
        protected void uploadProgress_DoPostedData(object sender, PostProgressDoPostedDataEventArgs eventArgs)
        {
            UploadProgressStatus status = new UploadProgressStatus();

            StringBuilder strB = new StringBuilder();

            status.CurrentStep = 1;
            status.MinStep     = 0;
            status.MaxStep     = eventArgs.Steps.Count;

            for (int i = status.MinStep; i < status.MaxStep; i++)
            {
                //处理订单,改变状态
                string orderID = (string)eventArgs.Steps[i];

                TestOrder order = Orders.Find(o => o.OrderID == orderID);

                if (order != null)
                {
                    order.Status = TestOrderStatus.Processed;
                }

                status.CurrentStep = i;
                status.Response();

                if (strB.Length > 0)
                {
                    strB.Append("\n");
                }

                strB.AppendFormat("Processed = {0}", (i + 1));
                Thread.Sleep(500);                      //假装等待
            }

            status.CurrentStep = status.MaxStep;
            status.Response();

            eventArgs.Result.DataChanged = true;
            eventArgs.Result.CloseWindow = false;
            eventArgs.Result.ProcessLog  = strB.ToString();
        }
コード例 #8
0
		protected void uploadProgress_DoPostedData(object sender, PostProgressDoPostedDataEventArgs eventArgs)
		{
			UploadProgressStatus status = new UploadProgressStatus();

			StringBuilder strB = new StringBuilder();

			status.CurrentStep = 1;
			status.MinStep = 0;
			status.MaxStep = eventArgs.Steps.Count;

			for (int i = status.MinStep; i < status.MaxStep; i++)
			{
				//处理订单,改变状态
				string orderID = (string)eventArgs.Steps[i];

				TestOrder order = Orders.Find(o => o.OrderID == orderID);

				if (order != null)
					order.Status = TestOrderStatus.Processed;

				status.CurrentStep = i;
				status.Response();

				if (strB.Length > 0)
					strB.Append("\n");

				strB.AppendFormat("Processed = {0}", (i + 1));
				Thread.Sleep(500);	//假装等待
			}

			status.CurrentStep = status.MaxStep;
			status.Response();

			eventArgs.Result.DataChanged = true;
			eventArgs.Result.CloseWindow = false;
			eventArgs.Result.ProcessLog = strB.ToString();
		}
コード例 #9
0
		protected void ProcessMoving(object sender, PostProgressDoPostedDataEventArgs e)
		{
			try
			{
				string ser = (string)e.Steps[0];

				DeserialObject obj = JSONSerializerExecute.Deserialize<DeserialObject>(ser);

				var executer = new BatchGroupTransferExecutor(obj.SrcKeys, obj.TargetKeys);

				executer.Execute();
			}
			catch (Exception ex)
			{
				ProcessProgress.Current.Output.WriteLine(ex.ToString());
			}

			e.Result.ProcessLog = ProcessProgress.Current.GetDefaultOutput();
			e.Result.CloseWindow = false;
		}
コード例 #10
0
        protected void DoDeleteProgressFull(object sender, PostProgressDoPostedDataEventArgs e)
        {
            var parent = (SCOrganization)DbUtil.GetEffectiveObject(this.deleteFullProgress.Tag, null);

            DeleteProgressNextStepDestroyUsers(e, parent);
        }
コード例 #11
0
		private static void DeleteProgressNextStepDestroyUsers(PostProgressDoPostedDataEventArgs e, SCOrganization parent)
		{
			(e.Steps.Count > 0).FalseThrow<InvalidOperationException>("没有选择要删除的对象");

			var objectsToDelete = DbUtil.LoadObjects((from string id in e.Steps select id).ToArray());

			ProcessProgress.Current.Output.WriteLine("准备执行操作");
			PC.Executors.SCObjectOperations.InstanceWithPermissions.DeleteObjectsRecursively(objectsToDelete, parent);
			ProcessProgress.Current.Output.WriteLine("准备删除当前级别选定的人员……");

			foreach (var item in objectsToDelete)
			{
				if (item is PC.SCUser)
				{
					try
					{
						PC.Executors.SCObjectOperations.InstanceWithPermissions.DeleteUser((PC.SCUser)item, null, false);
						ProcessProgress.Current.Output.WriteLine("已删除用户{0}(ID:{1})", ((PC.SCUser)item).Name, item.ID); ;
					}
					catch (Exception ex)
					{
						ProcessProgress.Current.Output.WriteLine("删除用户{0}(ID:{1})时发生错误:{2}", ((PC.SCUser)item).Name, item.ID, ex.ToString()); ;
					}
				}
			}

			ProcessProgress.Current.Output.WriteLine("完毕");

			e.Result.CloseWindow = false;
			e.Result.ProcessLog = ProcessProgress.Current.GetDefaultOutput();
		}
コード例 #12
0
		private static void DeleteProgressNextStep(PostProgressDoPostedDataEventArgs e, SCOrganization parent)
		{
			(e.Steps.Count > 0).FalseThrow<InvalidOperationException>("没有选择要删除的对象");

			var objectsToDelete = DbUtil.LoadObjects((from string id in e.Steps select id).ToArray());

			ProcessProgress.Current.Output.WriteLine("准备执行操作");
			PC.Executors.SCObjectOperations.InstanceWithPermissions.DeleteObjectsRecursively(objectsToDelete, parent);
			ProcessProgress.Current.Output.WriteLine("完毕");

			e.Result.CloseWindow = false;
			e.Result.ProcessLog = ProcessProgress.Current.GetDefaultOutput();
		}
コード例 #13
0
		protected void DoDeleteProgressFull(object sender, PostProgressDoPostedDataEventArgs e)
		{
			var parent = (SCOrganization)DbUtil.GetEffectiveObject(this.deleteFullProgress.Tag, null);

			DeleteProgressNextStepDestroyUsers(e, parent);
		}
コード例 #14
0
		protected void DoTransferProgress(object sender, PostProgressDoPostedDataEventArgs e)
		{
			try
			{
				string ser = (string)e.Steps[0];

				DeserialObject obj = JSONSerializerExecute.Deserialize<DeserialObject>(ser);

				BatchExecutor executor = null;

				switch (obj.ActionType)
				{
					case TransferActionType.UserCopyToGroup:
						executor = new CopyUsersToGroupsTransfer(obj.OrgKey, obj.SrcKeys, obj.TargetKeys);
						break;
					case TransferActionType.UserCopyToOrg:
						executor = new CopyUsersToOrgsTransfer(obj.OrgKey, obj.SrcKeys, obj.TargetKeys);
						break;
					case TransferActionType.UserMoveToOrg:
						executor = new MoveUsersToOrgsTransfer(obj.OrgKey, obj.SrcKeys, obj.TargetKeys);
						break;
					case TransferActionType.GroupMoveToOrg:
					case TransferActionType.OrgTransfer:
					case TransferActionType.MixedToOrg:
						executor = new MoveObjectsToOrgTransfer(obj.OrgKey, obj.SrcKeys, obj.TargetKeys);
						break;
					default:
						throw new InvalidOperationException("没有指定如何操作");
				}

				executor.Execute();
			}
			catch (Exception ex)
			{
				ProcessProgress.Current.Output.WriteLine(ex.ToString());
			}

			e.Result.CloseWindow = false;
			e.Result.ProcessLog = ProcessProgress.Current.GetDefaultOutput();
		}