bool CheckIntegrityListItem(int listItemId, int listAggregationId) { var listItem = _context.ListItems.Where(a => a.ListItemId == listItemId).Include(a => a.List).FirstOrDefault(); bool exist = false; if (listItem != null) { _context.Entry(listItem).State = EntityState.Detached; exist = listItem.List.ListAggregatorId == listAggregationId; } return(exist); }
public async Task <MessageAndStatusAndData <ListItem> > Handle(SavePropertyCommand request, CancellationToken cancellationToken) { if (!CheckIntegrityListItem(request.Item.ListItemId, request.ListAggregationId)) { return(await Task.FromResult(MessageAndStatusAndData.Fail <ListItem>("Forbbidden"))); } var listItemEntity = _mapper.Map <ListItemEntity>(request.Item); _context.Entry <ListItemEntity>(listItemEntity).Property(request.PropertyName).IsModified = true; var amount = await _context.SaveChangesAsync(); var listItem = _mapper.Map <ListItem>(listItemEntity); return(await Task.FromResult(MessageAndStatusAndData.Ok(listItem, "OK"))); }
public async Task <ActionResult <ListAggregator> > EditListAggregator([FromBody] ListAggregator item, int listAggregationId) { var listItemEntity = _mapper.Map <ListAggregatorEntity>(item); if (!CheckIntegrity(item.ListAggregatorId, listAggregationId)) { return(Forbid()); } // _context.ListItems.Remove(_context.ListItems.Single(a => a.ListItemId == ItemId)); _context.Entry <ListAggregatorEntity>(listItemEntity).Property(nameof(ListAggregatorEntity.ListAggregatorName)).IsModified = true; var amount = await _context.SaveChangesAsync(); var listItem = _mapper.Map <ListAggregator>(listItemEntity); var userList = await WebApiHelper.GetuUserIdFromListAggrIdAsync(listAggregationId, _context); await _mediator.Publish(new DataChangedEvent(userList)); return(await Task.FromResult(listItem)); }
public async Task <ActionResult <bool> > ChangeOrderListItem([FromBody] IEnumerable <List> items) { var listItemEntity = _mapper.Map <IEnumerable <ListEntity> >(items); // _context.ListItems.Remove(_context.ListItems.Single(a => a.ListItemId == ItemId)); foreach (var item in listItemEntity) { _context.Entry <ListEntity>(item).Property(nameof(ListEntity.Order)).IsModified = true; } var amount = await _context.SaveChangesAsync(); // var listItem = _mapper.Map<ListItem>(listItemEntity); return(await Task.FromResult(true)); }