示例#1
0
 private void InitData()
 {
     using (db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
     {
         TaskProxy TP = db.TaskProxy.SingleOrDefault(a => a.TaskProxyID == Convert.ToInt32(PageValue));
         if (TP.TaskDispose == "完成")
         {
             ClientScript.RegisterClientScriptBlock(typeof(string), "ShowMessage", "<script>alert('不能对已完成的委托任务进行修改! ');</script>");
             Response.Redirect("ProxyTaskManage.aspx");
         }
         if (TP != null)
         {
             this.StartTime.SelectedDate    = TP.StartTime;
             this.EndTime.SelectedDate      = TP.EndTime;
             this.txtFiduciary.Text         = db.EmpInfo.SingleOrDefault(u => u.EmpID == TP.ProxyFiduciary).Account;
             this.ddlTaskType.SelectedValue = TP.ProxyTaskType.ToString();
             this.txtRemark.Text            = TP.Remark.ToString();
         }
         else
         {
             ClientScript.RegisterClientScriptBlock(typeof(string), "ShowMessage", "<script>alert('记录不存在! ');</script>");
             Response.Redirect("ProxyTaskManage.aspx");
         }
     }
 }
示例#2
0
        /// <summary>
        /// 如果是登录用户是代理人,则执行代理任务
        /// </summary>
        /// <param name="Principal">委托人</param>
        /// <param name="proxyType">委托任务类型,如:正常出库</param>
        /// <returns>返回代理人ID</returns>
        public static int send(int Principal, int proxyType)
        {
            DateTime dateNow = Convert.ToDateTime("1900-1-1 00:00:00");

            using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
            {
                TaskProxy TP = db.TaskProxy.SingleOrDefault(u => u.ProxyPrincipal == Principal && u.ProxyTaskType == proxyType && u.TaskDispose != "已完成");
                MyProxy._Principal = Principal;
                if (TP != null)
                {
                    MyProxy._Fiduciary = TP.ProxyFiduciary;
                    MyProxy._ProxID    = TP.TaskProxyID;

                    TP.TaskDispose = "处理中";
                    db.SubmitChanges();
                    //服务器时间
                    var SevTime = db.ExecuteQuery <DateTime>("select  getdate()", new object[] { });
                    dateNow = SevTime.First();
                    //代理人是登录用户,且在代理任务期
                    if (dateNow >= TP.StartTime && dateNow <= TP.EndTime)
                    {
                        return(MyProxy._Fiduciary);
                    }
                    else
                    {
                        TP.TaskDispose = "已过期";
                        db.SubmitChanges();
                        return(MyProxy._Principal);
                    }
                }
            }
            return(MyProxy._Principal);
        }
示例#3
0
 public TaskWindow(ServiceClient service, TaskProxy task, ViewType typeView)
 {
     InitializeComponent();
     this.service     = service;
     this.currentTask = task;
     InitializeTask(typeView);
 }
示例#4
0
        private bool ShowCreateTask(ViewType typeView, TaskProxy task)
        {
            var taskWindow = new TaskWindow(service, task, typeView);

            taskWindow.Owner = this;
            return(taskWindow.ShowDialog().Value);
        }
示例#5
0
        public void GetTaskDetails(Model.Task task)
        {
            TaskProxy   taskProxy   = new TaskProxy();
            TaskAdapter taskAdapter = new TaskAdapter();

            SelectedTask = taskAdapter.GetTask(taskProxy.GetTaskDetails(task.ID));
        }
示例#6
0
 public List <TaskProxy> GetTasksByProjectId(int projectId)
 {
     using (var db = new DatabaseEntities())
     {
         var tasks = db.Tasks.Where(t => t.ProjectId == projectId).ToList();
         return(TaskProxy.GetListTasksProxy(tasks));
     }
 }
示例#7
0
 public List <TaskProxy> GetTasksByStatus(TaskStatusProxy status)
 {
     using (var db = new DatabaseEntities())
     {
         var tasks = db.Tasks.Where(t => t.TaskStatusId == status.Id).ToList();
         return(TaskProxy.GetListTasksProxy(tasks));
     }
 }
示例#8
0
 public List <TaskProxy> GetTasksAvailableById(int id)
 {
     using (var db = new DatabaseEntities())
     {
         var tasks = db.AccountsTasks.Where(at => at.Account == id).Include(t => t.Task1).Select(t => t.Task1).Include(t => t.Account).ToList();
         return(TaskProxy.GetListTasksProxy(tasks));
     }
 }
示例#9
0
        public void GetUserTasks()
        {
            TaskProxy   taskProxy   = new TaskProxy();
            TaskAdapter taskAdapter = new TaskAdapter();

            tasks = taskAdapter.GetTasks(taskProxy.GetUserTasks("564ce3525e5ca90003000005", AuthenticationControl.AccessToken)).OrderBy(t => t.DeliveryDate).ToList();
            Tasks = new ObservableCollection <Model.Task>(tasks);
        }
示例#10
0
 private void lvTaskList_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (lvTaskList.SelectedItem != null)
     {
         selectedTask            = lvTaskList.SelectedItem as TaskProxy;
         btnTaskEdit.IsEnabled   = true;
         btnTaskDelete.IsEnabled = true;
     }
 }
示例#11
0
 public void UpdateTask(int accountId, TaskProxy task)
 {
     dataAccess.UpdateTask(task);
     dataAccess.AddHistory(
         new HistoryProxy(
             0,
             DateTime.Now,
             string.Format("User {0} updated task {1}, to project {2}", dataAccess.GetAccountById(accountId).FullName, task.Name, dataAccess.GetProjectById(task.Project.Id).Name)),
         dataAccess.GetAccountListByProjectId(task.Project.Id)
         );
 }
示例#12
0
        private void lvTsTaskList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var task = lvTsTaskList.SelectedItem as TaskProxy;

            if (task == null)
            {
                return;
            }
            selectedTsTask = task;
            InitializeTaskView(task);
        }
示例#13
0
 /// <summary>
 /// 返回代理任务ID
 /// </summary>
 /// <param name="Principal">委托人</param>
 /// <param name="proxyType">委托任务类型</param>
 /// <returns></returns>
 public static int getProxyTaskId(int Principal, int proxyType)
 {
     using (MMSProDBDataContext db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
     {
         TaskProxy TP = db.TaskProxy.SingleOrDefault(u => u.ProxyPrincipal == Principal && u.ProxyTaskType == proxyType && u.TaskDispose != "已过期");
         if (TP != null)
         {
             MyProxy._ProxID = TP.TaskProxyID;
             return(MyProxy._ProxID);
         }
         return(0);
     }
 }
示例#14
0
        //##########################################
        //###########Tab item "my task"#############
        //##########################################

        private void InitializeTaskView(TaskProxy task)
        {
            tbTaskName.IsEnabled        = false;
            tbTaskDescription.IsEnabled = false;

            tbTaskName.Text        = task.Name;
            tbTaskDescription.Text = task.Description;
            if (task.Executor != null)
            {
                lblExecutor.Content = task.Executor.FullName;
            }
            UpdateComboBoxStatus(task);
            UpdateCommentList(task.Id);
        }
示例#15
0
        //        public static void LogHttpRequestMessage(this ClrHeap heap, ILogger logger)
        //        {
        //            foreach (var httpRequestMessageObject in heap.EnumerateObjectsByTypeName("System.Net.Http.HttpRequestMessage"))
        //            {
        //                var uri = GetUriFieldValueAsString(heap, httpRequestMessageObject, "requestUri");
        //                logger.LogInformation($"{httpRequestMessageObject.Address:X} {uri}");
        //            }
        //        }

        //        public static void LogHttpClientHandlerRequestState(this ClrHeap heap, ILogger logger, RuntimeContext runtimeContext)
        //        {
        //            foreach (var requestStateObject in runtimeContext.EnumerateObjectsByTypeName(
        //                "System.Net.Http.HttpClientHandler+RequestState", TraversingHeapModes.Live))
        //            {
        //                using (logger.BeginScope(requestStateObject.ToString()))
        //                {
        //                    var webRequestObject = requestStateObject.GetObjectField("webRequest");
        //                    var webRequestProxy = new HttpWebRequestProxy(runtimeContext, webRequestObject);
        //                    LogHttpWebRequest(logger, webRequestProxy);
        //
        //                    var tcsObject = requestStateObject.GetObjectField("tcs");
        //                    var taskObject = tcsObject.GetObjectField("m_task");
        //                    if (taskObject.Address != NullAddress)
        //                    {
        //                        var taskStatus = TaskProxy.GetStatus(taskObject);
        //
        //                        logger.LogInformation($"tcs.m_task status = {taskStatus}");
        //
        //                        var taskResultObject = taskObject.GetObjectField("m_result");
        //                        if (taskResultObject.Address != NullAddress)
        //                        {
        //// TODO get content from System.Net.Http.HttpResponseMessage
        //                            var contentObject = taskResultObject.GetObjectField("content");
        //
        //                            using (logger.BeginScope("content"))
        //                            {
        //                                if (contentObject.Address != NullAddress)
        //                                {
        //                                    var contentConsumed = contentObject.GetField<bool>("contentConsumed");
        //                                    var disposed = contentObject.GetField<bool>("disposed");
        //
        //                                    var logLevel = contentConsumed || disposed
        //                                        ? LogLevel.Information
        //                                        : LogLevel.Warning;
        //
        //                                    logger.Log(logLevel, $"contentConsumed: {contentConsumed}");
        //                                    logger.Log(logLevel, $"disposed: {disposed}");
        //                                }
        //                                else
        //                                {
        //                                    logger.LogInformation("NULL");
        //                                }
        //                            }
        //                        }
        //                    }
        //                    else
        //                    {
        //                        logger.LogInformation("tcs.m_task == null");
        //                    }
        //                }
        //            }
        //
        //            //                            foreach (var requestStateObject in GetAllReferencesTo(runtime, elAddress, "System.Net.Http.HttpClientHandler+RequestState"))
        ////                            {
        ////                                var taskObject = requestStateObject.GetObjectField("tcs")
        ////                                    .GetObjectField("m_task");
        ////
        ////                                var taskIsCompelted = TaskObjectTypeExtensions.TaskIsCompelted(taskObject.Address, taskObject.Type);
        ////                                logger.LogInformation($" taskIsCompelted = {taskIsCompelted}");
        ////
        //////                                foreach (var o in GetAllReferencesTo(runtime, taskObject.Address))
        //////                                {
        //////                                    logger.LogInformation(o);
        //////                                }
        ////                            }
        //        }
        //
        //        public static void LogHttpWebRequests(ILogger logger, RuntimeContext runtimeContext)
        //        {
        //            foreach (var httpWebRequestObject in runtimeContext.EnumerateObjectsByTypeName("System.Net.HttpWebRequest", TraversingHeapModes.All))
        //            {
        //                var httpWebRequestProxy = new HttpWebRequestProxy(runtimeContext, httpWebRequestObject);
        //                LogHttpWebRequest(logger, httpWebRequestProxy);
        //            }
        //        }

        public static void LogTaskCompletionSources(ILogger logger, RuntimeContext runtimeContext)
        {
            var heap = runtimeContext.Heap;

            logger.LogInformation("Task Completion Source:");

            var taskCompletionSourceQuery =
                from clrObject in heap.EnumerateObjects()
                let type = clrObject.Type
                           where type != null && !type.IsFree && type.Name != null &&
                           type.Name.StartsWith("System.Threading.Tasks.TaskCompletionSource", StringComparison.Ordinal)
                           select clrObject;

            var completedTaskCount = 0;
            var pendingTaskCount   = 0;

            foreach (var taskCompletionSourceAddress in taskCompletionSourceQuery)
            {
                var tcsObject = heap.GetObject(taskCompletionSourceAddress);

                logger.LogInformation($"{taskCompletionSourceAddress:X} {tcsObject.Type}");

                var task = tcsObject.ReadObjectField("m_task");

                if (task.IsNull)
                {
                    logger.LogInformation("\tm_task = {null}");
                }
                else
                {
                    var taskProxy = new TaskProxy(runtimeContext, task);

                    if (taskProxy.IsCompleted)
                    {
                        completedTaskCount++;
                    }
                    else
                    {
                        pendingTaskCount++;

                        logger.LogInformation($"\tm_task = {task} {taskProxy.Status}");
                    }
                }

                // var fieldType = runtime.Heap.GetObjectType(fieldAddress);
            }

            logger.LogInformation($"Pending task: {pendingTaskCount}");
            logger.LogInformation($"Completed task: {completedTaskCount}");
        }
示例#16
0
        private TaskProxy ToProxy()
        {
            TaskProxy proxy = new TaskProxy();

            proxy.Id            = this.Id;
            proxy.ReportKind    = this.ReportKind;
            proxy.FileName      = this.FileName;
            proxy.ReportName    = this.ReportName;
            proxy.Message       = this.Message;
            proxy.ReportNames   = this.ReportNames;
            proxy.CheckedStatus = this.CheckedStatus;
            proxy.State         = this.State;
            return(proxy);
        }
示例#17
0
        public void UpdateTask(TaskProxy task)
        {
            using (var db = new DatabaseEntities())
            {
                var oldTask = db.Tasks.FirstOrDefault(t => t.Id == task.Id);
                if (oldTask == null)
                {
                    return;
                }
                oldTask.Name        = task.Name;
                oldTask.Description = task.Description;

                db.SaveChanges();
            }
        }
示例#18
0
 private void UpdateComboBoxStatus(TaskProxy task)
 {
     Task.Run(() =>
     {
         cbTaskStatus.Dispatcher.Invoke(() =>
         {
             var statusList           = service.GetTaskStatusListByProjectId(task.Project.Id);
             cbTaskStatus.ItemsSource = statusList;
             if (task.TaskStatus != null)
             {
                 cbTaskStatus.SelectedItem = statusList.FirstOrDefault(s => s.Id == task.TaskStatus.Id);
             }
         });
     });
 }
示例#19
0
        private void btnTaskAdd_Click(object sender, RoutedEventArgs e)
        {
            var t = service.CreateTask(User.Instance.Account.Id, new TaskProxy(0, "", "", currentProject, service.GetTaskStatusListByProjectId(currentProject.Id).FirstOrDefault()));

            selectedTask = t;
            var task = new TaskWindow(service, selectedTask, ViewType.Edit);

            if (task.ShowDialog() == true)
            {
                UpdateTaskList(currentProject.Id);
            }
            else
            {
                service.DeleteTaskById(User.Instance.Account.Id, t.Id);
            }
        }
示例#20
0
        public TaskProxy CreateTask(TaskProxy task)
        {
            using (var db = new DatabaseEntities())
            {
                var t = db.Tasks.Add(new Database.Task()
                {
                    Name         = task.Name,
                    Description  = task.Description,
                    ProjectId    = task.Project.Id,
                    TaskStatusId = task.TaskStatus.Id
                });

                db.SaveChanges();

                return(GetTaskById(t.Id));
            }
        }
示例#21
0
        private void btnPrjCreateTask_Click(object sender, RoutedEventArgs e)
        {
            var t = service.CreateTask(User.Instance.Account.Id, new TaskProxy(0, "", "", selectedProject, service.GetTaskStatusListByProjectId(selectedProject.Id).FirstOrDefault()));

            selectedPrjTask = t;
            if (ShowCreateTask(ViewType.Edit, selectedPrjTask))
            {
                if (selectedProject != null)
                {
                    UpdatePrjTaskList(service.GetTasksByProjectId(selectedProject.Id));
                }
            }
            else
            {
                service.DeleteTaskById(User.Instance.Account.Id, t.Id);
            }
        }
示例#22
0
        public void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.ddlTaskType.SelectedItem.Text == "--请选择--")
                {
                    ClientScript.RegisterClientScriptBlock(typeof(string), "ShowMessage", "<script>alert('请选择委托任务类型')</script>");
                    return;
                }

                using (db = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
                {
                    TaskProxy TPY = db.TaskProxy.SingleOrDefault(u => u.TaskProxyType.TaskProxyTypeName == this.ddlTaskType.SelectedItem.Text && u.ProxyPrincipal == reEmpId(SPContext.Current.Web.CurrentUser.LoginName.ToString()) && u.TaskDispose != "已完成");
                    if (TPY != null)
                    {
                        ClientScript.RegisterClientScriptBlock(typeof(string), "ShowMessage", "<script>alert(' 同一委托类型不能重复创建委托人')</script>");
                        return;
                    }


                    TaskProxy TP = new TaskProxy();

                    TP.ProxyPrincipal = db.EmpInfo.SingleOrDefault(u => u.Account == SPContext.Current.Web.CurrentUser.LoginName.ToString()).EmpID;
                    TP.ProxyFiduciary = reEmpId(this.txtFiduciary.Text.Trim());
                    TP.ProxyTaskType  = Convert.ToInt32(this.ddlTaskType.SelectedValue);
                    TP.StartTime      = this.StartTime.SelectedDate;
                    TP.EndTime        = this.EndTime.SelectedDate;
                    TP.TaskDispose    = "待处理";
                    TP.Remark         = this.txtRemark.Text.Trim();
                    var SevTime = db.ExecuteQuery <DateTime>("select  getdate()", new object[] { });
                    TP.CreateTime = SevTime.First();
                    db.TaskProxy.InsertOnSubmit(TP);
                    db.SubmitChanges();
                }
                Response.Redirect("ProxyTaskManage.aspx", false);
            }
            catch (Exception ex)
            {
                MethodBase    mb      = MethodBase.GetCurrentMethod();
                LogToDBHelper lhelper = LogToDBHelper.Instance;
                lhelper.WriteLog(ex.Message, "错误", string.Format("{0}.{1}", mb.ReflectedType.Name, mb.Name));
                ClientScript.RegisterClientScriptBlock(typeof(string), "提示", string.Format("<script>alert('{0}')</script>", LogToDBHelper.LOG_MSG_INSERTERROR));
            }
        }
示例#23
0
 /// <summary>
 /// 检查代理任务是否过期,
 /// 过期将修改状态
 /// </summary>
 private void CheckTimeExpired()
 {
     //检查时间是否过期
     using (MMSProDBDataContext data = new MMSProDBDataContext(ConfigurationManager.ConnectionStrings["mmsConString"].ConnectionString))
     {
         var SevTime = data.ExecuteQuery <DateTime>("select  getdate()", new object[] { });
         timeServer = SevTime.First();
         var temp = from a in data.TaskProxy
                    select new { a.TaskProxyID, a.EndTime };
         var list = temp.ToList();
         for (int i = 0; i < list.Count; i++)
         {
             //如果过期
             if (list[i].EndTime < timeServer)
             {
                 TaskProxy TP = data.TaskProxy.SingleOrDefault(u => u.TaskProxyID == list[i].TaskProxyID);
                 TP.TaskDispose = "已过期";
                 data.SubmitChanges();
             }
         }
     }
 }
示例#24
0
 public void UpdateTask(TaskProxy task)
 {
     taskControl.UpdateTask(task);
 }
示例#25
0
 public TaskProxy CreateTask(TaskProxy task)
 {
     return(taskControl.CreateTask(task));
 }
示例#26
0
 protected override bool OnExecute() => TaskProxy.WriteVersionInfoToBuildLog(this);
示例#27
0
 protected override bool OnExecute() => TaskProxy.GetVersion(this);
示例#28
0
 protected override bool OnExecute() => TaskProxy.UpdateAssemblyInfo(this);
 public override bool Execute() => TaskProxy.WriteVersionInfoToBuildLog(this);
示例#30
0
 public override bool Execute() => TaskProxy.GetVersion(this);