Example #1
0
        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);
        }
Example #2
0
            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);
            }