public async Task <ServiceResponse <GetPaymentDto> > AddAdvert(AddPaymentDto newAdvert) { ServiceResponse <GetPaymentDto> serviceResponse = new ServiceResponse <GetPaymentDto>(); try { var advert = new Advert(); advert = _mapper.Map <Advert>(newAdvert.Advert); foreach (var ae in newAdvert.Advert.AdvertEquipments) { var entity = new AddAdvertEquipmentDto(); entity.AdvertId = ae.AdvertId; entity.EquipmentId = ae.EquipmentId; advert.AdvertEquipments.Add(_mapper.Map <AdvertEquipment>(entity)); } _context.Adverts.Add(advert); _context.SaveChanges(); var payment = new Payment(); payment.DurationInDays = newAdvert.DurationInDays; payment.AdvertId = advert.Id; payment.PaymentInitiation = DateTime.Now; _context.Payments.Add(payment); _context.SaveChanges(); _context.Database.ExecuteSqlRaw($"exec payment_procedure {advert.UserId}, {newAdvert.DurationInDays}, {(advert.IsPromoted ? 1 : 0)}, {payment.Id}"); _context.Entry(payment).Reload(); serviceResponse.Data = _mapper.Map <GetPaymentDto>(payment); } catch (Exception ex) { serviceResponse.Success = false; serviceResponse.Message = (ex.InnerException != null) ? ex.InnerException.Message : ex.Message; } return(serviceResponse); }
public async Task <IActionResult> AddAdvert(AddPaymentDto newAdvert) { ServiceResponse <GetPaymentDto> response = await _advertService.AddAdvert(newAdvert); if (response.Data == null) { return(NotFound(response)); } return(Ok(response)); }
public async Task <IActionResult> AddPayment(AddPaymentDto addPayment) { ServiceResponse <Payment> response = await _paymentService.AddPayment(addPayment); if (response.Data == null) { return(NotFound(response)); } return(Ok(response)); }
public async Task <ServiceResponse <Payment> > AddPayment(AddPaymentDto newPayment) { ServiceResponse <Payment> serviceResponse = new ServiceResponse <Payment>(); try { var entity = _mapper.Map <Payment>(newPayment); _context.Payments.Add(entity); _context.SaveChanges(); serviceResponse.Data = entity; } catch (Exception ex) { serviceResponse.Success = false; serviceResponse.Message = (ex.InnerException != null) ? ex.InnerException.Message : ex.Message; } return(serviceResponse); }