public async Task <ActionResult <IList <ProjectTaskPerformer> > > GetItems()
        {
            try
            {
                var items = await _projectTaskPerformerRepository.FindAsync(e => !e.Deleted);

                return(items.ToList());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
示例#2
0
        public async Task <IActionResult> DeleteItem(int id)
        {
            try
            {
                var item = await _projectTaskRepository.FindByIdAsync(id);

                if (item == null)
                {
                    return(NotFound());
                }
                else
                {
                    item.Deleted = true;

                    item.DateDeleted = DateTime.Now;

                    var userDeleted = (await _userRepository.FindAsync(e => !e.Deleted && e.Login.ToLower().Equals(_userService.userLogin.ToLower()))).SingleOrDefault();
                    item.LoginDeleted = userDeleted != null ? userDeleted.ShortName : _userService.userLogin;

                    await _projectTaskRepository.EditAsync(item);

                    // удалить всех исполнителей
                    var performers = await _projectTaskPerformerRepository.FindAsync(e => e.ProjectTaskId.Equals(id) && !e.Deleted);

                    foreach (var performer in performers)
                    {
                        performer.Deleted = true;
                    }

                    await _projectTaskPerformerRepository.EditAsync(performers.ToList());

                    return(NoContent());
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }