public async Task <ActionResult> UpdateTask([FromBody] TaskInputDto task, int employeeId) { var temp = Db.Set <LTRegistrator.Domain.Entities.Task>().SingleOrDefault(t => t.Id == task.Id && t.Name == task.Name); if (temp != null) { foreach (var item in task.TaskNotes) { var note = Db.Set <TaskNote>().FirstOrDefault(tn => tn.Day == item.Day && tn.TaskId == task.Id); if (note != null && note.Hours != item.Hours) { note.Hours = item.Hours; Db.Set <TaskNote>().Update(note); await Db.SaveChangesAsync(); } if (note == null) { TaskNote taskNote = new TaskNote { TaskId = task.Id, Day = item.Day, Hours = item.Hours }; Db.Set <TaskNote>().Add(taskNote); await Db.SaveChangesAsync(); } } return(Ok()); } return(NotFound()); }
public async void AddTaskTests(int projectId, int employeeId, bool correctTaskNotes, HttpStatusCode status) { var task = new TaskInputDto() { Name = "EMIAS", TaskNotes = null }; if (correctTaskNotes) { task.TaskNotes = new List <TaskNoteDto> { new TaskNoteDto { Hours = 5, Day = new DateTime(2019, 7, 7) } } } ; var result = await _taskController.AddTask(projectId, employeeId, task); Assert.Equal((int)status, ToHttpStatusCodeResult(result)); if (status == HttpStatusCode.OK) //Проверяем, что добавлено { Assert.NotNull(Db.Set <Task>().FirstOrDefault(t => t.ProjectId == projectId && t.EmployeeId == employeeId)); } }
public BaseResponse <bool> Update(TaskInputDto taskInputDto) { var task = Mapper.Map <Task>(taskInputDto); var isSaved = Update(task); if (!isSaved) { throw new BadRequestException("Could not update task"); } return(new SuccessResponse <bool>(true)); }
public async Task <IHttpActionResult> Entrance([FromBody] TaskInputDto dto) { var ret = await _taskService.Entrance(dto, WorkUser); if (ret.Success == false && ret.Msg == "NOT_LOGIN") { return(Content(HttpStatusCode.Unauthorized, new { success = false, errCode = "NOT_LOGIN", message = "No login id.1" })); } return(Ok(ret)); }
public BaseResponse <TaskOutputDto> Create(TaskInputDto taskInputDto) { var entity = Mapper.Map <Task>(taskInputDto); var taskKey = Count(x => x.BoardId == entity.BoardId) + 1; if (taskKey == 0) { throw new BadRequestException($"Could not create task {taskInputDto.Title}"); } entity.TaskKey = taskKey; var task = Create(entity, out var isSaved); if (!isSaved) { throw new BadRequestException($"Could not create task {taskInputDto.Title}"); } return(new SuccessResponse <TaskOutputDto>(Mapper.Map <TaskOutputDto>(task))); }
/* * Creates a TaskInput by taking a taskInputDto instance as an argumnet. */ public async Task <TaskInputDto> UpdateTaskInput(TaskInputDto taskInputDto, string userName) { var patientDetails = lapbaseNewContext.Patient.Where(p => p.Username == userName).FirstOrDefault(); Guid id; var result = lapbaseNewContext.TaskInput.FirstOrDefault(f => f.Id == taskInputDto.Id); if (result == null) { id = Guid.Empty; result = lapbaseNewContext.TaskInput.Add(GetTaskInputFromDto(taskInputDto, id, patientDetails.PatientCode, patientDetails.OrganisationCode)).Entity; } else { id = result.Id; adaptTaskInput(result, taskInputDto); } await lapbaseNewContext.SaveChangesAsync(); return(new TaskInputDto(result)); }
public BaseResponse <bool> Update([FromBody] TaskInputDto taskInputDto) { return(_taskService.Update(taskInputDto)); }
public BaseResponse <TaskOutputDto> Create([FromBody] TaskInputDto taskInputDto) { return(_taskService.Create(taskInputDto)); }
public async Task <ActionResult> AddTask([FromRoute] int projectId, int employeeId, [FromBody] TaskInputDto task) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var templateTypeProject = Db.Set <Project>().FirstOrDefault(p => p.TemplateType == TemplateType.HoursPerProject && p.Id == projectId && !p.SoftDeleted); if (templateTypeProject == null) { return(NotFound()); } var employeeProject = Db.Set <ProjectEmployee>().Where(pe => pe.ProjectId == projectId && pe.EmployeeId == employeeId).FirstOrDefault(); var nameTask = Db.Set <LTRegistrator.Domain.Entities.Task>().Where(t => (t.Name == task.Name || t.Name == templateTypeProject.Name) && t.ProjectId == projectId && t.EmployeeId == employeeId).FirstOrDefault(); if (nameTask == null && templateTypeProject != null && task != null && templateTypeProject.Name == task.Name && employeeProject != null) { using (var transaction = Db.Database.BeginTransaction()) { try { LTRegistrator.Domain.Entities.Task newTask = new LTRegistrator.Domain.Entities.Task { EmployeeId = employeeId, ProjectId = projectId, Name = task.Name }; Db.Set <LTRegistrator.Domain.Entities.Task>().Add(newTask); foreach (var item in task.TaskNotes) { TaskNote taskNote = new TaskNote { TaskId = newTask.Id, Day = item.Day, Hours = item.Hours }; Db.Set <TaskNote>().Add(taskNote); } await Db.SaveChangesAsync(); transaction.Commit(); return(Ok()); } catch (Exception ex) { transaction.Rollback(); } } } return(BadRequest()); }
public async Task <ActionResult> Update([FromBody] TaskInputDto taskInputDto) { return(Ok(await taskInputService.UpdateTaskInput(taskInputDto, User.Identity.Name))); }
/// <summary> /// 用户会话主入口 /// </summary> /// <param name="dto"></param> /// <param name="workUser"></param> /// <returns></returns> public async Task <ReturnValueModel> Entrance(TaskInputDto dto, WorkUser workUser) { ReturnValueModel rvm = new ReturnValueModel { Msg = "success", Success = true }; if (string.IsNullOrEmpty(workUser?.WxSaleUser?.Id)) { rvm.Msg = "NOT_LOGIN"; rvm.Success = false; return(rvm); } var user = _rep.FirstOrDefault <WxSaleUserModel>(s => s != null && s.IsDeleted != 1 && s.Id == workUser.WxSaleUser.Id); if (user == null) { rvm.Msg = "NOT_LOGIN"; rvm.Success = false; return(rvm); } if (string.IsNullOrEmpty(user.ADAccount)) { rvm.Msg = "NOT_LOGIN"; rvm.Success = false; return(rvm); } try { string _host = ConfigurationManager.AppSettings["KBSUrl"]; string url = $"{_host}{"TaskManage"}"; string loginSecretkey = ConfigurationManager.AppSettings["LoginSecretkey"]; string sign = Tool.Sign(new Dictionary <string, object> { { "BotManageId", dto.BotManageId } }, loginSecretkey); dto.Sign = sign; dto.UserId = workUser.WxSaleUser.Id; var ret = await new WebClient <Result>() .Post(url) .JsonData(dto) .ResultFromJsonAsync(); if (ret?.Code == 0) { rvm.Msg = "fail"; rvm.Success = false; rvm.Result = ret?.Message; return(rvm); } List <dynamic> entranceOutDtos = new List <dynamic>(); var taskOutDto = KBS.Helpers.Json.ToObject <TaskOutDto>(ret.Data.ToString()); if (taskOutDto.NodeType == 3) { entranceOutDtos.Add(new { type = "main", content = taskOutDto.Result, hasSatisfied = true, selectSatisfied = 0 }); } else { entranceOutDtos.Add(new { type = "main", content = taskOutDto.Result }); } if (taskOutDto.FAQRecommends != null && taskOutDto.FAQRecommends.Count > 0) { var totalCount = taskOutDto.FAQRecommends.Count(); //获取数 var pageSize = 5; //每页显示数 var totalPage = 0; if ((totalCount % pageSize) == 0) { totalPage = totalCount / pageSize; } totalPage = (totalCount / pageSize) + 1; List <List <string> > contents = new List <List <string> >(); for (int i = 0; i < totalPage; i++) { var content = taskOutDto.FAQRecommends.OrderBy(o => o).Skip(i).Take(pageSize).ToList(); contents.Add(content); } //faq 问题推荐 entranceOutDtos.Add(new { type = "faq", content = contents, curIndex = 0, maxIndex = totalPage - 1 }); } //勋章返回 var medals = AddUserMedal(taskOutDto, workUser); string _hostUrl = ConfigurationManager.AppSettings["HostUrl"]; foreach (var item in medals) { entranceOutDtos.Add(new { type = "medal", content = item.content, url = $"{_hostUrl}/{item.url}", name = item.name }); } rvm.Result = new { processId = taskOutDto.ProcessId, taskId = taskOutDto.TaskId, activityId = taskOutDto.ActivityId, luisAppId = taskOutDto.LuisAppId, botManageId = taskOutDto.BotManageId, faqPackageId = taskOutDto.FaqPackageId, faqId = taskOutDto.FaqId, taskItemId = taskOutDto.TaskItemId, msgResult = entranceOutDtos }; } catch (Exception ex) { rvm.Msg = "fail"; rvm.Success = false; rvm.Result = ex.Message; } return(rvm); }