Esempio n. 1
0
        public async Task <JsonResult> GetTaskItem(Guid?id)
        {
            TaskItemModel model = new TaskItemModel();

            try
            {
                TaskItemDto dto = null;
                if (id.HasValue)
                {
                    dto = await _taskItemService.GetById(id.Value);

                    if (dto == null)
                    {
                        var rs = SendMessageResponse.CreateFailedResponse("NotExist");
                        return(Json(rs, JsonRequestBehavior.AllowGet));
                    }
                    if (dto.CreatedBy != CurrentUser.Id && !CurrentUser.HavePermission(EnumModulePermission.Task_FullControl))
                    {
                        var rs = SendMessageResponse.CreateFailedResponse("AccessDenied");
                        return(Json(rs, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    dto = new TaskItemDto {
                        AssignBy = CurrentUser.Id, AssignByFullName = CurrentUser.FullName
                    };
                    dto.TaskItemAssigns.Add(new TaskItemAssignDto
                    {
                        AssignToFullName     = CurrentUser.FullName,
                        AssignToJobTitleName = CurrentUser.Departments != null ? CurrentUser.Departments[0].JobTitle : string.Empty,
                        Department           = CurrentUser.Departments != null ? CurrentUser.Departments[0].Name : string.Empty,
                        AssignTo             = CurrentUser.Id,
                        TaskType             = Entities.TaskType.Primary
                    });
                }
                model = _mapper.Map <TaskItemModel>(dto);
            }
            catch (Exception ex)
            {
                _loggerServices.WriteError(ex.ToString());
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }