Beispiel #1
0
        public async Task <ToDoItem> UpdateItem(ApplicationUser user, ToDoItem item)
        {
            try
            {
                #region Update ToDo Item

                var itemToUpdate =
                    this._toDoDbContext.ToDoItems.SingleOrDefault(td =>
                                                                  td.UserId.Equals(Guid.Parse(user.Id)) && td.ItemId.Equals(item.ItemId));

                if (itemToUpdate == null)
                {
                    return(null);
                }

                itemToUpdate.ItemTitle  = item.ItemTitle;
                itemToUpdate.ItemStatus = item.ItemStatus;
                itemToUpdate.ItemDueOn  = item.ItemDueOn;

                this._toDoDbContext.ToDoItems.Update(itemToUpdate);

                await this._toDoDbContext.SaveChangesAsync(true, CancellationToken.None);

                #endregion

                #region Push Message to Azure Service Bus

                var updatedEvent = new Event
                {
                    EventId             = Guid.NewGuid(),
                    EventType           = "ItemUpdated",
                    AggregateId         = Guid.Parse(user.Id),
                    AggregateName       = "ToDoItem",
                    EventCreateDateTime = DateTime.Now,
                    EventPayLoad        = item.ObjectToJson()
                };
                //await this._messageSender.SendMessage(updatedEvent.ObjectToJson());

                #endregion

                return(itemToUpdate);
            }
            catch (DbUpdateException exception)
            {
                throw new Exception($"Something went wrong on the Database while updating a ToDo Item: {exception.Message}");
            }
            catch (Exception exception)
            {
                throw new Exception($"Something went wrong while updating a ToDo Item: {exception.Message}");
            }
        }
Beispiel #2
0
        public async Task <ToDoItem> CreateItem(ApplicationUser user, ToDoItem item)
        {
            try
            {
                #region Create ToDo Item

                var itemToCreate = new ToDoItem
                {
                    ItemId     = item.ItemId,
                    ItemTitle  = item.ItemTitle,
                    ItemStatus = item.ItemStatus,
                    UserId     = Guid.Parse(user.Id),
                    ItemDueOn  = item.ItemDueOn
                };

                this._toDoDbContext.ToDoItems.Add(itemToCreate);

                await this._toDoDbContext.SaveChangesAsync(true, CancellationToken.None);

                #endregion

                #region Push Message to Azure Service Bus

                var createdEvent = new Event
                {
                    EventId             = Guid.NewGuid(),
                    EventType           = "ItemAdded",
                    AggregateId         = Guid.Parse(user.Id),
                    AggregateName       = "ToDoItem",
                    EventCreateDateTime = DateTime.Now,
                    EventPayLoad        = item.ObjectToJson()
                };
                //await this._messageSender.SendMessage(createdEvent.ObjectToJson());

                #endregion

                return(itemToCreate);
            }
            catch (DbUpdateException exception)
            {
                throw new Exception($"Something went wrong on the Database while creating a ToDo Item: {exception.Message}");
            }
            catch (Exception exception)
            {
                throw new Exception($"Something went wrong while creating a ToDo Item: {exception.Message}");
            }
        }