public async Task <CreateOfferResponse> ExecuteAsync(CreateOfferRequest request) { var service = CreateOfferService(); var loanOffer = await service.CreateOfferAsync(request.PeselNumber, request.EmailAddress); return(CreateOfferResponse.Success(loanOffer.Id.Value, loanOffer.MaxLoanAmount.Value)); }
public async Task <IActionResult> CreateOffer([FromBody] CreateOfferRequest request) { var createOfferCommand = new CreateOfferCommand(request); var result = await mediator.Send(createOfferCommand); return(StatusCode((int)result.Code, result.Value)); }
public static CreateOfferRequest GetCreateOfferRequest(this VisaOffer offer, Merchant merchant, string visaCommunityCode) { var offerGuid = Guid.Parse(offer.Id); var offerId = offerGuid.ToByteArray().ToBase62(); var request = new CreateOfferRequest(); request.CommunityCode = visaCommunityCode; request.Name = offer.Name; //request.Description = offer.Name; request.CampaignName = offer.CampaignName; request.StartDate = RemoveTime(offer.StartDate); request.EndDate = RemoveTime(offer.EndDate); request.TemplateName = offer.Template; request.ExternalOfferId = offerId; var visaPayments = merchant.GetVisaPayments(); var events = new List <Event>(); foreach (var payment in visaPayments) { var mid = payment.PaymentMids[MerchantConstants.VisaMid]; var sid = payment.PaymentMids[MerchantConstants.VisaSid]; EventField[] eventFields = { new EventField { Name = "VisaMerchantId", Value = mid }, new EventField { Name = "VisaStoreId", Value = sid } //new EventField //{ // Name = "MerchantCountryCode", // Value = offer.CountryCode //} }; var offerEvent = new Event { EventFields = eventFields }; events.Add(offerEvent); } request.Events = events.ToArray(); return(request); }
public async Task <IActionResult> Post([FromBody] CreateOfferRequest offer) { (bool success, OfferViewModel? vm, RequestError? error) = await new CreateOffer(_context).Do(offer); if (!success && error != null) { return(StatusCode((int)error.StatusCode, error.Errors)); } return(Ok(vm)); }
public async Task <IActionResult> Create([FromBody] CreateOfferRequest offer) { var Offers = new Offers { ArabicDesc = offer.ArabicDesc, EnglishDesc = offer.EnglishDesc, offerPrice = offer.offerPrice, ImgUrl = offer.ImgUrl, ProductId = offer.ProductId, status = offer.status }; var status = await _OffersService.CreateOffersAsync(Offers); if (status == -1) { return(Conflict(new ErrorResponse { message = "Dublicate Entry", status = Conflict().StatusCode })); } if (status == 1) { await _productService.UpdateProductSalePriceAsync(offer.ProductId, offer.offerPrice); var response = new OfferResponse { Id = Offers.Id }; return(Ok(response)); } return(NotFound(new ErrorResponse { message = "Not Found", status = NotFound().StatusCode })); }
public async Task <(bool success, OfferViewModel?viewModel, RequestError?error)> Do(CreateOfferRequest request) { (bool isValid, List <string> errors) = request.CheckValidity(); if (!isValid) { return(false, null, new RequestError(HttpStatusCode.BadRequest, errors)); } if (!_context.ContactInfos.Any(c => c.Id == request.ContactInfoId)) { return(false, null, new RequestError(HttpStatusCode.BadRequest, "contactInfo not found.")); } if (request.LocationId > 0 && !_context.Locations.Any(l => l.Id == request.LocationId)) { return(false, null, new RequestError(HttpStatusCode.BadRequest, "location not found.")); } if (!_context.Resources.Any(r => r.Id == request.ResourceId)) { return(false, null, new RequestError(HttpStatusCode.BadRequest, "resource not found.")); } Offer offer = new Offer { Number = (float)request.Number !, ContactInfoId = (int)request.ContactInfoId !, LocationId = request.LocationId == 0 ? null : request.LocationId, ResourceId = (int)request.ResourceId !, CreationDate = DateTime.Now, }; _context.Add(offer); try { await _context.SaveChangesAsync(); } catch (Exception ex) { await new ErrorLogging(_context).LogError(ErrorMessages.CreateOffer, ex, request); return(false, null, new RequestError(HttpStatusCode.InternalServerError, ErrorMessages.DatabaseOperationFailed)); } return(true, new OfferViewModel(offer), null); }
/// <summary> /// Initializes a new instance of the <see cref="CreateOfferCommand"/> class. /// </summary> /// <param name="request">The request.</param> public CreateOfferCommand(CreateOfferRequest request) { Request = request; }
public async Task <IActionResult> CreateOffer([FromBody] CreateOfferRequest request) { var result = await offerService.CreateOffer(request); return(StatusCode((int)result.Code, result.Value)); }