Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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());
            }
        }