private async Task <bool> guardarAsync() { var valor = false; try { if (ModelState.IsValid) { var proveedorList = _objeto._context.TProveedores.Where(u => u.Email.Equals(Input.Email)).ToList(); if (0 == proveedorList.Count) { var imageName = Input.Email + ".png"; var proveedor = new TProveedores { Proveedor = Input.Proveedor, Telefono = Input.Telefono, Email = Input.Email, Direccion = Input.Direccion, }; await _objeto._context.AddAsync(proveedor); _objeto._context.SaveChanges(); var reportes = new TReportes_proveedores { Deuda = "$0.00", FechaDeuda = DateTime.Today, Pago = "$0.00", FechaPago = DateTime.Today, Ticket = "0000000000", TProveedores = proveedor }; await _objeto._context.AddAsync(reportes); _objeto._context.SaveChanges(); await _objeto._image.copiarImagenAsync(Input.AvatarImage, imageName, _objeto._environment, "Proveedores", null); valor = true; } else { Input = new InputModel { Email = "default", ErrorMessage = "El " + Input.Email + " ya esta registrado", }; valor = false; } } } catch (Exception ex) { Input = new InputModel { ErrorMessage = ex.Message, }; valor = false; } return(valor); }
public void OnGet(DataCompras model) { Valor = true; if (model.IdProveedor.Equals(0)) { var producto = _objeto._context.TCompras.Where(c => c.ID.Equals(model.ID)).ToList().ElementAt(0); var proveedor = _objeto._context.TProveedores.Where(c => c.ID.Equals(producto.IdProveedor)).ToList().ElementAt(0); model.Descripcion = producto.Descripcion; model.Cantidad = producto.Cantidad; model.Precio = producto.Precio; model.Importe = producto.Importe; model.IdProveedor = producto.IdProveedor; model.Proveedor = producto.Proveedor; model.Email = producto.Email; model.Direccion = proveedor.Direccion; model.Telefono = proveedor.Telefono; model.Fecha = producto.Fecha; model.Credito = producto.Credito; model.Codigo = producto.Codigo; Valor = false; } _model = model; _TCompras_temp = model; AvatarImage = model.AvatarImage; tProveedores = new TProveedores { ID = _model.IdProveedor, Proveedor = _model.Proveedor, Telefono = _model.Telefono, Email = _model.Email, Direccion = _model.Direccion, }; proveedore_Report = _objeto._context.TReportes_proveedores.Where(r => r.TProveedores.Equals(tProveedores)).ToList().ElementAt(0); var deuda1 = Convert.ToDecimal(_model.Importe.Replace("$", "")); var deuda2 = Convert.ToDecimal(proveedore_Report.Deuda.Replace("$", "")); Deuda = String.Format("${0:#,###,###,##0.00####}", deuda1 + deuda2); FechaDeuda = fecha; Pago = proveedore_Report.Pago; FechaPago = proveedore_Report.FechaPago.ToString("dd/MMM/yyy"); Ticket = new Codigos(_objeto._context).codigosTickets("Proveedor", _model.Email, "Tickets"); Input = new InputModel { TComprasTemp = model, Proveedor = _model.Proveedor, Deuda = Deuda, FechaDeuda = fecha, Pago = proveedore_Report.Pago, FechaPago = proveedore_Report.FechaPago.ToString("dd/MMM/yyy"), Ticket = Ticket }; }
private bool setProveedores(String email) { try { if (new EmailAddressAttribute().IsValid(email)) { var proveedorList = _objeto._proveedores.getTProveedores(email).ToList(); if (0 < proveedorList.Count) { inputModel = proveedorList.ElementAt(0); tProveedores = new TProveedores { ID = inputModel.ID, Proveedor = inputModel.Proveedor, Telefono = inputModel.Telefono, Email = inputModel.Email, Direccion = inputModel.Direccion, }; proveedoresReport = _objeto._context.TReportes_proveedores.Where(r => r.TProveedores.Equals(tProveedores)).ToList(); if (0 < proveedoresReport.Count) { proveedore_Report = proveedoresReport.ElementAt(0); Input = new InputModel { Proveedor = inputModel.Proveedor, Email = email, ProveedoresReport = proveedoresReport, }; } else { Input = new InputModel { Proveedor = inputModel.Proveedor, Email = idGet, ErrorMessage = "El proveedor " + inputModel.Proveedor + " no contiene repoprtes", ProveedoresReport = new List <TReportes_proveedores>() }; } return(true); } else { return(false); } } else { return(false); } } catch (Exception ex) { Input = new InputModel { Proveedor = inputModel.Proveedor, Email = idGet, ErrorMessage = ex.Message, ProveedoresReport = new List <TReportes_proveedores>() }; return(true); } }
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); } }
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()); } }