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(); }
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(); }
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(); }
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(); }
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; }
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(); }
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(); }
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; }
protected void DoDeleteProgressFull(object sender, PostProgressDoPostedDataEventArgs e) { var parent = (SCOrganization)DbUtil.GetEffectiveObject(this.deleteFullProgress.Tag, null); DeleteProgressNextStepDestroyUsers(e, parent); }
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(); }
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(); }
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(); }