Ejemplo n.º 1
0
        public ActionResult EmplistDelete(int id)
        {
            var message = "OK";
            DataSource <EmpChkListViewModel> Source = new DataSource <EmpChkListViewModel>();

            EmpChkList EmpcheckList = _hrUnitOfWork.Repository <EmpChkList>().Where(a => a.Id == id).FirstOrDefault();
            var        EmpTaskslis  = _hrUnitOfWork.Repository <EmpTask>().Where(a => a.EmpListId == id).ToList();

            if (EmpTaskslis.Count > 0)
            {
                foreach (var item in EmpTaskslis)
                {
                    _hrUnitOfWork.CheckListRepository.Remove(item);
                }
            }

            _hrUnitOfWork.CheckListRepository.Remove(EmpcheckList);
            Source.Errors = SaveChanges(Language);

            if (Source.Errors.Count() > 0)
            {
                return(Json(Source));
            }
            else
            {
                return(Json(message));
            }
        }
Ejemplo n.º 2
0
        public ActionResult CopyEmplistDetails(int checkList)
        {
            var checklist = _hrUnitOfWork.CheckListRepository.Find(a => a.Id == checkList).FirstOrDefault();

            EmpChkList EmpList = _hrUnitOfWork.CheckListRepository.AddEmpChlst(checklist, UserName, null, CompanyId);

            _hrUnitOfWork.CheckListRepository.Add(EmpList);
            var checkTask = _hrUnitOfWork.CheckListRepository.ReadCheckListTask(checklist.Id).ToList();

            if (checkTask.Count > 0)
            {
                _hrUnitOfWork.CheckListRepository.AddEmpTask(checkTask, UserName, EmpList);
            }
            List <Error> errors = new List <Error>();

            errors = SaveChanges(Language);

            if (errors.Count > 0)
            {
                var message = errors.First().errors.First().message;
                return(Json(message, JsonRequestBehavior.AllowGet));
            }
            var EmpLists = _hrUnitOfWork.CheckListRepository.ReadEmpList(EmpList.Id);

            FillViewBag(EmpList.EmpId == null ?0 : EmpList.EmpId.Value);

            return(View("EmplistDetails", EmpLists));
        }
Ejemplo n.º 3
0
 public void Remove(EmpChkList checklistTask)
 {
     if (Context.Entry(checklistTask).State == EntityState.Detached)
     {
         context.EmpChkLists.Attach(checklistTask);
     }
     context.EmpChkLists.Remove(checklistTask);
 }
Ejemplo n.º 4
0
        public EmpChkList AddEmpChlst(CheckList checklist, string UserName, int?EmpId, int CompanyId)
        {
            EmpChkList Emplist = new EmpChkList();

            Emplist.CreatedTime   = DateTime.Now;
            Emplist.Name          = checklist.Name;
            Emplist.EmpId         = EmpId;
            Emplist.CreatedUser   = UserName;
            Emplist.Description   = checklist.Description;
            Emplist.ListEndDate   = checklist.EndDate;
            Emplist.ListId        = checklist.Id;
            Emplist.ListStartDate = checklist.StartDate;
            Emplist.ListType      = checklist.ListType;
            Emplist.Status        = 0;
            Emplist.CompanyId     = CompanyId;

            return(Emplist);
        }
Ejemplo n.º 5
0
        public EmpChkList AddEmpChlst(CheckList checklist, string UserName, int EmpId, int companyId)
        {
            EmpChkList Emplist = new EmpChkList()
            {
                CreatedTime   = DateTime.Now,
                Name          = checklist.Name,
                EmpId         = EmpId,
                CreatedUser   = UserName,
                Description   = checklist.Description,
                ListEndDate   = checklist.EndDate,
                ListId        = checklist.Id,
                ListStartDate = checklist.StartDate,
                ListType      = checklist.ListType,
                Status        = 0,
                CompanyId     = companyId,
            };

            return(Emplist);
        }
Ejemplo n.º 6
0
        public IHttpActionResult PostTerminationRequest(TerminationFormVM model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            if (model == null)
            {
                return(NotFound());
            }

            var UserName = HttpContext.Current.User.Identity.Name;
            var request  = hrUnitOfWork.TerminationRepository.Get(model.Id);

            AutoMapper(new Models.AutoMapperParm
            {
                Destination = request,
                Source      = model,
                ObjectName  = "TermRequestForm",
                Version     = 0,
                Options     = null,
                Transtype   = TransType.Update
            });
            request.ModifiedTime = DateTime.Now;
            request.ModifiedUser = UserName;
            request.CompanyId    = model.CompanyId;
            //request.ApprovalStatus = 2;
            request.PlanedDate = model.PlanedDate;


            hrUnitOfWork.TerminationRepository.Attach(request);
            hrUnitOfWork.TerminationRepository.Entry(request).State = EntityState.Modified;

            var Errors = SaveChanges(model.Culture);

            if (Errors.Count > 0)
            {
                return(StatusCode(HttpStatusCode.Forbidden));
            }

            if (request.ApprovalStatus == 2)
            {
                string error = AddWFTrans(request, null, null, model);
                if (error.Length > 0)
                {
                    return(Json(error));
                }

                var checklist = hrUnitOfWork.CheckListRepository.GetTermCheckLists(model.CompanyId);
                if (checklist != null)
                {
                    EmpChkList EmpList = hrUnitOfWork.CheckListRepository.AddEmpChlst(checklist, UserName, request.EmpId, model.CompanyId);
                    hrUnitOfWork.CheckListRepository.Add(EmpList);
                    var checkTask = hrUnitOfWork.CheckListRepository.ReadCheckListTask(checklist.Id).ToList();
                    if (checkTask.Count > 0)
                    {
                        hrUnitOfWork.CheckListRepository.AddEmpTask(checkTask, UserName, EmpList);
                    }
                }
            }
            Errors = SaveChanges(model.Culture);
            if (Errors.Count > 0)
            {
                return(StatusCode(HttpStatusCode.NotModified));
            }
            return(Ok(model));
        }
        public ActionResult Details(TerminationFormViewModel model, OptionsViewModel moreInfo)
        {
            List <Error> errors  = new List <Error>();
            var          message = "OK";

            var Term = _hrUnitOfWork.TerminationRepository.Get(model.Id);

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    errors = _hrUnitOfWork.TerminationRepository.CheckForm(new CheckParm
                    {
                        CompanyId    = CompanyId,
                        ObjectName   = "TermRequestForm",
                        TableName    = "Terminations",
                        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)));
            }

            if (Term == null) // New
            {
                Term = new Termination();

                AutoMapper(new Models.AutoMapperParm
                {
                    Destination = Term,
                    Source      = model,
                    ObjectName  = "TermRequestForm",
                    Options     = moreInfo,
                    Transtype   = TransType.Insert
                });
                Term.CompanyId   = CompanyId;
                Term.CreatedTime = DateTime.Now;
                Term.CreatedUser = UserName;
                Term.RequestDate = DateTime.Now;

                _hrUnitOfWork.TerminationRepository.Add(Term);
            }
            else // Edit
            {
                AutoMapper(new Models.AutoMapperParm
                {
                    Destination = Term,
                    Source      = model,
                    ObjectName  = "TermRequestForm",
                    Options     = moreInfo,
                    Transtype   = TransType.Update
                });
                Term.ModifiedTime = DateTime.Now;
                Term.ModifiedUser = UserName;
                Term.CompanyId    = CompanyId;

                _hrUnitOfWork.TerminationRepository.Attach(Term);
                _hrUnitOfWork.TerminationRepository.Entry(Term).State = EntityState.Modified;
            }

            //Use 2 SaveChanges in same action to get Id of request to use it in Workflow Transation (WFTrans)
            errors = SaveChanges(Language);
            if (errors.Count > 0)
            {
                message = errors.First().errors.First().message;
                return(Json(message));
            }

            if (Term.ApprovalStatus == 2)
            {
                string error = AddWFTrans(Term, null, null);
                if (error.Length > 0)
                {
                    return(Json(error));
                }

                var checklist = _hrUnitOfWork.CheckListRepository.GetTermCheckLists(CompanyId);
                if (checklist != null)
                {
                    EmpChkList EmpList = _hrUnitOfWork.CheckListRepository.AddEmpChlst(checklist, UserName, Term.EmpId, CompanyId);
                    _hrUnitOfWork.CheckListRepository.Add(EmpList);
                    var checkTask = _hrUnitOfWork.CheckListRepository.ReadCheckListTask(checklist.Id).ToList();
                    if (checkTask.Count > 0)
                    {
                        _hrUnitOfWork.CheckListRepository.AddEmpTask(checkTask, UserName, EmpList);
                    }
                }
            }
            errors = SaveChanges(Language);
            if (errors.Count > 0)
            {
                message = errors.First().errors.First().message;
            }
            return(Json(message));
        }
Ejemplo n.º 8
0
        public string ExcuteUpdate(int id)
        {
            var          message = "Ok";
            List <Error> errors  = new List <Error>();

            int EmpListstatus = _hrUnitOfWork.CheckListRepository.ReadEmpList(id).Status;
            int ImpCount = 0, NotImpCount = 0;
            var Tasks = _hrUnitOfWork.Repository <EmpTask>().Where(a => a.EmpListId == id).ToList();

            if ((Tasks.Count > 0) && (EmpListstatus != 2))
            {
                foreach (var Task in Tasks.Where(a => a.Status == 1))
                {
                    bool Expiered;
                    switch (Task.Unit)
                    {
                    case 1:
                        if (Task.Required)
                        {
                            if (Task.ExpectDur != null && Task.ExpectDur != 0)
                            {
                                Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true;
                                if (Expiered)
                                {
                                    Task.Status = 4;
                                    _hrUnitOfWork.CheckListRepository.Attach(Task);
                                    _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified;
                                }
                                else
                                {
                                    ImpCount++;
                                }
                            }
                            else
                            {
                                ImpCount++;
                            }
                        }
                        else
                        {
                            if (Task.ExpectDur != null && Task.ExpectDur != 0)
                            {
                                Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true;
                                if (Expiered)
                                {
                                    Task.Status = 4;
                                    _hrUnitOfWork.CheckListRepository.Attach(Task);
                                    _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified;
                                }
                                else
                                {
                                    NotImpCount++;
                                }
                            }
                            else
                            {
                                NotImpCount++;
                            }
                        }
                        break;

                    case 2:
                        if (Task.Required)
                        {
                            if (Task.ExpectDur != null && Task.ExpectDur != 0)
                            {
                                Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true;
                                if (Expiered)
                                {
                                    Task.Status = 4;
                                    _hrUnitOfWork.CheckListRepository.Attach(Task);
                                    _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified;
                                }
                                else
                                {
                                    ImpCount++;
                                }
                            }
                            else
                            {
                                ImpCount++;
                            }
                        }
                        else
                        {
                            if (Task.ExpectDur != null && Task.ExpectDur != 0)
                            {
                                Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddHours(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true;
                                if (Expiered)
                                {
                                    Task.Status = 4;
                                    _hrUnitOfWork.CheckListRepository.Attach(Task);
                                    _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified;
                                }
                                else
                                {
                                    NotImpCount++;
                                }
                            }
                            else
                            {
                                NotImpCount++;
                            }
                        }
                        break;

                    case 4:
                        if (Task.Required)
                        {
                            if (Task.ExpectDur != null && Task.ExpectDur != 0)
                            {
                                Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true;
                                if (Expiered)
                                {
                                    Task.Status = 4;
                                    _hrUnitOfWork.CheckListRepository.Attach(Task);
                                    _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified;
                                }
                                else
                                {
                                    ImpCount++;
                                }
                            }
                            else
                            {
                                ImpCount++;
                            }
                        }
                        else
                        {
                            if (Task.ExpectDur != null && Task.ExpectDur != 0)
                            {
                                Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddDays(Task.ExpectDur.Value * 7) > DateTime.Now ? false : true) : true;
                                if (Expiered)
                                {
                                    Task.Status = 4;
                                    _hrUnitOfWork.CheckListRepository.Attach(Task);
                                    _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified;
                                }
                                else
                                {
                                    NotImpCount++;
                                }
                            }
                            else
                            {
                                NotImpCount++;
                            }
                        }
                        break;

                    case 5:
                        if (Task.Required)
                        {
                            if (Task.ExpectDur != null && Task.ExpectDur != 0)
                            {
                                Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true;
                                if (Expiered)
                                {
                                    Task.Status = 4;
                                    _hrUnitOfWork.CheckListRepository.Attach(Task);
                                    _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified;
                                }
                                else
                                {
                                    ImpCount++;
                                }
                            }
                            else
                            {
                                ImpCount++;
                            }
                        }
                        else
                        {
                            if (Task.ExpectDur != null && Task.ExpectDur != 0)
                            {
                                Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMonths(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true;
                                if (Expiered)
                                {
                                    Task.Status = 4;
                                    _hrUnitOfWork.CheckListRepository.Attach(Task);
                                    _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified;
                                }
                                else
                                {
                                    NotImpCount++;
                                }
                            }
                            else
                            {
                                NotImpCount++;
                            }
                        }
                        break;

                    default:
                        if (Task.Required)
                        {
                            if (Task.ExpectDur != null && Task.ExpectDur != 0)
                            {
                                Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddMinutes(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true;
                                if (Expiered)
                                {
                                    Task.Status = 4;
                                    _hrUnitOfWork.CheckListRepository.Attach(Task);
                                    _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified;
                                }
                                else
                                {
                                    ImpCount++;
                                }
                            }
                            else
                            {
                                ImpCount++;
                            }
                        }
                        else
                        {
                            if (Task.ExpectDur != null && Task.ExpectDur != 0)
                            {
                                Expiered = Task.AssignedTime != null ? (Task.AssignedTime.Value.AddDays(Task.ExpectDur.Value) > DateTime.Now ? false : true) : true;
                                if (Expiered)
                                {
                                    Task.Status = 4;
                                    _hrUnitOfWork.CheckListRepository.Attach(Task);
                                    _hrUnitOfWork.CheckListRepository.Entry(Task).State = EntityState.Modified;
                                }
                                else
                                {
                                    NotImpCount++;
                                }
                            }
                            else
                            {
                                NotImpCount++;
                            }
                        }
                        break;
                    }
                }

                if (ImpCount + NotImpCount + Tasks.Where(a => a.Status == 0).Count() == 0)
                {
                    EmpChkList Emplist = _hrUnitOfWork.Repository <EmpChkList>().FirstOrDefault(a => a.Id == id && a.CompanyId == CompanyId);

                    Emplist.Status = 2;
                    _hrUnitOfWork.CheckListRepository.Attach(Emplist);
                    _hrUnitOfWork.CheckListRepository.Entry(Emplist).State = EntityState.Modified;
                    message += "Canceled";
                }
                else
                {
                    if (ImpCount == 0 && Tasks.Where(a => a.Status == 0).Count() > 0)
                    {
                        var res = Tasks.Where(b => b.Status == 0).OrderBy(a => a.Priority).FirstOrDefault();
                        foreach (var item in Tasks.Where(b => b.Status == 0 && b.Priority == res.Priority).ToList())
                        {
                            item.Status = 1;
                            _hrUnitOfWork.CheckListRepository.Attach(item);
                            _hrUnitOfWork.CheckListRepository.Entry(item).State = EntityState.Modified;
                        }
                        message = "Updated";
                    }
                    else
                    {
                        message = (ImpCount + NotImpCount).ToString() + " AlreadyAssigned";
                    }
                }

                if (message.Contains("Updated"))
                {
                    errors = SaveChanges(Language);
                    if (errors.Count > 0)
                    {
                        message = errors.First().errors.First().message;
                    }
                }
            }
            else
            {
                return(message + "NoTask");
            }
            return(message);
        }
Ejemplo n.º 9
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);
        }
Ejemplo n.º 10
0
        public ActionResult EmplistDetails(EmpChkListViewModel model, OptionsViewModel moreInfo, EmpTaskVM grid1)
        {
            List <Error> errors = new List <Error>();

            if (model.ManagerId == model.EmpId)
            {
                ModelState.AddModelError("EmpId", MsgUtils.Instance.Trls("ManagerCan'tbeequalEmp"));
                return(Json(Models.Utils.ParseFormErrors(ModelState)));
            }

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    errors = _hrUnitOfWork.SiteRepository.CheckForm(new CheckParm
                    {
                        CompanyId    = CompanyId,
                        ObjectName   = "EmpListForm",
                        TableName    = "EmpChkLists",
                        ParentColumn = "ListId",
                        Columns      = Models.Utils.GetColumnViews(ModelState.Where(a => !a.Key.Contains('.'))),
                        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)));
                    }
                }

                EmpChkList record;
                //insert
                if (model.Id == 0)
                {
                    record = new EmpChkList();
                    AutoMapper(new Models.AutoMapperParm
                    {
                        Destination = record,
                        Source      = model,
                        ObjectName  = "EmpListForm",
                        Options     = moreInfo,
                        Transtype   = TransType.Insert
                    });
                    record.CreatedUser = UserName;
                    record.CreatedTime = DateTime.Now;
                    record.CompanyId   = CompanyId;
                    if (record.ListStartDate > record.ListEndDate)
                    {
                        ModelState.AddModelError("ListStartDate", MsgUtils.Instance.Trls("End must greater than start"));
                        return(Json(Models.Utils.ParseFormErrors(ModelState)));
                    }
                    _hrUnitOfWork.CheckListRepository.Add(record);
                }
                //update
                else
                {
                    record = _hrUnitOfWork.Repository <EmpChkList>().FirstOrDefault(a => a.Id == model.Id);
                    AutoMapper(new Models.AutoMapperParm
                    {
                        Destination = record,
                        Source      = model,
                        ObjectName  = "EmpListForm",
                        Options     = moreInfo,
                        Transtype   = TransType.Update
                    });
                    record.ModifiedTime = DateTime.Now;
                    record.ModifiedUser = UserName;
                    record.CompanyId    = CompanyId;
                    if (record.ListStartDate > record.ListEndDate)
                    {
                        ModelState.AddModelError("ListEndDate", MsgUtils.Instance.Trls("End must greater than start"));
                        return(Json(Models.Utils.ParseFormErrors(ModelState)));
                    }

                    if (model.Status == 2)
                    {
                        var EmpTasks = _hrUnitOfWork.Repository <EmpTask>().Where(a => a.EmpListId == model.Id).ToList();
                        if (EmpTasks.Count > 0)
                        {
                            foreach (var item in EmpTasks)
                            {
                                if (item.Status != 2)
                                {
                                    item.Status = 3;
                                    _hrUnitOfWork.CheckListRepository.Attach(item);
                                    _hrUnitOfWork.CheckListRepository.Entry(item).State = EntityState.Modified;
                                }
                            }
                        }
                    }
                    _hrUnitOfWork.CheckListRepository.Attach(record);
                    _hrUnitOfWork.CheckListRepository.Entry(record).State = EntityState.Modified;
                }

                // Save grid1
                errors = EmpTasksSaveGrid(grid1, ModelState.Where(a => a.Key.Contains("grid")), record);
                if (errors.Count > 0)
                {
                    return(Json(errors.First().errors.First().message));
                }

                errors = SaveChanges(Language);

                var message = "OK";
                if (errors.Count > 0)
                {
                    message = errors.First().errors.First().message;
                }

                return(Json(message));
            }

            return(Json(Models.Utils.ParseFormErrors(ModelState)));
        }
        public IHttpActionResult SaveTermination(TerminationFormViewModel model)
        {
            List <Model.ViewModel.Error> errors = new List <Model.ViewModel.Error>();

            if (!ModelState.IsValid)
            {
                return(Json(Utils.ParseFormError(ModelState)));
            }


            string message = "Ok";

            model.EmpId = User.Identity.GetEmpId();
            model.EmpId = 1042;

            var Term = _hrUnitOfWork.TerminationRepository.Get(model.Id);

            if (Term == null) // New
            {
                Term = new Termination();

                AutoMapperParm parms = new AutoMapperParm()
                {
                    Source = model, Destination = Term
                };
                AutoMapper(parms);
                Term.CreatedTime = DateTime.Now;
                Term.CreatedUser = User.Identity.Name;
                Term.RequestDate = DateTime.Now;
                if (model.Excute)
                {
                    Term.ApprovalStatus = 2;
                }
                _hrUnitOfWork.TerminationRepository.Add(Term);
            }
            else // Edit
            {
                AutoMapperParm parms = new AutoMapperParm()
                {
                    Source = model, Destination = Term
                };
                AutoMapper(parms);
                Term.ModifiedTime = DateTime.Now;
                Term.ModifiedUser = User.Identity.Name;
                if (model.Excute)
                {
                    Term.ApprovalStatus = 2;
                }
                _hrUnitOfWork.TerminationRepository.Attach(Term);
                _hrUnitOfWork.TerminationRepository.Entry(Term).State = EntityState.Modified;
            }
            if (model.Excute)
            {
                string error = AddWFTrans(Term, null, null);
                if (error.Length > 0)
                {
                    return(Json(error));
                }

                var checklist = _hrUnitOfWork.CheckListRepository.GetTermCheckLists(User.Identity.GetDefaultCompany());
                if (checklist != null)
                {
                    EmpChkList EmpList = _hrUnitOfWork.CheckListRepository.AddEmpChlst(checklist, User.Identity.Name, Term.EmpId, User.Identity.GetDefaultCompany());
                    _hrUnitOfWork.CheckListRepository.Add(EmpList);
                    var checkTask = _hrUnitOfWork.CheckListRepository.ReadCheckListTask(checklist.Id).ToList();
                    if (checkTask.Count > 0)
                    {
                        _hrUnitOfWork.CheckListRepository.AddEmpTask(checkTask, User.Identity.Name, EmpList);
                    }
                }
            }
            try
            {
                _hrUnitOfWork.Save();
            }
            catch (Exception ex)
            {
                message = _hrUnitOfWork.HandleDbExceptions(ex, User.Identity.GetLanguage());
                if (message.Length > 0)
                {
                    return(Ok(message));
                }
            }

            return(Ok(message));
        }
Ejemplo n.º 12
0
 public DbEntityEntry <EmpChkList> Entry(EmpChkList checklistTask)
 {
     return(Context.Entry(checklistTask));
 }
Ejemplo n.º 13
0
 public void Attach(EmpChkList checklistTask)
 {
     context.EmpChkLists.Attach(checklistTask);
 }
Ejemplo n.º 14
0
 public void Add(EmpChkList checklistTask)
 {
     context.EmpChkLists.Add(checklistTask);
 }
Ejemplo n.º 15
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);
     }
 }