public async Task <OrderViewModel> InsertWithPlanAsync(OrderViewModel model, SubscriptionsPlansViewModel plan) { var entity = _mapper.Map <Order>(model); //adicionando Timestamp do dia da compra e do dia da renovação e valor da compra entity = PreSave(entity, plan); await _repository.InsertAsync(entity); return(_mapper.Map <OrderViewModel>(entity)); }
private Order PreSave(Order model, SubscriptionsPlansViewModel plan) { model.CreditCard.CreditCardNumber = model.CreditCard.CreditCardNumber.Substring(12, 4); model.PurchaseDay = DateTimeHelper.BrazilNow; model.PlanRenewalDate = model.PurchaseDay.AddMonths(plan.PlanMonths); var listHolidaysBrazil = Holidayshelper.GetHolidaysByCurrentYear().ToList(); if (listHolidaysBrazil.Contains(model.PlanRenewalDate)) { model.PlanRenewalDate = DateTimeHelper.diaUtil(model.PlanRenewalDate.AddDays(1)); } model.Total = plan.Value; return(model); }
public virtual async Task <IActionResult> InsertAsync([FromBody] SubscriptionsPlansViewModel model) { if (!ModelState.IsValid) { return(StatusCode(StatusCodes.Status400BadRequest)); } try { var newModel = await _subscriptionPlanService.InsertAsync(model); return(Ok(newModel)); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError)); } }