コード例 #1
0
        public async Task <PaymentMethodDTO> CreateAsync(PaymentMethodPostRequest model, ApiDbContext apiDbContext)
        {
            try
            {
                var paymentMethodFound = apiDbContext.PaymentMethods.FirstOrDefault(p => p.Code.ToUpper().Trim().Equals(model.Code.ToUpper().Trim()));
                if (paymentMethodFound != null)
                {
                    throw new Exception($"Ya existe un método de pago con el código {model.Code}");
                }

                PaymentMethod newPaymentMethod = new PaymentMethod
                {
                    Code         = model.Code,
                    Name         = model.Name,
                    Value        = model.Value,
                    CreationDate = DateTime.Now,
                    ShopId       = model.ShopId
                };

                await apiDbContext.PaymentMethods.AddAsync(newPaymentMethod);

                await apiDbContext.SaveChangesAsync();

                return(ModelToDTO(newPaymentMethod));
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
コード例 #2
0
        public async Task <IActionResult> Create(PaymentMethodPostRequest model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    throw new Exception("Petición de alta inválida");
                }

                return(Ok(await _paymentMethodService.CreateAsync(model, _apiDbContext)));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }