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);
        }
Exemple #2
0
        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
            };
        }
Exemple #3
0
 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);
     }
 }
Exemple #4
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);
            }
        }
Exemple #5
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());
            }
        }