public async Task <IActionResult> Create([FromBody] PatientCard patientCard) { await _card.Create(patientCard); return(Ok("Новая карта пациента успешно создана")); }
public string Create(PaymentsData paymentDados) { try { string codBarras = ""; //Verifica o ID do Cliente if (paymentDados.Id_Client <= 0) { return("Cliente Inválido!"); } //Verifica já o Buyer já está cadastrado, caso não esteja já cadastra var buyer = _buyer.FindAll().Where(p => p.CPF == paymentDados.CPF).FirstOrDefault(); if (buyer == null) { buyer = _buyer.Create(new Buyer { Id_Client = paymentDados.Id_Client, CPF = paymentDados.CPF, Email = paymentDados.Email, Name = paymentDados.Name_Buyer }); } else if (buyer.Name != paymentDados.Name_Buyer || buyer.Email != buyer.Email) { return("CPF informado do buyer já existe para outro buyer!"); } //card if (paymentDados.Type == "Cartao") { var card = _card.FindAll().Where(c => c.Id_Buyer == buyer.Id).FirstOrDefault(); if (card == null) { card = _card.Create(new Card { Holder_name = paymentDados.Holder_name, Number = paymentDados.Number, Expiration_date = paymentDados.Expiration_date, CVV = Convert.ToInt32(paymentDados.CVV), Id_Buyer = Convert.ToInt64(buyer.Id) }); } //pagamento com cartão var payment = _payment.Create(new Payment() { Id_Buyer = Convert.ToInt64(buyer.Id), Id_Card = Convert.ToInt64(card.Id), Amount = paymentDados.Amount, Type = paymentDados.Type, Card = paymentDados.Card, Status = (buyer.Name != card.Holder_name ? "Pendente" : "Efetivado"), Cod_barras = "" }); } else //Boleto { //pagamento no boleto codBarras = GerarCod(); var payment = _payment.Create(new Payment() { Id_Buyer = Convert.ToInt64(buyer.Id), Amount = paymentDados.Amount, Type = paymentDados.Type, Card = paymentDados.Card, Status = "Aguardando Pagamento", Cod_barras = codBarras }); } return(codBarras == "" ? "Pagamento cadastrado!" : codBarras); } catch (Exception ex) { throw ex; } }