コード例 #1
0
            public async Task <int> Handle(CreateAdministrativeDivisionCommand request, CancellationToken cancellationToken)
            {
                var model = request.Model;
                var item  = await Context.AdministrativeDivisions
                            .Where(p => p.AdministrativeDivisionId == model.AdministrativeDivisionId)
                            .FirstOrDefaultAsync(cancellationToken);

                ThrowAlreadyExistsExceptionIfNull(model, item);

                var newRecord = new AdministrativeDivision
                {
                    ParentId = model.ParentId,
                    Name     = model.Name,
                    Code     = model.Code,
                    Level    = model.Level
                };

                Context.AdministrativeDivisions.Add(newRecord);
                await Context.SaveChangesAsync(cancellationToken);

                return(newRecord.AdministrativeDivisionId);
            }
コード例 #2
0
 protected void ThrowAlreadyExistsExceptionIfNull(AdministrativeDivisionModel model, AdministrativeDivision entity)
 {
     if (entity != null)
     {
         throw new AlreadyExistsException(
                   entity.GetType().Name,
                   nameof(model.AdministrativeDivisionId),
                   model.AdministrativeDivisionId
                   );
     }
 }