Exemplo n.º 1
0
        public async Task <ILiability> UpdateAsync(
            int id,
            LiabilityDto liabilityDto)
        {
            await CheckAsync(liabilityDto);

            var liability = await GetAsync(id, false);

            var liabilityToUpdate = _mapper.Map(liabilityDto, liability as Liability);

            _context.Liabilities
            .Update(liabilityToUpdate);

            await _context.SaveChangesAsync();

            await _context.Entry(liability)
            .Reference(x => x.Type)
            .LoadAsync();

            _logger.LogInformation("{Tenant} | Updated Liability with Id={LiabilityId}, PublicKey={LiabilityPublicKey} and UserId={LiabilityUserId}",
                                   _context.Tenant.Log,
                                   liability.Id,
                                   liability.PublicKey,
                                   liability.UserId);

            return(liability);
        }
Exemplo n.º 2
0
 public async Task <ILiability> GetAsync(
     LiabilityDto liabilityDto,
     bool asNoTracking = true)
 {
     return(await GetQuery(asNoTracking)
            .FirstOrDefaultAsync(x => x.Name == liabilityDto.Name &&
                                 x.TypeName == liabilityDto.TypeName &&
                                 x.Value == liabilityDto.Value &&
                                 x.MonthlyPayment == liabilityDto.MonthlyPayment &&
                                 x.Years == liabilityDto.Years));
 }
Exemplo n.º 3
0
 private async Task CheckAsync(
     LiabilityDto liabilityDto,
     string message = null)
 {
     if (liabilityDto == null)
     {
         throw new AiofFriendlyException(HttpStatusCode.BadRequest, message ?? $"Liability DTO cannot be NULL");
     }
     else if (liabilityDto.TypeName != null && await GetTypeAsync(liabilityDto.TypeName) == null)
     {
         throw new AiofFriendlyException(HttpStatusCode.BadRequest, message ?? $"Liability type doesn't exist");
     }
     else if (await GetAsync(liabilityDto) != null)
     {
         throw new AiofFriendlyException(HttpStatusCode.BadRequest, message ?? $"Liability already exists");
     }
 }
Exemplo n.º 4
0
        public async Task <ILiability> AddAsync(LiabilityDto liabilityDto)
        {
            await _liabilityDtoValidator.ValidateAndThrowAsync(liabilityDto);

            await CheckAsync(liabilityDto);

            var liability = _mapper.Map <Liability>(liabilityDto);

            liability.UserId = _context.Tenant.UserId;

            await _context.Liabilities.AddAsync(liability);

            await _context.SaveChangesAsync();

            _logger.LogInformation("{Tenant} | Created with Id={LiabilityId}, PublicKey={LiabilityPublicKey} and UserId={LiabilityUserId}",
                                   _context.Tenant.Log,
                                   liability.Id,
                                   liability.PublicKey,
                                   liability.UserId);

            return(liability);
        }
Exemplo n.º 5
0
 public async Task <IActionResult> AddLiabilityAsync([FromBody, Required] LiabilityDto liabilityDto)
 {
     return(Created(nameof(Liability), await _repo.AddAsync(liabilityDto)));
 }
Exemplo n.º 6
0
 public async Task <IActionResult> UpdateLiabilityAsync(
     [FromRoute, Required] int id,
     [FromBody, Required] LiabilityDto liabilityDto)
 {
     return(Ok(await _repo.UpdateAsync(id, liabilityDto)));
 }