public Boolean Edit(String taskId, String taskName, String taskDesc, String clientName,
                            String date, String startTime, String endTime, String duration, String projId)
        {
            try
            {
                int     pid  = Int16.Parse(projId);
                Project proj = new Project();
                proj = _dbContext.project.Where(x => x.projectId == pid).FirstOrDefault();
                int     id   = Int16.Parse(taskId);
                EmpTask task = new EmpTask();
                task                  = _dbContext.EmpTask.Where(x => x.TaskId == id).FirstOrDefault();
                task.Task_Name        = taskName;
                task.Task_Description = taskDesc;
                //task.Project_Name = projName;
                task.Client_Name = clientName;
                task.Date        = date;
                task.Start_Time  = startTime;
                task.End_Time    = endTime;
                task.Duration    = duration;
                task.project     = proj;
                _dbContext.EmpTask.Update(task);
                _dbContext.SaveChanges();

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        public ActionResult Details(int id = 0)
        {
            int?position = null;

            if (Session["PositionId"] != null)
            {
                position = int.Parse(Session["PositionId"]?.ToString());
            }
            ViewBag.Emps = _hrUnitOfWork.CheckListRepository.GetManagerEmpList(User.Identity.GetEmpId(), position, CompanyId, Language);

            EmpTask oldTask = _hrUnitOfWork.Repository <EmpTask>().Where(t => t.ManagerId == User.Identity.GetEmpId()).OrderByDescending(t => t.TaskNo).FirstOrDefault();

            if (id == 0)
            {
                return(View(new EmpTasksViewModel()
                {
                    TaskNo = (short)(oldTask != null ? (oldTask.TaskNo + 1) : 1),
                    AssignedTime = DateTime.Now, Status = 1
                }));
            }

            EmpTasksViewModel task = _hrUnitOfWork.CheckListRepository.GetManagerEmpTask(id);

            return(task == null ? (ActionResult)HttpNotFound() : View(task));
        }
Beispiel #3
0
 public void AddEmpTask(List <CheckListTaskViewModel> chlist, string UserName, EmpChkList Emplist)
 {
     foreach (var item in chlist)
     {
         EmpTask emTask = new EmpTask()
         {
             Unit        = item.Unit,
             CreatedTime = DateTime.Now,
             CreatedUser = UserName,
             Description = item.Description,
             EmpId       = item.EmpId,
             ExpectDur   = item.ExpectDur,
             TaskCat     = item.TaskCat,
             TaskNo      = item.TaskNo,
             Status      = 0,
             Priority    = item.Priority,
             Required    = item.Required,
             EmpChklist  = Emplist
         };
         if (item.Priority == 0)
         {
             emTask.Status       = 1;
             emTask.AssignedTime = DateTime.Now;
         }
         context.EmpTasks.Add(emTask);
     }
 }
        public EmpTask getEmpTaskById(int id)
        {
            EmpTask task = new EmpTask();

            task = _dbContext.EmpTask.Where(x => x.TaskId == id).FirstOrDefault();
            return(task);
        }
Beispiel #5
0
        public IActionResult GetDataById(string taskId)
        {
            EmpTask task = new EmpTask();

            task = empService.getEmpTaskById(Int16.Parse(taskId));
            return(Json(task));
        }
Beispiel #6
0
 public void Remove(EmpTask checklistTask)
 {
     if (Context.Entry(checklistTask).State == EntityState.Detached)
     {
         context.EmpTasks.Attach(checklistTask);
     }
     context.EmpTasks.Remove(checklistTask);
 }
Beispiel #7
0
        public IActionResult Edit(string taskId)
        {
            EmpTask        task    = new EmpTask();
            List <Project> proList = empService.getAllProject();

            task                 = empService.getEmpTaskById(Int16.Parse(taskId));
            ViewData["task"]     = task;
            ViewData["projects"] = proList;
            return(View());
        }
Beispiel #8
0
        public void AssignNextTask(EmpTask currentTask)
        {
            EmpTask nextTask = context.EmpTasks
                               .Where(t => t.Status == 0 && t.EmpId == currentTask.EmpId)
                               .OrderBy(t => new { t.Priority, t.AssignedTime }).FirstOrDefault();

            if (nextTask != null)
            {
                nextTask.Status = 1;

                context.EmpTasks.Attach(nextTask);
                context.Entry(nextTask).State = EntityState.Modified;
            }
        }
        //[Authorization]
        public ActionResult SetStatus(EmpTask changedTask)
        {
            if (!authUser.is_emp)
            {
                return(NotFound());
            }
            EmpTask task = _repo.GetEmpTaskById(changedTask.Id, authUser.ID);

            if (task == null)
            {
                return(NotFound());
            }
            task.Status = changedTask.Status;
            _repo.SetStatus((Task)task);
            return(Ok());
        }
        public ActionResult DeleteTask(int id)
        {
            var message = "OK";
            DataSource <EmpTask> Source = new DataSource <EmpTask>();

            EmpTask empTask = _hrUnitOfWork.CheckListRepository.GetEmpTask(id);

            _hrUnitOfWork.CheckListRepository.Remove(empTask);

            Source.Errors = SaveChanges(Language);

            if (Source.Errors.Count() > 0)
            {
                return(Json(Source));
            }
            else
            {
                return(Json(message));
            }
        }
        public ActionResult Details(EmpTasksViewModel model, OptionsViewModel moreInfo)
        {
            List <Error> errors = new List <Error>();

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm
                    {
                        CompanyId    = CompanyId,
                        ObjectName   = "EmpTasksForm",
                        TableName    = "EmpTasks",
                        Columns      = Models.Utils.GetColumnViews(ModelState.Where(a => !a.Key.Contains('.'))),
                        ParentColumn = "CompanyId",
                        Culture      = Language
                    });

                    if (errors.Count() > 0)
                    {
                        foreach (var e in errors)
                        {
                            foreach (var errorMsg in e.errors)
                            {
                                ModelState.AddModelError(errorMsg.field, errorMsg.message);
                            }
                        }
                        return(Json(Models.Utils.ParseFormErrors(ModelState)));
                    }
                }
            }
            else
            {
                return(Json(Models.Utils.ParseFormErrors(ModelState)));
            }

            EmpTask task = _hrUnitOfWork.CheckListRepository.GetEmpTask(model.Id);

            byte version;

            byte.TryParse(Request.Form["version"], out version);
            string message = "OK,";

            //Check 1.Subperiod is defiend, 2.Done tasks is started
            if (model.Status == 1) //1-AssignTo
            {
                if (model.AssignedTime == null)
                {
                    model.AssignedTime = DateTime.Now;
                }

                int?   subPeriod;
                string error = _hrUnitOfWork.CheckListRepository.GetTaskSubPeriod(CompanyId, model.AssignedTime, Language, out subPeriod);
                if (error.Length > 0)
                {
                    ModelState.AddModelError("AssignedTime", error);
                    return(Json(Models.Utils.ParseFormErrors(ModelState)));
                }
                model.SubPeriodId = subPeriod;
            }
            else if (model.Status == 2) //2-Done
            {
                if (model.StartTime == null || model.StartTime > DateTime.Now)
                {
                    ModelState.AddModelError("Status", MsgUtils.Instance.Trls("TaskNotStarted"));
                    return(Json(Models.Utils.ParseFormErrors(ModelState)));
                }
                model.EndTime = DateTime.Now;
            }


            ///Save
            if (model.Id == 0)
            { /// New
                task = new EmpTask();

                AutoMapper(new AutoMapperParm()
                {
                    Source = model, Destination = task, Version = version, ObjectName = "EmpTasksForm", Options = moreInfo
                });
                task.SubPeriodId = model.SubPeriodId;
                task.CreatedUser = UserName;
                task.CreatedTime = DateTime.Now;
                _hrUnitOfWork.CheckListRepository.Add(task);
            }
            else if (model.ChangeEmployee)
            {
                EmpTask oldTask  = _hrUnitOfWork.CheckListRepository.GetEmpTask(model.Id);
                var     oldEmpId = oldTask.EmpId;
                //check emp changed
                if (oldEmpId == model.EmpId)
                {
                    return(Json(MsgUtils.Instance.Trls("ChangeToSameEmp")));
                }

                //assign to new Emp
                task = new EmpTask();
                AutoMapper(new AutoMapperParm()
                {
                    Source = model, Destination = task, Version = version, ObjectName = "EmpTasksForm", Options = moreInfo
                });
                task.Status       = 1; //1-AssignTo
                task.AssignedTime = DateTime.Now;

                int?   subPeriod;
                string error = _hrUnitOfWork.CheckListRepository.GetTaskSubPeriod(CompanyId, model.AssignedTime, Language, out subPeriod);
                if (error.Length > 0)
                {
                    ModelState.AddModelError("AssignedTime", error);
                    return(Json(Models.Utils.ParseFormErrors(ModelState)));
                }
                task.SubPeriodId = subPeriod;

                task.CreatedUser = UserName;
                task.CreatedTime = DateTime.Now;

                _hrUnitOfWork.CheckListRepository.Add(task);

                //cancel from current Emp
                AutoMapper(new AutoMapperParm()
                {
                    Source = model, Destination = oldTask, Version = version, ObjectName = "EmpTasksForm", Options = moreInfo
                });
                oldTask.EmpId        = oldEmpId;
                oldTask.Status       = 3; //3-cancel
                oldTask.ModifiedUser = UserName;
                oldTask.ModifiedTime = DateTime.Now;

                _hrUnitOfWork.CheckListRepository.Attach(oldTask);
                _hrUnitOfWork.CheckListRepository.Entry(oldTask).State = EntityState.Modified;
            }
            else
            { /// Edit
                if (task.EmpId != model.EmpId)
                {
                    return(Json(MsgUtils.Instance.Trls("ClickChangeEmp")));
                }

                AutoMapper(new AutoMapperParm()
                {
                    Source = model, Destination = task, Version = version, ObjectName = "EmpTasksForm", Options = moreInfo
                });
                task.ModifiedUser = UserName;
                task.ModifiedTime = DateTime.Now;

                _hrUnitOfWork.CheckListRepository.Attach(task);
                _hrUnitOfWork.CheckListRepository.Entry(task).State = EntityState.Modified;

                if (task.Status == 2 || task.Status == 4) //2-Done, 4-Not Done
                {
                    _hrUnitOfWork.CheckListRepository.AssignNextTask(task);
                }
            }

            var Errors = SaveChanges(Language);

            if (Errors.Count > 0)
            {
                message = Errors.First().errors.First().message;
            }
            else
            {
                message = message + ((new JavaScriptSerializer()).Serialize(model));
            }
            return(Json(message));
        }
Beispiel #12
0
        private List <Error> EmpTasksSaveGrid(EmpTaskVM grid1, IEnumerable <KeyValuePair <string, ModelState> > state, EmpChkList checkList)
        {
            List <Error> errors = new List <Error>();
            DataSource <EmpTaskViewModel> Err = new DataSource <EmpTaskViewModel>();

            Err.Total = 0;
            // Exclude delete models from sever side validations
            if (ServerValidationEnabled)
            {
                var modified = Models.Utils.GetModifiedRows(state.Where(a => !a.Key.Contains("deleted")));
                if (modified.Count > 0)
                {
                    errors = _hrUnitOfWork.CompanyRepository.Check(new CheckParm
                    {
                        CompanyId  = CompanyId,
                        ObjectName = "EmplistTasks",
                        Columns    = Models.Utils.GetModifiedRows(state.Where(a => !a.Key.Contains("deleted"))),
                        Culture    = Language
                    });

                    if (errors.Count() > 0)
                    {
                        return(errors);
                    }
                }
            }

            // Deleted
            if (grid1.deleted != null)
            {
                foreach (EmpTaskViewModel model in grid1.deleted)
                {
                    var chlistTask = new EmpTask
                    {
                        Id = model.Id
                    };

                    _hrUnitOfWork.CheckListRepository.Remove(chlistTask);
                }
            }



            // updated records
            if (grid1.updated != null)
            {
                short count = 0;
                foreach (EmpTaskViewModel model in grid1.updated)
                {
                    if (model.AssignedTime != null)
                    {
                        Err = _hrUnitOfWork.CheckListRepository.AddSubperiods(CompanyId, model.AssignedTime, model.Id, count, Language);
                    }

                    if (Err.Errors == null || Err.Errors.Count == 0)
                    {
                        model.SubPeriodId = Err.Total == 0 ? (int?)null : Err.Total;
                        var chlistTask = _hrUnitOfWork.Repository <EmpTask>().Where(a => a.Id == model.Id).FirstOrDefault();

                        AutoMapper(new Models.AutoMapperParm
                        {
                            Destination = chlistTask,
                            Source      = model
                        });

                        chlistTask.ModifiedTime = DateTime.Now;
                        chlistTask.ExpectDur    = model.ExpectDur;
                        chlistTask.ModifiedUser = UserName;
                        _hrUnitOfWork.CheckListRepository.Attach(chlistTask);
                        _hrUnitOfWork.CheckListRepository.Entry(chlistTask).State = EntityState.Modified;
                    }
                    else
                    {
                        errors.Add(Err.Errors.FirstOrDefault());
                    }

                    count++;
                }
            }

            // inserted records
            if (grid1.inserted != null)
            {
                short count = 0;
                foreach (EmpTaskViewModel model in grid1.inserted)
                {
                    if (model.AssignedTime != null)
                    {
                        if (model.AssignedTime != null)
                        {
                            Err = _hrUnitOfWork.CheckListRepository.AddSubperiods(CompanyId, model.AssignedTime, model.Id, count, Language);
                        }
                    }

                    if (Err.Errors == null || Err.Errors.Count == 0)
                    {
                        model.SubPeriodId = Err.Total == 0 ? (int?)null : Err.Total;
                        var chlistTask = new EmpTask();
                        AutoMapper(new Models.AutoMapperParm
                        {
                            Destination = chlistTask,
                            Source      = model,
                            Transtype   = TransType.Insert
                        });
                        if (model.EmpId == 0)
                        {
                            chlistTask.EmpId = null;
                        }

                        if (model.ManagerId == 0)
                        {
                            chlistTask.ManagerId = null;
                        }
                        chlistTask.EmpChklist  = checkList;
                        chlistTask.CreatedTime = DateTime.Now;
                        chlistTask.CreatedUser = UserName;
                        chlistTask.ExpectDur   = model.ExpectDur;
                        _hrUnitOfWork.CheckListRepository.Add(chlistTask);
                    }
                    else
                    {
                        errors.Add(Err.Errors.FirstOrDefault());
                    }

                    count++;
                }
            }
            return(errors);
        }
        public IHttpActionResult SaveTask(EmpTasksViewModel model)
        {
            EmpTask task = _hrUnitOfWork.CheckListRepository.GetEmpTask(model.Id);

            if (model.isStart) //Start
            {
                _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel {
                    ColumnName = "StartTime", ValueBefore = task.StartTime.ToString(), ValueAfter = DateTime.Now.ToString(), ObjectName = "EmpTasksForm", CompanyId = User.Identity.GetDefaultCompany(), SourceId = task.Id.ToString(), UserName = User.Identity.Name
                });
                if (task.StartTime != null)
                {
                    return(Ok(MsgUtils.Instance.Trls("TaskAlreadyStarted")));
                }
                task.StartTime = DateTime.Now;
            }
            else
            {
                _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel {
                    ColumnName = "EndTime", ValueBefore = task.EndTime.ToString(), ValueAfter = DateTime.Now.ToString(), ObjectName = "EmpTasksForm", CompanyId = User.Identity.GetDefaultCompany(), SourceId = task.Id.ToString(), UserName = User.Identity.Name
                });
                _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel {
                    ColumnName = "Status", ValueBefore = task.Status.ToString(), ValueAfter = "2", ObjectName = "EmpTasksForm", CompanyId = User.Identity.GetDefaultCompany(), SourceId = task.Id.ToString(), UserName = User.Identity.Name
                });

                task.EndTime = DateTime.Now;
                task.Status  = 2;
                TimeSpan duration = task.EndTime.Value - task.StartTime.Value;

                switch (task.Unit)
                {
                case 0:    //Minutes
                    task.Duration = Convert.ToSByte(duration.Minutes);
                    break;

                case 1:     //Hours
                    task.Duration = Convert.ToSByte(duration.Hours);
                    break;

                case 2:     //Days
                    task.Duration = Convert.ToSByte(duration.Days);
                    break;

                case 3:     //Weeks
                    task.Duration = Convert.ToSByte(duration.Days / 7);
                    break;

                case 4:     //Months
                    task.Duration = Convert.ToSByte(duration.Days / 365.25 * 12);
                    break;
                }
                _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel {
                    ColumnName = "Status", ValueBefore = "", ValueAfter = task.Duration.ToString(), ObjectName = "EmpTasksForm", CompanyId = User.Identity.GetDefaultCompany(), SourceId = task.Id.ToString(), UserName = User.Identity.Name
                });
                _hrUnitOfWork.CheckListRepository.AssignNextTask(task);
            }
            task.ModifiedTime = DateTime.Now;
            task.ModifiedUser = User.Identity.Name;

            _hrUnitOfWork.CheckListRepository.Attach(task);
            _hrUnitOfWork.CheckListRepository.Entry(task).State = EntityState.Modified;

            string message = "Ok";
            var    Errors  = SaveChanges(User.Identity.GetLanguage());

            if (Errors.Count > 0)
            {
                message = Errors.First().errors.First().message;
            }

            return(Json(message));
        }
Beispiel #14
0
 public DbEntityEntry <EmpTask> Entry(EmpTask checklistTask)
 {
     return(Context.Entry(checklistTask));
 }
Beispiel #15
0
 public void Attach(EmpTask checklistTask)
 {
     context.EmpTasks.Attach(checklistTask);
 }
Beispiel #16
0
 public void Add(EmpTask checklistTask)
 {
     context.EmpTasks.Add(checklistTask);
 }
        public ActionResult SaveEmployeeTasks(int Id, bool btn)
        {
            //var AllEmpTasks = _hrUnitOfWork.CheckListRepository.ReadEmployeeTasksGrid(User.Identity.GetEmpId(), Language).ToList();
            EmpTask oldTask = _hrUnitOfWork.CheckListRepository.GetEmpTask(Id);

            byte version;

            byte.TryParse(Request.Form["version"], out version);

            if (btn) //Start
            {
                //var lessPriorty = AllEmpTasks.FirstOrDefault(t => t.Id != task.Id && t.Priority < task.Priority && task.Status == 1);
                //if (lessPriorty != null)
                //    return Json(MsgUtils.Instance.Trls("LessPrioryNotFinishYet"));
                _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel {
                    ColumnName = "StartTime", ValueBefore = oldTask.StartTime.ToString(), ValueAfter = DateTime.Now.ToString(), ObjectName = "EmpTasksForm", Version = version, CompanyId = CompanyId, SourceId = oldTask.Id.ToString(), UserName = UserName
                });
                if (oldTask.StartTime != null)
                {
                    return(Json(MsgUtils.Instance.Trls("TaskAlreadyStarted")));
                }

                oldTask.StartTime = DateTime.Now;
            }
            else
            {
                _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel {
                    ColumnName = "EndTime", ValueBefore = oldTask.EndTime.ToString(), ValueAfter = DateTime.Now.ToString(), ObjectName = "EmpTasksForm", Version = version, CompanyId = CompanyId, SourceId = oldTask.Id.ToString(), UserName = UserName
                });
                _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel {
                    ColumnName = "Status", ValueBefore = oldTask.Status.ToString(), ValueAfter = "2", ObjectName = "EmpTasksForm", Version = version, CompanyId = CompanyId, SourceId = oldTask.Id.ToString(), UserName = UserName
                });

                oldTask.EndTime = DateTime.Now;
                oldTask.Status  = 2;
                TimeSpan duration = oldTask.EndTime.Value - oldTask.StartTime.Value;

                switch (oldTask.Unit)
                {
                case 0:    //Minutes
                    oldTask.Duration = Convert.ToSByte(duration.Minutes);
                    break;

                case 1:     //Hours
                    oldTask.Duration = Convert.ToSByte(duration.Hours);
                    break;

                case 2:     //Days
                    oldTask.Duration = Convert.ToSByte(duration.Days);
                    break;

                case 3:     //Weeks
                    oldTask.Duration = Convert.ToSByte(duration.Days / 7);
                    break;

                case 4:     //Months
                    oldTask.Duration = Convert.ToSByte(duration.Days / 365.25 * 12);
                    break;
                }
                _hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel {
                    ColumnName = "Status", ValueBefore = "", ValueAfter = oldTask.Duration.ToString(), ObjectName = "EmpTasksForm", Version = version, CompanyId = CompanyId, SourceId = oldTask.Id.ToString(), UserName = UserName
                });

                _hrUnitOfWork.CheckListRepository.AssignNextTask(oldTask);
            }
            oldTask.ModifiedTime = DateTime.Now;
            oldTask.ModifiedUser = UserName;

            EmpTask task = new EmpTask();

            AutoMapper(new AutoMapperParm()
            {
                Source = oldTask, Destination = task, ObjectName = "EmpTasksForm", Version = version
            });

            _hrUnitOfWork.CheckListRepository.Attach(oldTask);
            _hrUnitOfWork.CheckListRepository.Entry(oldTask).State = EntityState.Modified;

            string message = "OK";
            var    Errors  = SaveChanges(Language);

            if (Errors.Count > 0)
            {
                message = Errors.First().errors.First().message;
            }

            return(Json(message));
        }
Beispiel #18
0
        public IHttpActionResult UploadFile(UploadedFileVm model)
        {
            var username = HttpContext.Current.User.Identity.Name;
            var i        = 0;

            if (model.Files.Count() > 0)
            {
                foreach (var item in model.Files)
                {
                    //FileStream fileStream = new FileStream(HttpContext.Current.Server.MapPath(serverMapPath + model.FileDetails[i]), FileMode.Create, FileAccess.ReadWrite);
                    //fileStream.Write(item, 0, item.Length);
                    //fileStream.Close();

                    CompanyDocsViews doc = new CompanyDocsViews()
                    {
                        CompanyId = model.CompanyId,
                        //name =  fileStream.Name,
                        name        = model.FileDetails[i],
                        CreatedUser = username,
                        Source      = model.Source,
                        SourceId    = model.TaskId,
                        file_stream = item
                    };

                    hrUnitOfWork.CompanyRepository.Add(doc);
                    i++;
                }
            }
            //else
            //{
            //    CompanyDocsViews doc = new CompanyDocsViews()
            //    {
            //        CompanyId = model.CompanyId,
            //        //name = model.FileDetails[i],
            //        name = string.Empty,
            //        CreatedUser = username,
            //        Source = model.Source,
            //        SourceId = model.TaskId
            //    };

            //    hrUnitOfWork.CompanyRepository.Add(doc);
            //}
            EmpTask oldTask = hrUnitOfWork.CheckListRepository.GetEmpTask(model.TaskId);

            //hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "EndTime", ValueBefore = oldTask.EndTime.ToString(), ValueAfter = DateTime.Now.ToString(), ObjectName = "EmpTasksForm",  CompanyId = model.CompanyId, SourceId = oldTask.Id.ToString(), UserName = username });
            //hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "Status", ValueBefore = oldTask.Status.ToString(), ValueAfter = "2", ObjectName = "EmpTasksForm",  CompanyId = model.CompanyId, SourceId = oldTask.Id.ToString(), UserName = username });

            if (oldTask.StartTime > DateTime.Now)
            {
                oldTask.StartTime = DateTime.Now;
            }

            oldTask.EndTime = DateTime.Now;
            oldTask.Status  = 2;
            TimeSpan duration = oldTask.EndTime.Value - oldTask.StartTime.Value;



            switch (oldTask.Unit)
            {
            case 0:    //Minutes
                oldTask.Duration = Convert.ToSByte(duration.Minutes);
                break;

            case 1:     //Hours
                oldTask.Duration = Convert.ToSByte(duration.Hours);
                break;

            case 2:     //Days
                oldTask.Duration = Convert.ToSByte(duration.Days);
                break;

            case 3:     //Weeks
                oldTask.Duration = Convert.ToSByte(duration.Days / 7);
                break;

            case 4:     //Months
                oldTask.Duration = Convert.ToSByte(duration.Days / 365.25 * 12);
                break;
            }
            //hrUnitOfWork.LeaveRepository.AddTrail(new AddTrailViewModel { ColumnName = "Status", ValueBefore = "", ValueAfter = oldTask.Duration.ToString(), ObjectName = "EmpTasksForm", Version = version, CompanyId = model.CompanyId, SourceId = oldTask.Id.ToString(), UserName = UserName });

            hrUnitOfWork.CheckListRepository.AssignNextTask(oldTask);
            oldTask.ModifiedTime = DateTime.Now;
            oldTask.ModifiedUser = username;

            var sc = SaveChanges(model.Language);

            return(Ok(sc));
        }