Ejemplo n.º 1
0
 public int Alterar(Fiado fiado)
 {
     try
     {
         int retorno = 0;
         InstanciarBanco();
         decimal valor = _banco.Fiado.Find(fiado.ID).Valor;
         valor -= fiado.Valor;
         if (valor <= 0)
         {
             InstanciarBanco();
             _banco.Entry(fiado).State = EntityState.Deleted;
             retorno = _banco.SaveChanges();
         }
         else
         {
             fiado.Valor = valor;
             InstanciarBanco();
             _banco.Entry(fiado).State = EntityState.Modified;
             retorno = _banco.SaveChanges();
         }
         return(retorno);
     }
     catch (CustomException erro)
     {
         throw new CustomException(erro.Message);
     }
     catch (Exception erro)
     {
         throw new Exception(erro.Message);
     }
 }
        public Fiado Read(decimal id_fiado)
        {
            Fiado fiado = null;

            using (da = new DataAccess.DataAccess())
            {
                da.GenerarComando("select id_fiado, nro_boleta, rut_cliente, fecha_fiado, fecha_vencimiento, total_abonos, total_pago, esta_vencido from fiado where id_fiado = :id_fiado");
                da.AgregarParametro(":id_fiado", id_fiado);
                IDataReader reader = da.ExecuteReader();
                while (reader.Read())
                {
                    decimal nro_boleta  = Convert.ToDecimal(reader["nro_boleta"].ToString());
                    string  rut_cliente = reader["rut_cliente"].ToString();
                    fiado = new Fiado
                    {
                        IdFiado          = Convert.ToDecimal(reader["id_fiado"].ToString()),
                        FechaFiado       = Convert.ToDateTime(reader["fecha_fiado"].ToString()),
                        FechaVencimiento = Convert.ToDateTime(reader["fecha_vencimiento"].ToString()),
                        Boleta           = mantenedorBoletas.Read(Convert.ToDecimal(nro_boleta.ToString())),
                        TotalAbonos      = Convert.ToDecimal(reader["total_abonos"].ToString()),
                        TotalPago        = Convert.ToDecimal(reader["total_pago"].ToString()),
                        Vencido          = reader["esta_vencido"].ToString() == "y",
                        ClienteFiado     = mantenedorClientes.Read(rut_cliente),
                        AbonosRealizados = ListarAbonos(id_fiado)
                    };
                }
            }
            return(fiado);
        }
        public bool Create(Fiado fiado)
        {
            bool resFiado = false;

            using (da = new DataAccess.DataAccess())
            {
                decimal total_abono = fiado.AbonosRealizados.Sum(x => x.MontoAbono);
                da.GenerarComando(@"insert into fiado (id_fiado, nro_boleta, rut_cliente, fecha_fiado, fecha_vencimiento, total_abonos, total_pago, esta_vencido)
                                    values (seq_id_fiado.nextval, :nro_boleta, :rut_cliente, :fecha_fiado, :fecha_vencimiento, :total_abono, :total_pago, :vencido)
                                    returning id_fiado into :nuevo_id");
                da.AgregarParametro(":nro_boleta", fiado.Boleta.NroBoleta, DbType.Int32);
                da.AgregarParametro(":rut_cliente", fiado.ClienteFiado.RutCliente);
                da.AgregarParametro(":fecha_fiado", fiado.FechaFiado, DbType.Date);
                da.AgregarParametro(":fecha_vencimiento", fiado.FechaVencimiento, DbType.Date);
                da.AgregarParametro(":total_abono", total_abono, DbType.Int32);
                da.AgregarParametro(":total_pago", fiado.TotalPago, DbType.Int32);
                da.AgregarParametro(":vencido", fiado.Vencido ? "y" : "n");
                da.AgregarParametroOut(":nuevo_id", DbType.Decimal);
                resFiado = da.ExecuteNonQuery() > 0;
                decimal nuevo_id = Convert.ToDecimal(da.GetValorParametro(":nuevo_id"));
                if (nuevo_id > 0 && fiado.AbonosRealizados.Count > 0)
                {
                    foreach (Abono abono in fiado.AbonosRealizados)
                    {
                        Abonar(abono, nuevo_id);
                    }
                }
            }
            return(resFiado);
        }
Ejemplo n.º 4
0
 public decimal GetValorPeloIDDoCliente(int idCliente)
 {
     try
     {
         InstanciarBanco();
         Fiado fiado = _banco.Fiado.FirstOrDefault(c => c.IDCliente == idCliente);
         return(fiado == null ? 0 : fiado.Valor);
     }
     catch (CustomException erro)
     {
         throw new CustomException(erro.Message);
     }
     catch (Exception erro)
     {
         throw new Exception(erro.Message);
     }
 }
Ejemplo n.º 5
0
 public int Cadastrar(Fiado fiado)
 {
     try
     {
         int retorno = 0;
         InstanciarBanco();
         _fiado = _banco.Fiado.FirstOrDefault(c => c.IDCliente == fiado.IDCliente);
         if (_fiado != null)
         {
             fiado.ID = _fiado.ID;
             InstanciarBanco();
             fiado.Valor += _fiado.Valor;
             if (fiado.Valor <= 0)
             {
                 _banco.Entry(fiado).State = EntityState.Deleted;
                 retorno = _banco.SaveChanges();
             }
             else
             {
                 _banco.Entry(fiado).State = EntityState.Modified;
                 retorno = _banco.SaveChanges();
             }
         }
         else
         {
             _banco.Entry(fiado).State = EntityState.Added;
             retorno = _banco.SaveChanges();
         }
         return(retorno);
     }
     catch (CustomException erro)
     {
         throw new CustomException(erro.Message);
     }
     catch (Exception erro)
     {
         throw new Exception(erro.Message);
     }
 }
Ejemplo n.º 6
0
        private void dgvCliente_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                InstanciarlienteRepositorio();
                if (_clienteRepositorio.GetQuantidade() > 0 && dgvCliente.Rows.Count > 0 && e.RowIndex >= 0)
                {
                    if (GetIDDoGrid() > 0)
                    {
                        if (_enumCreditar == EnumTipoCreditar.Vender)
                        {
                            Cliente.ClienteIDStatic = GetIDDoGrid();
                            this.DialogResult       = System.Windows.Forms.DialogResult.Yes;
                        }
                        else
                        {
                            InstanciarFiadoRepositorio();

                            Fiado fiado = _fiadoRepositorio.PesquisarFiadoPeloID(GetIDDoGrid());
                            if (OpenMdiForm.OpenForWithShowDialog(new frmReceberFiado(fiado)) == DialogResult.Yes)
                            {
                                _fiadoRepositorio.ListarCreditos(dgv: dgvCliente);
                            }
                        }
                    }
                }
            }
            catch (CustomException erro)
            {
                DialogMessage.MessageFullComButtonOkIconeDeInformacao(erro.Message, "Aviso");
            }
            catch (Exception erro)
            {
                DialogMessage.MessageComButtonOkIconeErro(erro.Message, "Erro");
            }
        }
Ejemplo n.º 7
0
 private void InstanciarFiado()
 {
     _fiado = new Fiado();
 }
Ejemplo n.º 8
0
 public frmReceberFiado(Fiado fiado)
 {
     _fiado = fiado;
     InitializeComponent();
 }
 public bool IngresarDeuda(Fiado fiado)
 {
     return(mantenedor.Create(fiado));
 }
        public List <ClienteFiados> ObtenerFiadosCliente()
        {
            String _connstring = "DATA SOURCE=localhost:1521/xe;USER ID=YUYOS;Password=cipres;";
            // Traer todos los clientes
            List <Cliente> lista = ObtenerClientes();

            // Crear lista del view-model Cliete + Todos fiados (ClienteFiados)
            // Almacena un cliente y una colección de fiados.
            List <ClienteFiados> listaClientesFiados = new List <ClienteFiados>();

            try
            {
                foreach (var item in lista)
                {
                    // Por cada cliente en la lista de clientes:

                    // Crea un view-model
                    ClienteFiados clifi = new ClienteFiados();

                    // al cliente del view-model le asigna el los parametros del item
                    clifi.Cliente = new Cliente {
                        Id = item.Id, Nombre = item.Nombre, Autorizado_fiado = item.Autorizado_fiado, Rut = item.Rut
                    };
                    clifi.ListaFiados = new List <Fiado>();

                    // Abre conexión y trae todos los fiados con el procedure, pasandole el rut
                    OracleConnection _connObj = new OracleConnection(_connstring);
                    _connObj.Open();
                    OracleCommand _comObj = _connObj.CreateCommand();
                    _comObj.CommandText = "PKG_FIADO.SP_S_FIADOS_RUT";
                    _comObj.CommandType = System.Data.CommandType.StoredProcedure;

                    OracleParameter _RutParam = new OracleParameter();
                    _RutParam.ParameterName = "rutCliente";
                    _RutParam.OracleDbType  = OracleDbType.Varchar2;
                    _RutParam.Direction     = System.Data.ParameterDirection.Input;
                    _RutParam.Value         = item.Rut;
                    _comObj.Parameters.Add(_RutParam);


                    OracleParameter _RefParam = new OracleParameter();
                    _RefParam.ParameterName = "fiadoCur";
                    _RefParam.OracleDbType  = OracleDbType.RefCursor;
                    _RefParam.Direction     = System.Data.ParameterDirection.Output;
                    _comObj.Parameters.Add(_RefParam);
                    OracleDataReader _rdrObj = _comObj.ExecuteReader();

                    // Si encontró el rut, va a buscar los elementos
                    if (_rdrObj.HasRows)
                    // Si el cursor devolvió elementos, lo fetchea, insertando en el view-model cada fiado que encuentra
                    {
                        while (_rdrObj.Read())
                        {
                            Fiado f = new Fiado
                            {
                                IdFiado         = (int)_rdrObj.GetDecimal(_rdrObj.GetOrdinal("ID_FIADO")),
                                MontoSolicitado = (int)_rdrObj.GetDecimal(_rdrObj.GetOrdinal("MONTO_SOLICITADO")),
                                MontoPagado     = (int)_rdrObj.GetDecimal(_rdrObj.GetOrdinal("MONTO_PAGADO")),
                                FechaCompra     = _rdrObj.GetDateTime(_rdrObj.GetOrdinal("FECHA_COMPRA")),
                                FechaPago       = _rdrObj.GetDateTime(_rdrObj.GetOrdinal("FECHA_PAGO")),
                                EstadoPago      = _rdrObj.GetString(_rdrObj.GetOrdinal("ESTADO_PAGO")),
                                IdBoleta        = (int)_rdrObj.GetDecimal(_rdrObj.GetOrdinal("ID_BOLETA")),
                                IdCliente       = (int)_rdrObj.GetDecimal(_rdrObj.GetOrdinal("ID_CLIENTE"))
                            };
                            if (!(f.EstadoPago.Equals("1")))
                            {
                                clifi.ListaFiados.Add(f);
                            }
                        }
                    }

                    _connObj.Close();
                    _connObj.Dispose();
                    _connObj = null;

                    // clifi es el view-model (por si no recuerdas de mas arriba), se lo pasamos a una lista de viewmodels que creamos al inicio.
                    // El proceso se repetira por cada cliente que exista.
                    listaClientesFiados.Add(clifi);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }


            // Si todo salió bien, deberíamos obtener un listado de view-model ClienteFiado
            // Esto puede parecer extraño pero, en la práctica, es un List de ClienteFiado, que es un Cliente + un List de fiados XDDDDD
            // Valió la pena estudiar MVC
            return(listaClientesFiados);
        }
        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            switch (keyData)
            {
            case Keys.Escape:
                FecharForm();
                break;

            case Keys.Up:
                dgvCliente.MoveToUp();
                break;

            case Keys.Down:
                dgvCliente.MoveToDown();
                break;

            case Keys.F1:
                break;

            case Keys.F2:
                break;

            case Keys.F3:
                break;

            case Keys.F4:
                break;

            case Keys.F5:
                break;

            case Keys.F6:
                break;

            case Keys.F7:
                break;

            case Keys.F8:
                break;

            case Keys.F9:
                break;

            case Keys.F10:
                break;

            case Keys.F11:
                break;

            case Keys.F12:
                break;

            case Keys.Enter:
                if (_enumCreditar == EnumTipoCreditar.Vender)
                {
                    Cliente.ClienteIDStatic = Convert.ToInt32(dgvCliente.GetSelectRow(0, "ID"));
                    this.DialogResult       = System.Windows.Forms.DialogResult.Yes;
                }
                else
                {
                    Fiado fiado = _fiadoRepositorio.PesquisarFiadoPeloID(Convert.ToInt32(dgvCliente.GetSelectRow(0, "ID")));
                    if (OpenMdiForm.OpenForWithShowDialog(new frmReceberFiado(fiado)) == DialogResult.Yes)
                    {
                        _fiadoRepositorio.ListarCreditos(dgv: dgvCliente);
                    }
                }
                break;
            }
            return(base.ProcessCmdKey(ref msg, keyData));
        }