Esempio n. 1
0
        public async Task <IActionResult> Delete([FromRoute] long id)
        {
            await _context.Employers
            .Where(x => x.Id == id)
            .DeleteFromQueryAsync()
            .ConfigureAwait(false);

            await _context.SaveChangesAsync()
            .ConfigureAwait(false);

            var @event = new EmployersChanged
            {
                Deleted = new List <long> {
                    id
                }
            };

            _eventBus.Publish(@event);

            return(Ok());
        }
Esempio n. 2
0
        private async Task <long> AddEmployer()
        {
            var employer = new Employer
            {
                Acronym     = "КМПН",
                Description = "Описание",
                Name        = "Компания",
                SiteUrl     = "http://company.com/"
            };

            _context.Employers.Add(employer);
            await _context.SaveChangesAsync();

            var @event = new EmployersChanged
            {
                Created = new[] { Mapper.Map <DtoEmployer>(employer) }
            };

            _eventBus.Publish(@event);

            return(employer.Id);
        }
Esempio n. 3
0
        public async Task <IActionResult> Post([FromBody] DtoEmployer dto)
        {
            var entity = Mapper.Map <Employer>(dto);

            _context.Employers.Add(entity);

            await _context
            .SaveChangesAsync()
            .ConfigureAwait(false);

            dto.Id = entity.Id;
            var @event = new EmployersChanged
            {
                Created = new List <DtoEmployer> {
                    dto
                }
            };

            _eventBus.Publish(@event);

            return(Ok(entity.Id));
        }
Esempio n. 4
0
        public async Task <IActionResult> Update([FromBody] DtoEmployer dto, [FromRoute] long id)
        {
            var template = Mapper.Map <Employer>(dto);

            template.Id = id;

            await _context.Employers
            .Where(x => x.Id == id)
            .UpdateFromQueryAsync(_ => template)
            .ConfigureAwait(false);

            dto.Id = id;
            var @event = new EmployersChanged
            {
                Updated = new List <DtoEmployer> {
                    dto
                }
            };

            _eventBus.Publish(@event);

            return(Ok(id));
        }