Пример #1
0
        public static TaskModel ToModel(this Task entity, TaskModel model = null)
        {
            if (model == null)
                model = new TaskModel();

            model.Id = entity.Id;
            model.Done = entity.Done;
            model.Importance = entity.Importance.ToString();
            model.Description = entity.Description;
            model.Name = entity.Name;
            model.Created = entity.Created;

            return model;
        }
Пример #2
0
        public ActionResult Card(int id)
        {
            var model = new TaskModel();

            try
            {
                var dbTask = _unitOfWork.Repository<Task>().Query.FirstOrDefault(f => f.Id == id);
                dbTask.ToModel(model);
            }
            catch (System.Exception ex)
            {
                Logger.Error("OnCard", ex);
            }

            return View(model);
        }
        public TaskModel SaveTask(string userId, TaskModel taskModel)
        {
            Task task;

            if (string.IsNullOrEmpty(taskModel.UserId) && taskModel.Id == 0)
            {
                task = Mapper.Map<TaskModel, Task>(taskModel);
                task.BeginDate = DateTime.Now;
                task.UserId = userId;
            }
            else
            {                
                var originTask = Repository.Task(userId, taskModel.Id);

                if (originTask.ParentId.HasValue)
                {
                    taskModel.ParentId = originTask.ParentId;
                }

                if (taskModel.Complete)
                {
                    taskModel.EndDate = DateTime.Now;

                    originTask.Subtasks.Each(
                        s =>
                            {
                                s.Complete = true;
                                s.EndDate = DateTime.Now;
                            });
                }

                task = Mapper.Map(taskModel, originTask);
            }


            return Mapper.Map<Task, TaskModel>(Repository.SaveTask(task)); 
        }
Пример #4
0
 public void UpdateTask(TaskModel tsk)
 {
     _businessLayer.UpdateTask(tsk);
 }
Пример #5
0
 public void Add(TaskModel taskModel)
 {
     this._applicationDbContext.Add(taskModel);
 }
 public TaskPresenter(TaskView taskView)
 {
     _taskView  = taskView;
     _taskModel = new TaskModel();
 }
 public static void RemoveTask(TaskModel task)
 {
     tasks.Remove(task);
     SaveTasks();
 }
Пример #8
0
 /// <summary>
 /// Stop and end a task right now (using the StopAndEndTask method).
 /// </summary>
 /// <param name="TaskToStop"></param>
 public void StopAndEndTaskNow(TaskModel TaskToStop)
 {
     StopAndEndTask(TaskToStop, DateTime.Now);
 }
Пример #9
0
        public List <TaskModel> SearchTask(TaskModel taskModel)
        {
            TaskEntities entity    = new TaskEntities();
            DateTime     startDate = DateTime.Now;
            DateTime     endDate   = DateTime.Now;

            if (!string.IsNullOrEmpty(taskModel.StartDateString))
            {
                startDate = Convert.ToDateTime(taskModel.StartDateString);
            }
            if (!string.IsNullOrEmpty(taskModel.EndDateString))
            {
                endDate = Convert.ToDateTime(taskModel.EndDateString);
            }

            var taskE = (from task in entity.Tasks.Include("ParentTask")
                         //where ((!string.IsNullOrEmpty(taskModel.Task) ? task.Task1.Contains(taskModel.Task) : true)
                         //&& (!string.IsNullOrEmpty(taskModel.ParentTask) ? task.ParentTask.Parent_Task.Contains(taskModel.ParentTask) : true)
                         //&& ((taskModel.Priority != null && taskModel.PriorityEnd != null && task.Priority >= taskModel.Priority && task.Priority <= taskModel.PriorityEnd) || (taskModel.Priority != null && taskModel.PriorityEnd == null && task.Priority >= taskModel.Priority) || (taskModel.PriorityEnd != null && taskModel.Priority != null && task.Priority <= taskModel.PriorityEnd))
                         //&& ((taskModel.StartDate != null && taskModel.EndDate != null && task.Start_Date >= startDate && task.End_Date <= endDate) || (taskModel.StartDate != null && taskModel.EndDate == null && task.Start_Date >= startDate) || (taskModel.EndDate != null && taskModel.StartDate == null && task.End_Date <= endDate))
                         //)
                         select new TaskModel()
            {
                TaskId = task.Task_Id,
                Task = task.Task1,
                ParentTask = task.ParentTask.Parent_Task,
                Priority = task.Priority,
                StartDate = task.Start_Date,
                EndDate = task.End_Date,
                ParentId = task.ParentTask.Parent_Id,
            }).ToList();

            List <TaskModel> taskDeatisls = taskE;

            if (!string.IsNullOrEmpty(taskModel.Task))
            {
                taskDeatisls = taskDeatisls.Where(x => x.Task.ToUpper() == taskModel.Task.ToUpper()).ToList();
            }
            if (!string.IsNullOrEmpty(taskModel.ParentTask))
            {
                taskDeatisls = taskDeatisls.Where(x => x.ParentTask.ToUpper() == taskModel.ParentTask.ToUpper()).ToList();
            }

            int?startPriority = taskModel.Priority;
            int?endPriority   = taskModel.PriorityEnd;

            if (taskModel.Priority != null && taskModel.PriorityEnd != null)
            {
                taskDeatisls = taskDeatisls.Where(x => x.Priority <= endPriority && x.Priority >= startPriority).ToList();
            }
            if (taskModel.Priority != null && taskModel.PriorityEnd == null)
            {
                taskDeatisls = taskDeatisls.Where(x => x.Priority == startPriority).ToList();
            }
            if (taskModel.Priority == null && taskModel.PriorityEnd != null)
            {
                taskDeatisls = taskDeatisls.Where(x => x.Priority == endPriority).ToList();
            }

            if (!string.IsNullOrEmpty(taskModel.StartDateString) && !string.IsNullOrEmpty(taskModel.EndDateString))
            {
                taskDeatisls = taskDeatisls.Where(x => x.StartDate <= endDate && x.EndDate >= startDate).ToList();
            }
            if (!string.IsNullOrEmpty(taskModel.StartDateString) && string.IsNullOrEmpty(taskModel.EndDateString))
            {
                taskDeatisls = taskDeatisls.Where(x => x.StartDate == startDate).ToList();
            }
            if (string.IsNullOrEmpty(taskModel.StartDateString) && !string.IsNullOrEmpty(taskModel.EndDateString))
            {
                taskDeatisls = taskDeatisls.Where(x => x.EndDate == endDate).ToList();
            }


            if (taskDeatisls != null)
            {
                foreach (var item in taskDeatisls)
                {
                    if (item.StartDate != null)
                    {
                        item.StartDateString = item.StartDate.ToString();
                    }
                    if (item.EndDate != null)
                    {
                        item.EndDateString = item.EndDate.ToString();
                    }
                }
            }
            return(taskDeatisls);
        }
Пример #10
0
        public ActionResult Save(TaskModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var err = "Errors" +
                              string.Join(", ",
                                  ModelState.Values.SelectMany(p => p.Errors)
                                      .Select(p => p.ErrorMessage));
                    Logger.Fatal("OnSave: " + err);

                    throw new ValidationException(err);
                }

                if (model.Id == 0)
                {
                    var user = WebSecurity.GetUser(User.Identity.Name);

                    var dbTask = model.ToEntity();
                    var dbUser = _unitOfWork.Repository<User>().Query.FirstOrDefault(f => f.Id.Equals((System.Guid)user.ProviderUserKey));
                    dbTask.User = dbUser;

                    _unitOfWork.Repository<Task>().MarkToAdd(dbTask);
                }
                else
                {
                    var dbTask = _unitOfWork.Repository<Task>().Query.FirstOrDefault(f => f.Id == model.Id);
                    _unitOfWork.Repository<Task>().MarkToUpdate(model.ToEntity(dbTask));
                }

                _unitOfWork.Save();
            }
            catch (System.Exception ex)
            {
                Logger.Error("OnSave", ex);
                return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.Message);
            }

            return Json(new { result = "Ok" });
        }
Пример #11
0
 /// <summary>
 /// Stops a task (without setting it done)
 /// </summary>
 /// <param name="TaskToStop"></param>
 internal void StopTask(TaskModel TaskToStop)
 {
     var task = context.Tasks.Find(TaskToStop.Id);
     task.State = null;
     context.SaveChanges();
 }
Пример #12
0
 public WorldModel Add(TaskModel task)
 {
     return new WorldModel(Entity, Task.Add(task.Id, task), Plan, Holding, Doing, BelongsTo);
 }
Пример #13
0
        /// <summary>
        /// Creates a new phase for the given task.
        /// </summary>
        /// <param name="OwnerTask"></param>
        /// <param name="PhaseStartDate">Start date of task phase</param>
        internal void StartTaskPhase(TaskModel OwnerTask, DateTime PhaseStartDate)
        {
            var taskPhase = new TaskPhaseModel()
            {
                TaskId = OwnerTask.Id,
                StartDate = PhaseStartDate
            };

            context.TaskPhases.Add(taskPhase);
            context.SaveChanges();
            Log.Debug().WriteLine("Start new task phase for taskid {0} ", OwnerTask.Id);
        }
Пример #14
0
 /// <summary>
 /// Stops and end a task by setting it's state to done and by setting
 /// an end date.
 /// </summary>
 /// <param name="TaskToStop"></param>
 /// <param name="DoneDate">Task done date.</param>
 internal void StopAndEndTask(TaskModel TaskToStop, DateTime DoneDate)
 {
     var task = context.Tasks.Find(TaskToStop.Id);
     task.State = TaskState.DONE;
     task.DoneDate = DoneDate;
     context.SaveChanges();
 }
Пример #15
0
 /// <summary>
 /// Start a task.
 /// </summary>
 /// <param name="TaskToStart"></param>
 /// <param name="TaskStartDate">Start date of task</param>
 internal void StartTask(TaskModel TaskToStart, DateTime TaskStartDate)
 {
     var task = context.Tasks.Find(TaskToStart.Id);
     if (task.StartDate == null) task.StartDate = TaskStartDate;
     task.State = TaskState.ACTIVE;
     context.SaveChanges();
 }
Пример #16
0
 /// <summary>
 /// Marks the task with the given Id as NEXT
 /// </summary>
 /// <param name="TaskId"></param>
 internal TaskModel MarkTaskAsNext(TaskModel nextTask)
 {
     if (nextTask != null)
     {
         ResetNextTask();
         nextTask.State = TaskState.NEXT;
         context.SaveChanges();
     }
     return nextTask;
 }
Пример #17
0
        /// <summary>
        /// Ends the active task phase of the owner task
        /// </summary>
        /// <param name="OwnerTask"></param>
        /// <param name="PhaseEndDate">Task phase end</param>
        internal void EndTaskPhase(TaskModel OwnerTask, DateTime PhaseEndDate)
        {
            var lastTaskPhase = context.TaskPhases.Where(p => p.TaskId == OwnerTask.Id)
                .Where(p => p.EndDate == null).FirstOrDefault();

            lastTaskPhase.EndDate = PhaseEndDate;
            context.SaveChanges();
            Log.Debug().WriteLine("End task phase for taskid {0}", OwnerTask.Id);
        }
Пример #18
0
 public ActionMetaData SalesForceAddTask(int?userID, int customerID, TaskModel model)
 {
     return(Execute <AddTask>(customerID, userID, customerID, model));
 }
Пример #19
0
 public static void Insert(TaskModel Task)
 {
     BaseDAO.Insert("Tasks", Columns.Fill(Task, false));
 }
Пример #20
0
        public async Task <IActionResult> UpdateTask([FromBody] TaskModel taskModel)
        {
            var model = await _taskService.UpdateTask(taskModel);

            return(Ok(model));
        }
Пример #21
0
 public static void Update(long id, TaskModel Task)
 {
     BaseDAO.Update("Tasks", new Dictionary <string, object> {
         { Columns.IdTask, id }
     }, Columns.Fill(Task, false));
 }
Пример #22
0
 public CsvImportCommand(TaskModel taskModel, Action <string> output)
 {
     this.output    = output;
     this.taskModel = taskModel;
 }
Пример #23
0
        public IActionResult EditTask(TaskModel Task)
        {
            Task = TaskQuery.UpdateTask(Task); //save task info to database

            return(Redirect("~/Task/Close"));  //call  script to automatically close the window
        }
Пример #24
0
        public List<TaskModel> GetTask(string userId, string statusId, string clientId, string page, string pageSize)
        {
            string sql = GetSql.GetTaskSql(Convert.ToInt32(statusId),
                                           Convert.ToInt32(userId),
                                           Convert.ToInt32(clientId),
                                           Convert.ToInt32(page),
                                           Convert.ToInt32(pageSize));
            var dt = this.db.Database.SqlQueryForDataTatable(sql);
            List<TaskModel> models = new List<TaskModel>();
            foreach (DataRow item in dt.Rows)
            {
                TaskModel model = new TaskModel();
                model.TaskId = int.Parse(item["id"].ToString());
                model.StatusId = item["status"].ToString() != "" ? int.Parse(item["status"].ToString()) : -1;
                model.Tax = item["tax"].ToString() != "" ? int.Parse(item["tax"].ToString()) : -1;
                model.RequestTime = item["requesttime"].ToString() != ""
                    ? item.Field<DateTime>("requesttime")
                    : DateTime.MaxValue;
                model.Content = item.Field<string>("content");
                model.CreatedTime = item["createtime"].ToString() != ""
                    ? item.Field<DateTime>("createtime")
                    : DateTime.MaxValue;
                model.IsMain = item["ismain"].ToString() != "" ? int.Parse(item["ismain"].ToString()) : -1;
                model.Fee = item["feiyong"].ToString() != "" ? item.Field<decimal>("feiyong") : -1;
                model.Type = item["type"].ToString();
                model.CreatedUser = item["createuser"].ToString() != "" ? int.Parse(item["createuser"].ToString()) : -1;
                model.CreatedUserName = item["createName"].ToString();
                model.ClientName = item["clientName"].ToString();
                model.ClientAddress = item["clientAddress"].ToString();
                model.ClientTel = item["clientTel"].ToString();
                model.ClientMobile = item["clientMobile"].ToString();
                model.ClientFax = item["clientFax"].ToString();
                model.VisitResult = item["visitresult"].ToString();
                model.VisitRemark = item["visitremark"].ToString();
                model.VisitTime = item["visittime"].ToString() != ""
                    ? item.Field<DateTime>("visittime")
                    : DateTime.MaxValue;
                model.VisitUser = item["visituser"].ToString() != "" ? int.Parse(item["visituser"].ToString()) : -1;
                model.VisitUserName = item["visitUserName"].ToString();
                model.UId = item["uid"].ToString() != "" ? int.Parse(item["uid"].ToString()) : -1;
                model.UName = item["assignedUser"].ToString();

                models.Add(model);
            }

            return models;
        }
Пример #25
0
        public ActionResult ReportJob(string maPhongBan = "", string tenPhongBan = "")
        {
            using (QUANGHANHABCEntities db = new QUANGHANHABCEntities())
            {
                var temp = (from a in db.Departments select new { maPhongBan = a.department_id, TenPhanXuong = a.department_name }).ToList();
                IEnumerable <Department> arrPhanXuong = temp.Distinct().ToList().Select(p => new Department {
                    department_id = p.maPhongBan, department_name = p.TenPhanXuong
                });
                ViewBag.PhanXuongs = arrPhanXuong;
            }
            ViewBag.nameDepartment = "vld-antoan";

            if (maPhongBan.Equals(""))
            {
                using (QUANGHANHABCEntities db = new QUANGHANHABCEntities())
                {
                    var temp = (from ct in db.ChiTiet_NhiemVu_NhanVien
                                join n in db.NhanViens
                                on ct.MaNV equals n.MaNV
                                join nv in db.NhiemVus
                                on ct.MaNhiemVu equals nv.MaNhiemVu
                                join cc in db.ChungChis
                                on nv.MaChungChi equals cc.MaChungChi
                                join ccnv in db.ChungChi_NhanVien
                                on new { n.MaNV, cc.MaChungChi } equals new { ccnv.MaNV, ccnv.MaChungChi }
                                into tb
                                from mtb in tb.DefaultIfEmpty()
                                where n.MaPhongBan.Equals("DL1")
                                orderby nv.Loai
                                select new
                    {
                        SoHieu = mtb.SoHieu,
                        Loai = nv.Loai,
                        TenNhanVien = n.Ten,
                        TenNhiemVu = nv.TenNhiemVu,
                        TenChungChi = cc.TenChungChi,
                        MaChungChi = cc.MaChungChi,
                        MaNhanVien = n.MaNV,
                        IsConHan = (DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) > 0 ? "Hết hạn" :
                                    DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) <= 0 ? "Còn hạn" : "Chưa có")
                        ,
                        SoNgay = (DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) < 0 ? -DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) :
                                  DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) >= 0 ? DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) : 0),
                    }
                                ).ToList();
                    List <ReportModel> arrReportModels = new List <ReportModel>();
                    bool isContainLoai = false;
                    bool isContainNV   = false;
                    foreach (var myTemp in temp)
                    {
                        foreach (ReportModel reportModel in arrReportModels)
                        {
                            if (reportModel.Loai.Equals(myTemp.Loai))
                            {
                                foreach (TaskModel taskModel in reportModel.arrTask)
                                {
                                    if (taskModel.TenNhiemVu.Equals(myTemp.TenNhiemVu))
                                    {
                                        ChungChi_NhanVien_Model ccnv = new ChungChi_NhanVien_Model {
                                            TenNV = myTemp.TenNhanVien, SoHieu = myTemp.SoHieu, MaNV = myTemp.MaNhanVien, MaChungChi = myTemp.MaChungChi, TenChungChi = myTemp.TenChungChi, SoNgay = myTemp.SoNgay, isConHan = myTemp.IsConHan
                                        };
                                        taskModel.arrNhanVien.Add(ccnv);
                                        reportModel.Rowspan++;
                                        taskModel.Rowspan++;
                                        isContainNV = true;
                                    }
                                }
                                if (!isContainNV)
                                {
                                    TaskModel taskModel = new TaskModel
                                    {
                                        TenNhiemVu = myTemp.TenNhiemVu
                                    };
                                    ChungChi_NhanVien_Model ccnv = new ChungChi_NhanVien_Model {
                                        TenNV = myTemp.TenNhanVien, SoHieu = myTemp.SoHieu, MaNV = myTemp.MaNhanVien, MaChungChi = myTemp.MaChungChi, TenChungChi = myTemp.TenChungChi, SoNgay = myTemp.SoNgay, isConHan = myTemp.IsConHan
                                    };
                                    taskModel.arrNhanVien.Add(ccnv);
                                    reportModel.arrTask.Add(taskModel);
                                    reportModel.Rowspan++;
                                    taskModel.Rowspan++;
                                    isContainNV = false;
                                }
                                isContainLoai = true;
                            }
                        }
                        if (!isContainLoai)
                        {
                            ReportModel reportModel = new ReportModel
                            {
                                Loai = myTemp.Loai
                            };
                            TaskModel taskModel = new TaskModel
                            {
                                TenNhiemVu = myTemp.TenNhiemVu
                            };
                            ChungChi_NhanVien_Model ccnv = new ChungChi_NhanVien_Model {
                                TenNV = myTemp.TenNhanVien, SoHieu = myTemp.SoHieu, MaNV = myTemp.MaNhanVien, MaChungChi = myTemp.MaChungChi, TenChungChi = myTemp.TenChungChi, SoNgay = myTemp.SoNgay, isConHan = myTemp.IsConHan
                            };
                            reportModel.Rowspan++;
                            taskModel.Rowspan++;
                            taskModel.arrNhanVien.Add(ccnv);
                            reportModel.arrTask.Add(taskModel);
                            arrReportModels.Add(reportModel);
                        }
                        isContainLoai = false;
                    }

                    ViewBag.arrReportModels = arrReportModels;
                }
            }
            else
            {
                using (QUANGHANHABCEntities db = new QUANGHANHABCEntities())
                {
                    var temp = (from ct in db.ChiTiet_NhiemVu_NhanVien
                                join n in db.NhanViens
                                on ct.MaNV equals n.MaNV
                                join nv in db.NhiemVus
                                on ct.MaNhiemVu equals nv.MaNhiemVu
                                join cc in db.ChungChis
                                on nv.MaChungChi equals cc.MaChungChi
                                join ccnv in db.ChungChi_NhanVien
                                on new { n.MaNV, cc.MaChungChi } equals new { ccnv.MaNV, ccnv.MaChungChi }
                                into tb
                                from mtb in tb.DefaultIfEmpty()
                                where n.MaPhongBan.Equals(maPhongBan)
                                orderby nv.Loai
                                select new
                    {
                        SoHieu = mtb.SoHieu,
                        Loai = nv.Loai,
                        TenNhanVien = n.Ten,
                        TenNhiemVu = nv.TenNhiemVu,
                        TenChungChi = cc.TenChungChi,
                        MaChungChi = cc.MaChungChi,
                        MaNhanVien = n.MaNV,
                        IsConHan = (DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) > 0 ? "Hết hạn" :
                                    DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) <= 0 ? "Còn hạn" : "Chưa có")
                        ,
                        SoNgay = (DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) < 0 ? -DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) :
                                  DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) >= 0 ? DbFunctions.DiffDays(DbFunctions.AddMonths(mtb.NgayCap, cc.ThoiHan), DateTime.Now) : 0),
                    }
                                ).ToList();
                    List <ReportModel> arrReportModels = new List <ReportModel>();
                    bool isContainLoai = false;
                    bool isContainNV   = false;
                    foreach (var myTemp in temp)
                    {
                        foreach (ReportModel reportModel in arrReportModels)
                        {
                            if (reportModel.Loai.Equals(myTemp.Loai))
                            {
                                foreach (TaskModel taskModel in reportModel.arrTask)
                                {
                                    if (taskModel.TenNhiemVu.Equals(myTemp.TenNhiemVu))
                                    {
                                        ChungChi_NhanVien_Model ccnv = new ChungChi_NhanVien_Model {
                                            TenNV = myTemp.TenNhanVien, SoHieu = myTemp.SoHieu, MaNV = myTemp.MaNhanVien, MaChungChi = myTemp.MaChungChi, TenChungChi = myTemp.TenChungChi, SoNgay = myTemp.SoNgay, isConHan = myTemp.IsConHan
                                        };
                                        taskModel.arrNhanVien.Add(ccnv);
                                        reportModel.Rowspan++;
                                        taskModel.Rowspan++;
                                        isContainNV = true;
                                    }
                                }
                                if (!isContainNV)
                                {
                                    TaskModel taskModel = new TaskModel
                                    {
                                        TenNhiemVu = myTemp.TenNhiemVu
                                    };
                                    ChungChi_NhanVien_Model ccnv = new ChungChi_NhanVien_Model {
                                        TenNV = myTemp.TenNhanVien, SoHieu = myTemp.SoHieu, MaNV = myTemp.MaNhanVien, MaChungChi = myTemp.MaChungChi, TenChungChi = myTemp.TenChungChi, SoNgay = myTemp.SoNgay, isConHan = myTemp.IsConHan
                                    };
                                    taskModel.arrNhanVien.Add(ccnv);
                                    reportModel.arrTask.Add(taskModel);
                                    reportModel.Rowspan++;
                                    taskModel.Rowspan++;
                                    isContainNV = false;
                                }
                                isContainLoai = true;
                            }
                        }
                        if (!isContainLoai)
                        {
                            ReportModel reportModel = new ReportModel
                            {
                                Loai = myTemp.Loai
                            };
                            TaskModel taskModel = new TaskModel
                            {
                                TenNhiemVu = myTemp.TenNhiemVu
                            };
                            ChungChi_NhanVien_Model ccnv = new ChungChi_NhanVien_Model {
                                TenNV = myTemp.TenNhanVien, SoHieu = myTemp.SoHieu, MaNV = myTemp.MaNhanVien, MaChungChi = myTemp.MaChungChi, TenChungChi = myTemp.TenChungChi, SoNgay = myTemp.SoNgay, isConHan = myTemp.IsConHan
                            };
                            reportModel.Rowspan++;
                            taskModel.Rowspan++;
                            taskModel.arrNhanVien.Add(ccnv);
                            reportModel.arrTask.Add(taskModel);
                            arrReportModels.Add(reportModel);
                        }
                        isContainLoai = false;
                    }

                    ViewBag.arrReportModels = arrReportModels;
                    ViewBag.tenPhongBan     = tenPhongBan;
                }
            }


            return(View("/Views/TCLD/Task/ReportJob.cshtml"));
        }
Пример #26
0
        public void A01_GetTaskDurationTest()
        {
            Fixture fixture = new Fixture();

            var startDate = new DateTime(2015, 10, 1, 12, 00, 00);
            var endDate = new DateTime(2015, 10, 3, 13, 00, 00);
            var expectedDuration = new TimeSpan(2, 1, 0, 0);

            ITask testTask = new TaskModel
            {
                Id = 1,
                Name = fixture.Create<string>(),
                CreationDate = fixture.Create<DateTime>(),
                State = TaskState.DONE,
                StartDate = startDate,
                DoneDate = endDate
            };

            ITimeReporter reporter = new TimeReporter();
            var actualDuration = reporter.GetTaskDuration(testTask);

            Assert.AreEqual(expectedDuration, actualDuration);
        }
        private async Task CreateTask()
        {
            try
            {
                List <KeyValuePair <string, string> > values = new List <KeyValuePair <string, string> >
                {
                    new KeyValuePair <string, string>("Title", Title),
                    new KeyValuePair <string, string>("Task Type", TypeText),
                    new KeyValuePair <string, string>("Task Status", StatusText),
                    new KeyValuePair <string, string>("Task Stamp", StampText),
                    new KeyValuePair <string, string>("Sheet", SelectedSheet?.Title),
                };
                if (FieldValidation.ValidateFields(values))
                {
                    if (WatchingMembers.Count() <= 0)
                    {
                        MessageBox.Show("Please add atleast 1 Team Member to the Task", "Add Team Members", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }
                    else if (WatchingMembers.Where(w => w.IsWatcher).Count() <= 0)
                    {
                        MessageBox.Show("Please select watching members from the Selected Team Members", "Select Watching Members", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }
                    else
                    {
                        CanSaveTask = false;

                        List <TaskMembersModel>  taskMembers  = new List <TaskMembersModel>();
                        List <TaskWatchersModel> taskWatchers = new List <TaskWatchersModel>();

                        TeamMembers.Where(s => s.IsChecked).ToList().ForEach(s => taskMembers.Add(
                                                                                 new TaskMembersModel
                        {
                            TaskID        = ID,
                            SiteManagerID = s.ID,
                        }));

                        WatchingMembers.Where(s => s.IsWatcher).ToList().ForEach(s => taskWatchers.Add(
                                                                                     new TaskWatchersModel
                        {
                            TaskID        = ID,
                            SiteManagerID = s.ID,
                        }));


                        TaskModel taskData = new TaskModel()
                        {
                            ProjectID    = ParentLayout.SelectedProject.ID,
                            Title        = Title,
                            Description  = Description,
                            TaskStatusID = SelectedStatus?.ID,
                            Status       = SelectedStatus == null ? new StatusModel {
                                Title = StatusText, CreatedBy = ParentLayout.LoggedInUser.Name
                            } : null,
                            TaskTypeID = SelectedType?.ID,
                            Type       = SelectedType == null ? new TypeModel {
                                Title = TypeText, CreatedBy = ParentLayout.LoggedInUser.Name
                            } : null,
                            StartDate = StartDate,
                            DueDate   = DueDate,
                            Members   = taskMembers,
                            Watchers  = taskWatchers,
                            StampID   = SelectedStamp?.ID,
                            Stamp     = SelectedStamp == null ? new StampModel {
                                Title = StampText, CreatedBy = ParentLayout.LoggedInUser.Name
                            } : null,
                            SheetID = SelectedSheet?.ID,
                        };

                        HttpResponseMessage result = null;
                        if (isUpdate)
                        {
                            taskData.ID         = ID;
                            taskData.CreatedBy  = SelectedTask.CreatedBy;
                            taskData.CreatedOn  = SelectedTask.CreatedOn;
                            taskData.ModifiedBy = ParentLayout.LoggedInUser.Name;
                            taskData.ModifiedOn = DateTime.Now;
                            result = await apiHelper.PutTask(ParentLayout.LoggedInUser.Token, taskData).ConfigureAwait(false);
                        }
                        else
                        {
                            taskData.CreatedBy = ParentLayout.LoggedInUser.Name;
                            taskData.CreatedOn = DateTime.Now;
                            result             = await apiHelper.PostTask(ParentLayout.LoggedInUser.Token, taskData).ConfigureAwait(false);
                        }
                        if (result.IsSuccessStatusCode)
                        {
                            MessageBox.Show($"Task Saved Successfully", "Success", MessageBoxButton.OK, MessageBoxImage.Information);
                            await GetTasks();

                            #region Log Data

                            ActivityLogModel logData = new ActivityLogModel()
                            {
                                Type        = "Task",
                                Description = $"Task '{taskData.Title}' created by '{ParentLayout.LoggedInUser.Name}'",
                                ProjectID   = ParentLayout.SelectedProject.ID,
                                CreatedBy   = ParentLayout.LoggedInUser.Name,
                                CreatedOn   = DateTime.Now
                            };
                            if (isUpdate)
                            {
                                logData.Description = $"Task '{taskData.Title}' updated by '{ParentLayout.LoggedInUser.Name}'";
                            }
                            await logAPIHelper.PostActivityLog(ParentLayout.LoggedInUser.Token, logData);

                            #endregion

                            IsUpdate = false;
                            ClearFields();
                            await GetStamps();
                            await GetTypes();
                            await GetStatuses();
                            await GetTeamMembers();
                        }
                        else
                        {
                            MessageBox.Show("Error in saving Task", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                        CanSaveTask = true;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                CanSaveTask = true;
            }
        }
Пример #28
0
 public TaskController(Entities.Db db)
 {
     _taskModel = new TaskModel(db);
     _logModel  = new LogModel(db);
 }
Пример #29
0
        public async Task <ActionResult> TasksData(int skip, int take, bool showOnlyMine, string filterJson)
        {
            int?stateIdToFilterBy = null;

            string nameFillter = null;

            bool?hasSchedule = null;

            DateTime?createdLower = null, createdUpper = null;

            if (filterJson != null)
            {
                var filters = JsonConvert.DeserializeObject <GridFilter[]>(filterJson);

                foreach (var filter in filters.Where(n => n.Value != null))
                {
                    if (filter.Field == "StateId")
                    {
                        stateIdToFilterBy = Convert.ToInt32(filter.Value);
                    }
                    else if (filter.Field == "DisplayName")
                    {
                        nameFillter = filter.Value.ToString();
                    }
                    else if (filter.Field == "HasSchedule")
                    {
                        hasSchedule = Convert.ToBoolean(filter.Value);
                    }
                    else if (filter.Field == "CreatedTime" && filter.Operator == "gte")
                    {
                        createdLower = Convert.ToDateTime(filter.Value);
                    }
                    else if (filter.Field == "CreatedTime" && filter.Operator == "lte")
                    {
                        createdUpper = Convert.ToDateTime(filter.Value);
                    }
                }
            }

            int userId = _userProvider.GetUserId();

            int?userIdToFilterBy = showOnlyMine ? userId : (int?)null;

            int totalCount;

            var tasks = _taskService.GetTasks(skip, take, userIdToFilterBy, stateIdToFilterBy, nameFillter, hasSchedule, createdLower, createdUpper, out totalCount);

            TaskModel myLastTask = null;

            if (showOnlyMine)
            {
                var lastTask = skip == 0 && nameFillter == null && !stateIdToFilterBy.HasValue && tasks.Length > 0 ? tasks.First() : _taskService.GetLastTask(userId);

                myLastTask = (lastTask == null) ? null : (Type.GetType(lastTask.Name) == null
                    ? new CustomActionTaskModel(lastTask)
                    : new TaskModel(lastTask));
            }

            string dataJsonStr = JsonConvert.SerializeObject(
                new
            {
                tasks          = tasks.Select(x => new TaskModel(x)),
                totalTasks     = totalCount,
                myLastTaskHtml = myLastTask == null ? null : await this.RenderRazorViewToString(_viewEngine, "ActionProps", myLastTask),
                myLastTask     = myLastTask ?? null
            });

            return(new ContentResult()
            {
                ContentType = "application/json",
                Content = $"{{\"hashCode\":{dataJsonStr.GetHashCode()},\"data\":{dataJsonStr}}}"
            });
        }
Пример #30
0
 /// <summary>
 /// 初期化
 /// </summary>
 private void init()
 {
     taskModel           = new TaskModel(DatabaseIf.Instance);
     rbStatusNew.Checked = true;
     dtpTaskDate.Value   = DateTime.Now;
 }
Пример #31
0
 public static void AddTask(TaskModel task)
 {
     DBAdapter.Connection.Insert(task);
 }
Пример #32
0
 public void EndTask(TaskModel task)
 {
     _businessLayer.EndTask(task.Task_ID);
 }
Пример #33
0
 public void SelectTask(Guid id)
 {
     SelectedTask = Tasks.SingleOrDefault(t => t.Id == id);
     TasksUpdated?.Invoke(this, null);
 }
Пример #34
0
 public void AddTask(TaskModel task)
 {
     _businessLayer.AddTask(task);
 }
Пример #35
0
 public void AddTask(TaskModel model)
 {
     Tasks.Add(model);
     TasksUpdated?.Invoke(this, null);
 }
Пример #36
0
        //UI提取工程状态进度的函数  还不完整随时增加



        //UI和主控之间的文件传输,仍用字符串传输,UI端循环遍历文件夹中的文件


        //分割文件、创建工程,任务,文件等数据表插入数据库
        public void CreatTables(string path)//path是指工程文件夹的目录
        {
            if (!Directory.Exists(path))
            {
                WcfException ex = new WcfException();
                ex.message = "工程文件夹不存在";
                LogFileManager.ObjLog.error(ex.message);
                throw new FaultException <WcfException>(ex, ex.message);   //测试异常的传递能否成功
            }
            else
            {
                DirectoryInfo di       = new DirectoryInfo(path);
                FileInfo[]    txfile   = di.GetFiles("*.tx");
                FileInfo[]    setupdir = di.GetFiles("*.setup");
                FileInfo[]    rxfile   = di.GetFiles("*.rx");
                FileInfo[]    terfile  = di.GetFiles("*.ter");
                //如果文件全部存在,则执行分割写表操作,否则抛出异常
                if (txfile.Length != 0 && setupdir.Length != 0 && rxfile.Length != 0 && terfile.Length != 0)
                {
                    string resultdir = path + "\\" + "studyarea";
                    Directory.CreateDirectory(resultdir);
                    string    cnStr          = ConfigurationManager.ConnectionStrings["sqlProviderParallelTask"].ConnectionString;
                    TaskModel tm             = new TaskModel(cnStr);
                    string    splitTxFileDir = null;
                    //分割tx文件,放在该目录下的新文件夹中
                    try
                    {
                        splitTxFileDir = Split.FileSplit(txfile[0].FullName, setupdir[0].FullName);
                    }
                    catch (nullException ex)
                    {
                        WcfException e = new WcfException();
                        e.message = ex.Message;
                        LogFileManager.ObjLog.error(ex.Message);
                        throw new FaultException <WcfException>(e, e.message);
                    }

                    //创建工程表


                    string[] seperate      = new string[] { "." };
                    string[] setupfilename = setupdir[0].Name.Split(seperate, StringSplitOptions.RemoveEmptyEntries);
                    try
                    {
                        tm.CreatePro(setupfilename[0], path, resultdir);//异常还未处理
                    }
                    catch (SqlException e)
                    {
                        WcfException ex = new WcfException();
                        ex.message = e.Message;
                        throw new FaultException <WcfException>(ex, ex.message);
                    }
                    //创建FileInfo表
                    //创建新的文件名数组,不包括被分割的tx总文件
                    FileInfo[] Allfilenames = new FileInfo[4];
                    Allfilenames[0] = txfile[0];
                    Allfilenames[1] = rxfile[0];
                    Allfilenames[2] = setupdir[0];
                    Allfilenames[3] = terfile[0];
                    string[]      Allfilenames1 = new string[Allfilenames.Length - 1];                    //没有tx总文件的工程文件夹中的文件名
                    DirectoryInfo ditx          = new DirectoryInfo(splitTxFileDir);
                    FileInfo[]    splitTxNames  = ditx.GetFiles();                                        //分割后的文件名
                    string[]      filenames     = new string[Allfilenames1.Length + splitTxNames.Length]; //新文件名数组
                    int           j             = 0;
                    for (int i = 0; i < Allfilenames.Length; i++)
                    {
                        if (Allfilenames[i].Name == txfile[0].Name)
                        {
                            continue;
                        }
                        else
                        {
                            Allfilenames1[j] = Allfilenames[i].Name;
                            j++;
                        }
                    }
                    for (int i = 0; i < Allfilenames1.Length; i++)
                    {
                        filenames[i] = Allfilenames1[i];
                    }
                    for (int i = Allfilenames1.Length; i < Allfilenames1.Length + splitTxNames.Length; i++)
                    {
                        filenames[i] = splitTxNames[i - Allfilenames1.Length].Name;
                    }
                    //创建新的文件路径,异常还没有处理
                    string[] filepaths = new string[Allfilenames1.Length + splitTxNames.Length];

                    for (int a = 0; a < Allfilenames1.Length; a++)
                    {
                        filepaths[a] = path + "\\" + filenames[a];
                    }
                    for (int a = Allfilenames1.Length; a < Allfilenames1.Length + splitTxNames.Length; a++)
                    {
                        filepaths[a] = splitTxFileDir + "\\" + filenames[a];
                    }
                    try
                    {
                        tm.CreateFileInfo(filenames, filepaths, setupfilename[0]);
                    }
                    catch (SqlException e)
                    {
                        WcfException ex = new WcfException();
                        ex.message = e.Message;
                        throw new FaultException <WcfException>(ex, ex.message);
                    }
                    //创建TaskInfo表
                    int      n          = splitTxNames.Length;
                    string[] Tfilenames = new string[Allfilenames1.Length + 1];
                    for (int i = 0; i < Allfilenames1.Length; i++)
                    {
                        Tfilenames[i] = Allfilenames1[i];
                    }
                    for (int i = 0; i < n; i++)
                    {
                        Tfilenames[Allfilenames1.Length] = splitTxNames[i].Name;
                        try
                        {
                            tm.CreateTask(setupfilename[0], Tfilenames);
                        }
                        catch (SqlException e)
                        {
                            WcfException ex = new WcfException();
                            ex.message = e.Message;
                            throw new FaultException <WcfException>(ex, ex.message);
                        }
                    }
                }
                else
                {
                    WcfException ex = new WcfException();
                    ex.message = "工程缺少必要文件";
                    LogFileManager.ObjLog.error(ex.message);
                    throw new FaultException <WcfException>(ex, ex.message);
                }
            }
        }
Пример #37
0
        public IActionResult PostNewOrders([FromBody] PostManageOrdersVM _pmovm)
        {
            List <string> result = _pmovm.idService.Split(',').ToList();

            foreach (var item in result)
            {
                var _OrderDetailsNueva = new OrderDetails();
                var quotationLocal     = new Quotation();

                quotationLocal.Tasks = new List <TaskModel>();
                //_OrderDetailsNueva.Id = Guid.NewGuid();
                _OrderDetailsNueva.Order   = _context.Order.FirstOrDefault(o => o.Id == _pmovm.orderId);
                _OrderDetailsNueva.Service = _context.ServiceModel.FirstOrDefault(s => s.ID.ToString() == item);

                var quotation = _context.Quotation
                                .AsNoTracking()
                                .Include(q => q.OrderDetailsModel)
                                .ThenInclude(q => q.Order)
                                .Include(q => q.Tasks)
                                .ThenInclude(t => t.ListMaterial)
                                .FirstOrDefault(q => q.OrderDetailsModel.Order.Id == _pmovm.orderId);

                var pics = _context.Quotation
                           .AsNoTracking()
                           .Include(q => q.OrderDetailsModel)
                           .ThenInclude(q => q.Order)
                           .Include(q => q.Tasks)
                           .ThenInclude(t => t.Pictures)
                           .FirstOrDefault(q => q.OrderDetailsModel.Order.Id == _pmovm.orderId);

                var piclist = new List <Picture>();

                for (int i = 0; i < quotation.Tasks.Count; i++)
                {
                    var _taskLocal = new TaskModel();

                    for (int f = 0; f < quotation.Tasks[i].ListMaterial.Count; f++)
                    {
                        if (_taskLocal.ListMaterial == null)
                        {
                            _taskLocal.ListMaterial = new List <Material>();
                        }
                        var mat = new Material();
                        mat.Description = quotation.Tasks[i].ListMaterial[f].Description;
                        mat.Name        = quotation.Tasks[i].ListMaterial[f].Name;
                        mat.Price       = 0;
                        _taskLocal.ListMaterial.Add(mat);
                    }

                    if (_taskLocal.Pictures == null)
                    {
                        _taskLocal.Pictures = new List <Picture>();
                    }

                    for (int e = 0; e < pics.Tasks[i].Pictures.Count; e++)
                    {
                        var picLocal = new Picture();
                        picLocal.PictureBytes = pics.Tasks[i].Pictures[e].PictureBytes;
                        _taskLocal.Pictures.Add(picLocal);
                    }
                    _taskLocal.Name        = quotation.Tasks[i].Name;
                    _taskLocal.Duration    = quotation.Tasks[i].Duration;
                    _taskLocal.Description = quotation.Tasks[i].Description;
                    quotationLocal.Tasks.Add(_taskLocal);
                }

                quotationLocal.Description       = quotation.Description;
                quotationLocal.Status            = 0;
                quotationLocal.OrderDetailsModel = _OrderDetailsNueva;

                _context.OrderDetails.Add(_OrderDetailsNueva);
                _context.Quotation.Add(quotationLocal);
            }
            try
            {
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
            }
            return(Ok());
        }
Пример #38
0
 public IActionResult Close(TaskModel Task)
 {
     return(View(Task));
 }
Пример #39
0
 public Task ToEntity(TaskModel model)
 {
     return(AutoMapper.Mapper.Map <Task>(model));
 }
Пример #40
0
        public async Task Add(TaskModel taskModel)
        {
            await _context.AddAsync(taskModel);

            await _context.SaveChangesAsync();
        }
Пример #41
0
 public SmallTaskTile(TaskModel task)
     : base(task)
 {
     InitializeComponent();
 }
Пример #42
0
 public ActionResult Update(TaskModel t)
 {
     if (!ModelState.IsValid)
         return View("Edit", t);
     t.UpdateTask();
     return RedirectToAction("Index", new {id = t.Id});
 }
Пример #43
0
        public IActionResult GetById(int id)
        {
            var item = TaskModel.ReturnTaskModel(_taskRepository.GetById(id));

            return(Ok(item));
        }
Пример #44
0
 /// <summary>
 /// Start a task right now (using the StartTask method.)
 /// </summary>
 /// <param name="TaskToStart"></param>
 public void StartTaskNow(TaskModel TaskToStart)
 {
     StartTask(TaskToStart, DateTime.Now);
 }
Пример #45
0
 public void AddTask(UserTasksViewModel model, TaskModel taskModel)
 {
     model.Tasks.Add(taskModel);
     model.AddedTaskIndex = model.Tasks.Count - 1;
     model.EditTaskIndex = -1;
 }
Пример #46
0
        public async Task PopulateMostUsedProjects () //Load all potential top projects at once.
        {
            var store = ServiceContainer.Resolve<IDataStore> ();
            var settingsStore = ServiceContainer.Resolve<ISettingsStore> ();

            var recentEntries = await store.Table<TimeEntryData> ()
                                .OrderByDescending (r => r.StartTime)
                                .Where (r => r.DeletedAt == null
                                        && r.UserId == settingsStore.UserId
                                        && r.State != TimeEntryState.New
                                        && r.ProjectId != null)
                                .ToListAsync ()
                                .ConfigureAwait (false);

            var uniqueRows = recentEntries
            .GroupBy (p => new {p.ProjectId, p.TaskId})
            .Select (g => g.First ())
            .ToList ();

            AllTopProjects = new List<CommonProjectData> ();

            foreach (var entry in uniqueRows) {

                var project = new ProjectModel (entry.ProjectId ?? Guid.Empty);
                var task = new TaskModel (entry.TaskId ?? Guid.Empty);

                await project.LoadAsync ();
                await task.LoadAsync ();
                var client = project.Client == null ? String.Empty : project.Client.Name;
                AllTopProjects.Add (new CommonProjectData (project.Data, client, task.Data ?? null));
            }
            TopProjects = AllTopProjects.Where (r => r.WorkspaceId == CurrentWorkspaceId).Take (3).ToList ();
        }
Пример #47
0
 /// <summary>
 /// Ends the acitve task phase right now (using EndTaskPhase method).
 /// </summary>
 /// <param name="OwnerTask"></param>
 public void EndTaskPhaseNow(TaskModel OwnerTask)
 {
     EndTaskPhase(OwnerTask, DateTime.Now);
 }
        public static void AddTask(TaskModel task)
        {
            var current = task;

            switch (task.Repeat)
            {
                case RepeatInterval.Once:
                    {
                        tasks.Add(task);
                        break;
                    }
                case RepeatInterval.EveryDay:
                    {
                        var nextStart = current.Start.AddDays(1);
                        var nextEnd = current.End.AddDays(1);
                        do
                        {
                            tasks.Add(current);
                            current = new TaskModel()
                            {
                                Title = task.Title,
                                Message = task.Message,
                                Start = nextStart,
                                End = nextEnd,
                                Until = task.End,
                                Repeat = RepeatInterval.Once
                            };
                            nextStart = nextStart.AddDays(1);
                            nextEnd = nextEnd.AddDays(1);
                        } while (current.Start <= task.Until);
                        break;
                    }
                case RepeatInterval.WeekDay:
                    {
                        var nextStart = current.Start.AddDays(1);
                        var nextEnd = current.End.AddDays(1);
                        do
                        {
                            if (!(current.Start.DayOfWeek == DayOfWeek.Saturday ||
                                current.Start.DayOfWeek == DayOfWeek.Sunday))
                            {
                                tasks.Add(current);
                            }

                            current = new TaskModel()
                            {
                                Title = task.Title,
                                Message = task.Message,
                                Start = nextStart,
                                End = nextEnd,
                                Until = task.End,
                                Repeat = RepeatInterval.Once
                            };
                            nextStart = nextStart.AddDays(1);
                            nextEnd = nextEnd.AddDays(1);
                        } while (current.Start <= task.Until);
                        break;
                    }
                case RepeatInterval.Week:
                    {
                        var nextStart = current.Start.AddDays(7);
                        var nextEnd = current.End.AddDays(7);
                        do
                        {
                            tasks.Add(current);

                            current = new TaskModel()
                            {
                                Title = task.Title,
                                Message = task.Message,
                                Start = nextStart,
                                End = nextEnd,
                                Until = task.End,
                                Repeat = RepeatInterval.Once
                            };
                            nextStart = nextStart.AddDays(7);
                            nextEnd = nextEnd.AddDays(7);
                        } while (current.Start <= task.Until);
                        break;
                    }
                case RepeatInterval.Month:
                    {
                        var nextStart = current.Start.AddMonths(1);
                        var nextEnd = current.End.AddMonths(1);
                        do
                        {
                            tasks.Add(current);

                            current = new TaskModel()
                            {
                                Title = task.Title,
                                Message = task.Message,
                                Start = nextStart,
                                End = nextEnd,
                                Until = task.End,
                                Repeat = RepeatInterval.Once
                            };
                            nextStart = nextStart.AddMonths(1);
                            nextEnd = nextEnd.AddMonths(1);
                        } while (current.Start <= task.Until);
                        break;
                    }
                case RepeatInterval.Year:
                    {
                        var nextStart = current.Start.AddYears(1);
                        var nextEnd = current.End.AddYears(1);
                        do
                        {
                            tasks.Add(current);

                            current = new TaskModel()
                            {
                                Title = task.Title,
                                Message = task.Message,
                                Start = nextStart,
                                End = nextEnd,
                                Until = task.End,
                                Repeat = RepeatInterval.Once
                            };
                            nextStart = nextStart.AddYears(1);
                            nextEnd = nextEnd.AddYears(1);
                        } while (current.Start <= task.Until);
                        break;
                    }
                default:
                    break;
            }

            SaveTasks();
        }
Пример #49
0
 public void RemoveTask(TaskModel task, List <TaskModel> tasksList)
 {
     tasksList.RemoveTaskFromFile(task, TaskModels_File);
 }
Пример #50
0
        public void UpdateTask()
        {
            string taskjson = this.GetFormValue("task", "");
            ResultModel <TaskModel> result = new logic.Model.ResultModel <logic.Model.TaskModel>();


            if (string.IsNullOrEmpty(taskjson))
            {
                result.code       = Constants.ERROR_CODE;
                result.message    = "参数空错误";
                this.code         = Constants.ERROR_CODE;
                this.message      = result.message;
                this.Data["data"] = result;
                return;
            }

            TaskModel model = Newtonsoft.Json.JsonConvert.DeserializeObject <TaskModel>(taskjson);

            if (model == null)
            {
                result.code       = Constants.ERROR_CODE;
                result.message    = "参数格式错误";
                this.code         = Constants.ERROR_CODE;
                this.message      = result.message;
                this.Data["data"] = result;
                return;
            }

            if (string.IsNullOrEmpty(model.sayhi))
            {
                result.code       = Constants.ERROR_CODE;
                result.message    = "打招呼内容空";
                this.code         = Constants.ERROR_CODE;
                this.message      = result.message;
                this.Data["data"] = result;
                return;
            }
            if (model.locations == null || model.locations.Count < 1)
            {
                result.code       = Constants.ERROR_CODE;
                result.message    = "经纬度信息空";
                this.code         = Constants.ERROR_CODE;
                this.message      = result.message;
                this.Data["data"] = result;
                return;
            }

            if (DateTime.Compare(model.starttime, model.stoptime) >= 0)
            {
                result.code       = Constants.ERROR_CODE;
                result.message    = "结束时间不能小于开始时间";
                this.code         = result.code;
                this.message      = result.message;
                this.Data["data"] = result;
                return;
            }


            result = TaskService.Instance.UpdateTaskInfo(model);

            this.code         = result.code;
            this.message      = result.message;
            this.Data["data"] = result;
            return;
        }
Пример #51
0
 /// <summary>
 /// Start a task phase right now (using the StartTaskPhase method).
 /// </summary>
 /// <param name="OwnerTask"></param>
 public void StartTaskPhaseNow(TaskModel OwnerTask)
 {
     StartTaskPhase(OwnerTask, DateTime.Now);
 }
Пример #52
0
 public override void Dispose()
 {
     _timer?.Dispose();
     CurrentTaskModel = null;
 }
Пример #53
0
 /// <summary>
 /// Add a new task.
 /// </summary>
 /// <param name="TaskName">Taskname, task will no be created if taskname is empty</param>
 /// <param name="CreationDate">The DateTime when the task was created.</param>
 /// <returns>A task model of the created task, null if no task has been created.</returns>
 public TaskModel CreateTask(string Taskname, DateTime CreationDate)
 {
     // Don't do anything if taskname is not provided
     if (!String.IsNullOrWhiteSpace(Taskname))
     {
         var newTask = new TaskModel() { Name = Taskname, CreationDate = CreationDate };
         context.Tasks.Add(newTask);
         context.SaveChanges();
         return newTask;
     }
     return null;
 }