示例#1
0
        public async Task <string> Handle(DeletePersonAssetCommand request, CancellationToken cancellationToken)
        {
            using (_context)
            {
                PersonAsset toDeletePersonAsset = new PersonAsset();

                toDeletePersonAsset = await(from a in _context.PersonAsset where a.Id == request.Id select a).FirstOrDefaultAsync();
                if (toDeletePersonAsset != null)
                {
                    _context.PersonAsset.Remove(toDeletePersonAsset);
                    await _context.SaveChangesAsync(cancellationToken);
                }
            }

            return(string.Empty);
        }
示例#2
0
        public async Task <List <SearchedPersonAsset> > Handle(SavePersonAssetCommand request, CancellationToken cancellationToken)
        {
            List <SearchedPersonAsset> result = new List <SearchedPersonAsset>();

            if (request.Id == null || request.Id == default(decimal))
            {
                int CurrentUserId = await _currentUser.GetUserId();

                using (var transaction = _context.Database.BeginTransaction())
                {
                    try
                    {
                        using (_context)
                        {
                            PersonAsset personAsset = new PersonAsset()
                            {
                                PersonId    = request.PersonId,
                                AssetTypeId = request.AssetTypeId,
                                ModifiedOn  = request.ModifiedOn,
                                ModifiedBy  = request.ModifiedBy,
                                ReferenceNo = request.ReferenceNo,
                                CreatedOn   = request.CreatedOn,
                                CreatedBy   = request.CreatedBy,
                                Description = request.Description,
                                Value       = request.Value
                            };
                            _context.PersonAsset.Add(personAsset);
                            await _context.SaveChangesAsync(CurrentUserId, cancellationToken);



                            result = await _mediator.Send(new Queries.SearchPersonAssetQuery()
                            {
                                Id = personAsset.Id
                            });

                            transaction.Commit();
                        }
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        throw new Exception();
                    }
                }
            }
            else
            {
                using (_context)
                {
                    PersonAsset toUpdateRecord = await(from ps in _context.PersonAsset
                                                       where ps.Id == request.Id
                                                       select ps).SingleOrDefaultAsync();

                    toUpdateRecord.PersonId    = request.PersonId;
                    toUpdateRecord.AssetTypeId = request.AssetTypeId;
                    toUpdateRecord.ModifiedOn  = request.ModifiedOn;
                    toUpdateRecord.ModifiedBy  = request.ModifiedBy;
                    toUpdateRecord.ReferenceNo = request.ReferenceNo;
                    toUpdateRecord.CreatedOn   = request.CreatedOn;
                    toUpdateRecord.CreatedBy   = request.CreatedBy;
                    toUpdateRecord.Description = request.Description;
                    toUpdateRecord.Value       = request.Value;

                    await _context.SaveChangesAsync(cancellationToken);

                    result = await _mediator.Send(new Queries.SearchPersonAssetQuery()
                    {
                        Id = toUpdateRecord.Id
                    });
                }
            }

            return(result);
        }