private async Task <bool> savePagoAsync() { try { var pago = Convert.ToDecimal(Input1.Pago); var deuda = Convert.ToDecimal(proveedore_Report.Deuda.Replace("$", "")) - pago; var dataInput = new InputModel { Proveedor = proveedor, Email = idGet, ProveedoresReport = proveedoresReport }; if (proveedore_Report.Deuda.Equals("$0.00")) { Input = dataInput; Input1 = new InputModel1 { ErrorMessage = "El proveedor no contiene deuda", }; return(false); } else { if (deuda < pago) { Input = dataInput; Input1 = new InputModel1 { ErrorMessage = "Pago incorrecto", }; return(false); } else { var ticket = new Codigos(_objeto._context).codigosTickets("Proveedor", idGet, "Tickets"); _objeto._context.Update(tProveedores); await _objeto._context.SaveChangesAsync(); var reportes = new TReportes_proveedores { ReportesID = proveedore_Report.ReportesID, Deuda = String.Format("${0:#,###,###,##0.00####}", deuda), FechaDeuda = DateTime.Today, Pago = String.Format("${0:#,###,###,##0.00####}", pago), FechaPago = DateTime.Today, Ticket = ticket, TProveedores = tProveedores }; _objeto._context.Update(reportes); await _objeto._context.SaveChangesAsync(); var ticketsReport = new TTickets { Propietario = "Proveedor", Deuda = String.Format("${0:#,###,###,##0.00####}", deuda), FechaDeuda = DateTime.Today, Pago = String.Format("${0:#,###,###,##0.00####}", pago), FechaPago = DateTime.Today, Ticket = ticket, Email = idGet }; _objeto._context.Add(ticketsReport); await _objeto._context.SaveChangesAsync(); return(true); } } } catch (Exception ex) { Input = new InputModel { Proveedor = proveedor, Email = idGet, ErrorMessage = ex.Message, ProveedoresReport = new List <TReportes_proveedores>() }; return(false); } }
private async Task <bool> savePagoAsync() { try { var pago = Convert.ToDecimal(Input1.Pago); var deuda = Convert.ToDecimal(clienteReport[0].Deuda.Replace("$", "")) - pago; var dataInput = new InputModel { Nombre = nombre, Apellido = apellido, Email = idGet, ClienteReport = clienteReport }; if (deuda.Equals(0) || deuda.Equals(0.0)) { Input = dataInput; Input1 = new InputModel1 { ErrorMessage = "El cliente no contiene deuda", }; return(true); } else { if (deuda < pago) { Input = dataInput; Input1 = new InputModel1 { ErrorMessage = "Pago incorrecto", }; return(true); } else { _objeto._context.Update(cliente); await _objeto._context.SaveChangesAsync(); var ticket = new Codigos(_objeto._context).codigoTicket("Tickets"); var reportes = new TReportes_clientes { ReportesID = clienteReport[0].ReportesID, Deuda = String.Format("${0:#,###,###,##0.00####}", deuda), FechaDeuda = DateTime.Today, Pago = String.Format("${0:#,###,###,##0.00####}", pago), FechaPago = DateTime.Today, Ticket = ticket, TClientes = cliente }; _objeto._context.Update(reportes); await _objeto._context.SaveChangesAsync(); var ticketsReport = new TTickets { Propietario = "Cliente", Deuda = String.Format("${0:#,###,###,##0.00####}", deuda), FechaDeuda = DateTime.Today, Pago = String.Format("${0:#,###,###,##0.00####}", pago), FechaPago = DateTime.Today, Ticket = ticket, Email = idGet }; _objeto._context.Add(ticketsReport); await _objeto._context.SaveChangesAsync(); return(true); } } } catch (Exception ex) { Input = new InputModel { Nombre = nombre, Apellido = apellido, Email = idGet, ErrorMessage = ex.Message, ClienteReport = new List <TReportes_clientes>() }; return(false); } }
public async Task <IActionResult> OnPostAsync() { var valor = false; var strategy = _objeto._context.Database.CreateExecutionStrategy(); await strategy.ExecuteAsync(async() => { using (var transaction = _objeto._context.Database.BeginTransaction()) { try { var idUser = _objeto._userManager.GetUserId(User); var dataUser = _objeto._context.TUsuarios.Where(u => u.IdUser.Equals(idUser)).ToList().ElementAt(0); var user = await _objeto._userManager.FindByIdAsync(idUser); var role = await _objeto._userManager.GetRolesAsync(user); _objeto._context.Add(_model); await _objeto._context.SaveChangesAsync(); var compra = new TCompras { Descripcion = _model.Descripcion, Cantidad = _model.Cantidad, Precio = _model.Precio, Importe = _model.Importe, IdProveedor = _model.IdProveedor, Proveedor = _model.Proveedor, Email = _model.Email, IdUsuario = idUser, Usuario = dataUser.Nombre + " " + dataUser.Apellido, Role = role[0], Dia = Convert.ToInt16(dia), Mes = mes, Year = year, Fecha = _model.Fecha, Codigo = _model.Codigo, Credito = _model.Credito }; //int data = Convert.ToInt16("fg"); _objeto._context.Add(compra); await _objeto._context.SaveChangesAsync(); if (_model.Credito) { _objeto._context.Update(tProveedores); await _objeto._context.SaveChangesAsync(); var reportes = new TReportes_proveedores { ReportesID = proveedore_Report.ReportesID, Deuda = Deuda, FechaDeuda = DateTime.Today, Pago = proveedore_Report.Pago, FechaPago = proveedore_Report.FechaPago, Ticket = Ticket, TProveedores = tProveedores }; _objeto._context.Update(reportes); await _objeto._context.SaveChangesAsync(); var ticketsReport = new TTickets { Propietario = "Proveedor", Deuda = Deuda, FechaDeuda = DateTime.Today, Pago = proveedore_Report.Pago, FechaPago = proveedore_Report.FechaPago, Ticket = Ticket, Email = _model.Email }; _objeto._context.Add(ticketsReport); await _objeto._context.SaveChangesAsync(); } // Confirmar transacción si todos los comandos tienen éxito, la transacción se revertirá automáticamente // cuando se desecha si alguno de los comandos falla transaction.Commit(); valor = true; } catch (Exception ex) { Input = new InputModel { TComprasTemp = _model, ErrorMessage = ex.Message }; transaction.Rollback(); valor = false; } } }); if (valor) { return(RedirectToPage("Compras")); } else { return(Page()); } }