public int CreateItem(ListType listType, ListItem enumItem) { if (IsExist(listType, enumItem.Title)) { return(GetByTitle(listType, enumItem.Title).ID); } if (string.IsNullOrEmpty(enumItem.Title)) { throw new ArgumentException(); } if (listType == ListType.TaskCategory || listType == ListType.HistoryCategory) { if (string.IsNullOrEmpty(enumItem.AdditionalParams)) { throw new ArgumentException(); } else { enumItem.AdditionalParams = System.IO.Path.GetFileName(enumItem.AdditionalParams); } } if (listType == ListType.ContactStatus) { if (string.IsNullOrEmpty(enumItem.Color)) { throw new ArgumentException(); } } var sortOrder = enumItem.SortOrder; if (sortOrder == 0) { sortOrder = Query(CrmDbContext.ListItem) .Where(x => x.ListType == listType) .Max(x => x.SortOrder) + 1; } var listItem = new DbListItem { ListType = listType, Description = enumItem.Description, Title = enumItem.Title, AdditionalParams = enumItem.AdditionalParams, Color = enumItem.Color, SortOrder = sortOrder, TenantId = TenantID }; CrmDbContext.Add(listItem); CrmDbContext.SaveChanges(); return(listItem.Id); }
public async Task <Unit> Handle(Command request, CancellationToken cancellationToken) { var listitem = new DbListItem { ListItemGroupCode = request.ListItemGroupCode, ListItemCode = request.ListItemCode, RowVersion = request.RowVersion }; _context.Set <DbListItem>().Attach(listitem); _context.Set <DbListItem>().Remove(listitem); await _context.SaveChangesAsync(cancellationToken); return(Unit.Value); }