Exemplo n.º 1
0
        public async Task <IActionResult> PutVencimiento([FromRoute] int id, [FromBody] Vencimientos vencimientos)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != vencimientos.ID)
            {
                return(BadRequest());
            }

            _context.Entry(vencimientos).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!VencimientoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 2
0
        public async Task <IActionResult> PostVencimiento([FromBody] Vencimientos vencimientos)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.vencimientos.Add(vencimientos);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetVencimiento", new { id = vencimientos.ID }, vencimientos));
        }
Exemplo n.º 3
0
        public async Task PrintVencido(Empeno objempeño, Vencimientos vencimientos)
        {
            var configuracion = await _context.Configuraciones.FirstOrDefaultAsync();

            Microsoft.Office.Interop.Excel.Application cexcel = new Microsoft.Office.Interop.Excel.Application();
            string pathch = Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath);

            pathch = $"{pathch}\\Empeños\\Comprobantes\\ComprobanteVencimiento.xlsx";
            cexcel.Workbooks.Open(pathch, true, true);

            var empleado = await _context.Empleados.FindAsync(Program.EmpleadoId);

            cexcel.Visible           = false;
            cexcel.Visible           = false;
            cexcel.Cells[2, 1].value = configuracion.Compañia;
            cexcel.Cells[3, 1].value = configuracion.Direccion;
            cexcel.Cells[4, 1].value = "Tel. " + configuracion.Telefono;
            cexcel.Cells[5, 1].value = configuracion.Nombre;
            cexcel.Cells[6, 1].value = "Cédula: " + configuracion.Identificacion;

            cexcel.Cells[7, 2].value  = vencimientos.Consecutivo;
            cexcel.Cells[8, 2].value  = empleado.Nombre;
            cexcel.Cells[9, 2].value  = empleado.Usuario;
            cexcel.Cells[13, 2].value = objempeño.Cliente.Identificacion;
            cexcel.Cells[14, 1].value = objempeño.Cliente.Nombre;

            cexcel.Cells[15, 2].value = vencimientos.Fecha.ToString("dd/MM/yyyy");
            cexcel.Cells[16, 2].value = objempeño.EmpenoId;

            cexcel.Cells[18, 1].value = objempeño.Descripcion;


            cexcel.Cells[23, 3].value = objempeño.MontoPendiente;

            cexcel.Cells[25, 3].value = "Vencido";
            cexcel.ActiveWindow.SelectedSheets.PrintOut();
            System.Threading.Thread.Sleep(300);
            cexcel.ActiveWorkbook.Close(false);
            cexcel.Quit();
        }
Exemplo n.º 4
0
        private async void dgvDetalles_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == 12 || e.ColumnIndex == 10)
            {
                DialogResult result = MessageBox.Show("Seguro que desea retirar este empeño?", "Salir", MessageBoxButtons.YesNoCancel);
                int          conse  = 0;
                if (result == DialogResult.Yes)
                {
                    int empeñoId = int.Parse(dgvDetalles.SelectedRows[0].Cells[0].Value.ToString());
                    var temporal = empeños.Where(x => x.EmpenoId == empeñoId).SingleOrDefault();
                    var empeño   = await _context.Empenos.Where(x => x.EmpenoId == empeñoId).SingleOrDefaultAsync();

                    temporal.EditorId = await funciones.GetEmpleadoIdByUser(Program.Usuario.Usuario);

                    empeño.EditorId = await funciones.GetEmpleadoIdByUser(Program.Usuario.Usuario);

                    temporal.FechaRetiroAdministrador = DateTime.Now;
                    empeño.FechaRetiroAdministrador   = DateTime.Now;
                    temporal.RetiradoAdministrador    = true;
                    empeño.RetiradoAdministrador      = true;
                    empeño.Estado = Estado.Retirado;
                    _context.Entry(empeño).State = EntityState.Modified;
                    await _context.SaveChangesAsync();

                    var vencimiento = new Vencimientos();
                    if (_context.Vencimientos.Any())
                    {
                        vencimiento = new Vencimientos
                        {
                            Consecutivo = _context.Vencimientos.Max(v => v.Consecutivo) + 1,
                            EmpenoId    = empeñoId,
                            EmpleadoId  = empeño.EditorId.Value,
                            Fecha       = DateTime.Today,
                        };
                    }
                    else
                    {
                        vencimiento = new Vencimientos
                        {
                            Consecutivo = 1,
                            EmpenoId    = empeñoId,
                            EmpleadoId  = empeño.EditorId.Value,
                            Fecha       = DateTime.Today,
                        };
                    }

                    _context.Vencimientos.Add(vencimiento);
                    await _context.SaveChangesAsync();
                    await PrintVencido(empeño, vencimiento);
                }
                else if (result == DialogResult.No)
                {
                    return;
                }
                else if (result == DialogResult.Cancel)
                {
                    return;
                }
            }
            else if (e.ColumnIndex == 13 || e.ColumnIndex == 9)
            {
                int empeñoId = int.Parse(dgvDetalles.SelectedRows[0].Cells[0].Value.ToString());
                var temporal = empeños.Where(x => x.EmpenoId == empeñoId).SingleOrDefault();
                var empeño   = empeños.Where(x => x.EmpenoId == empeñoId).SingleOrDefault();
                temporal.EditorId = await funciones.GetEmpleadoIdByUser(Program.Usuario.Usuario);

                empeño.EditorId = await funciones.GetEmpleadoIdByUser(Program.Usuario.Usuario);

                frmOscuro oscuro = new frmOscuro();
                oscuro.Show();
                frmProroga frmProroga = new frmProroga(empeño.EmpenoId);
                frmProroga.ShowDialog();
                oscuro.Close();

                if (Program.Proroga)
                {
                    var proroga = _context.Prorrogas.Where(p => p.EmpenoId == empeñoId).FirstOrDefault();
                    temporal.Prorroga = true;
                    empeño.Prorroga   = true;
                    if (!string.IsNullOrEmpty(empeño.Cliente.Correo))
                    {
                        EmailFuncion emailFuncion = new EmailFuncion();
                        var          str          = "Se le a otorgado una <b>prórroga de " + proroga.DiasProrroga + " días</b>, para que pueda retirar su Empeño #" + empeño.EmpenoId +
                                                    " <b>vencido el " + empeño.FechaVencimiento.ToString("dd/MM/yyyy") + "</b> por : <br /><i>" + empeño.Descripcion + "</i><br /><br />";
                        await emailFuncion.SendMail(empeño.Cliente.Correo, "Proróga de Empeño #" + empeñoId + " en " + configuracion.Compañia, str, empeño);
                    }
                }

                _context.Entry(empeño).State = EntityState.Modified;
                await _context.SaveChangesAsync();
            }
            index = dgvDetalles.SelectedRows[0].Index;
            LoadDetalle();
            dgvDetalles.Rows[0].Selected                = false;
            dgvDetalles.Rows[index].Selected            = true;
            dgvDetalles.FirstDisplayedScrollingRowIndex = dgvDetalles.SelectedRows[0].Index;
        }