public IActionResult Create(int?idTalonera, int?idCliente) { ViewBag.idTalonera = idTalonera; ViewBag.idCliente = idCliente; if (idTalonera == null) { return(NotFound()); } TaloneraEntity talonera = _context.Talonera .Include(item => item.Empresa) .Where(t => t.id == idTalonera) .FirstOrDefault(); ViewBag.Talonera = talonera; ClienteEntity cliente = _context.Cliente .Where(c => c.id == idCliente) .FirstOrDefault(); ViewBag.Cliente = cliente; // generacion de numero de folio sugerido Random rnd = new Random(); int folioSugerido = rnd.Next(talonera.RangoInicio, talonera.RangoFin); ValeEntity valeValidacion = _context.Vale .Where(v => v.Talonera.id == talonera.id && v.NumeroFolio == folioSugerido) .FirstOrDefault(); while (valeValidacion != null) { folioSugerido = rnd.Next(talonera.RangoInicio, talonera.RangoFin); valeValidacion = _context.Vale .Where(v => v.Talonera.id == talonera.id && v.NumeroFolio == folioSugerido) .FirstOrDefault(); } ViewBag.FolioSugerido = folioSugerido; // termina generacion de numero de folio sugerido if (talonera.Empresa.NombreEmpresa != "Nombre Pendiente...") { ViewBag.EmpresaDisplay = talonera.Empresa.NombreEmpresa; } else { ViewBag.EmpresaDisplay = talonera.Empresa.Email; } return(View()); }
public async Task <IActionResult> MarcarPago([FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } PagoEntity pago = _context.Pago.Where(p => p.id == id).FirstOrDefault(); if (pago.Pagado == true) { pago.Pagado = false; } else { pago.Pagado = true; } try { _context.Update(pago); await _context.SaveChangesAsync(); ValeEntity vale = _context.Vale.Where(v => v.id == pago.Valeid).FirstOrDefault(); List <PagoEntity> pagos = await _context.Pago .Where(p => p.Valeid == pago.Valeid && p.Pagado == true) .ToListAsync(); if (pagos.Count == vale.CantidadPagos) { vale.Pagado = true; } else { vale.Pagado = false; } _context.Update(vale); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PagoEntityExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PostValeEntity([FromBody] ValeEntity valeEntity) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Vale.Add(valeEntity); await _context.SaveChangesAsync(); return(CreatedAtAction("GetValeEntity", new { id = valeEntity.id }, valeEntity)); }
public async Task <IActionResult> Edit(int id, [Bind("id,Monto,DistribuidorId,EmpresaId,ClienteId,status_vale,Fecha,NumeroFolio")] ValeEntity valeEntity) { if (id != valeEntity.id) { return(NotFound()); } if (ModelState.IsValid) { // evalua que el folio del vale ingresado este dentro del rango de la talonera a la que pertenece ValeEntity valeUntracked = _context.Vale.AsNoTracking() .Include(i => i.Talonera) .Where(v => v.id == valeEntity.id) .FirstOrDefault(); TaloneraEntity talonera = _context.Talonera .Where(t => t.id == valeUntracked.Talonera.id) .FirstOrDefault(); if (talonera == null || valeEntity.NumeroFolio < talonera.RangoInicio || valeEntity.NumeroFolio > talonera.RangoFin) { return(RedirectToAction(nameof(ErrorVale))); } // termina la evaluacion del rango de folio try { _context.Update(valeEntity); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ValeEntityExists(valeEntity.id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(valeEntity)); }
public async Task <IActionResult> VerPagos(int?id) { ValeEntity vale = _context.Vale.Where(v => v.id == id).FirstOrDefault(); if (vale.Pagado == true) { ViewBag.Pagado = true; } else { ViewBag.Pagado = false; } return(View(await _context.Pago.Where(p => p.Vale.id == id).ToListAsync())); }
public async Task <IActionResult> Create( [Bind("id,Monto,ClienteId,EmpresaId,DistribuidorId,Fecha,FechaPrimerPago,status_vale,NumeroFolio,CantidadPagos")] ValeEntity valeEntity, int?idTalonera, int?idCliente) { DistribuidorEntity distribuidor = _context.Distribuidor .Where(d => d.Email == User.Identity.Name).FirstOrDefault(); TaloneraEntity talonera = _context.Talonera .Include(item => item.Empresa) .Where(t => t.id == idTalonera) .FirstOrDefault(); ViewBag.Talonera = talonera; ClienteEntity cliente = _context.Cliente.Where(c => c.id == idCliente).FirstOrDefault(); ViewBag.Cliente = cliente; if (ModelState.IsValid) { // evalua que el folio del vale ingresado este dentro del rango de la talonera a la que pertenece if (talonera == null || valeEntity.NumeroFolio < talonera.RangoInicio || valeEntity.NumeroFolio > talonera.RangoFin) { return(RedirectToAction(nameof(ErrorVale))); } ValeEntity valeValidacion = _context.Vale .Where(v => v.Talonera.id == talonera.id && v.NumeroFolio == valeEntity.NumeroFolio) .FirstOrDefault(); // evalua que el folio del vale ingresado no se repita dentro de la talonera a la que pertenece if (valeValidacion != null) { return(RedirectToAction(nameof(ErrorVale))); } ValeEntity valeInsert = new ValeEntity { Monto = valeEntity.Monto, CantidadPagos = valeEntity.CantidadPagos, FechaPrimerPago = valeEntity.FechaPrimerPago, FechaCreacion = DateTime.UtcNow, status_vale = "Activo", Talonera = talonera, Distribuidor = distribuidor, Empresa = talonera.Empresa, Cliente = cliente, NumeroFolio = valeEntity.NumeroFolio, }; _context.Vale.Add(valeInsert); await _context.SaveChangesAsync(); float division = valeEntity.Monto / valeEntity.CantidadPagos; DateTime Fecha = valeEntity.FechaPrimerPago; for (int i = 0; i < valeEntity.CantidadPagos; i++) { _context.Pago.Add(new PagoEntity { Cantidad = division, FechaLimite = Fecha, Vale = valeInsert, Distribuidor = distribuidor }); //ENERO if (Fecha.Month == 1 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 1 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 1 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //FEBRERO else if (Fecha.Month == 2 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 2 && Fecha.Day == 15) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 2 && Fecha.Day == 28) { Fecha = Fecha.AddDays(15); } //MARZO else if (Fecha.Month == 3 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 3 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 3 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //ABRIL else if (Fecha.Month == 4 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 4 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 4 && Fecha.Day == 30) { Fecha = Fecha.AddDays(15); } //MAYO else if (Fecha.Month == 5 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 5 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 5 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //JUNIO else if (Fecha.Month == 6 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 6 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 6 && Fecha.Day == 30) { Fecha = Fecha.AddDays(15); } //JULIO else if (Fecha.Month == 7 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 7 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 7 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //AGOSTO else if (Fecha.Month == 8 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 8 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 8 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //SEPTIEMBRE else if (Fecha.Month == 9 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 9 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 9 && Fecha.Day == 30) { Fecha = Fecha.AddDays(15); } //OCTUBRE else if (Fecha.Month == 10 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 10 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 10 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //NOVIEMBRE else if (Fecha.Month == 11 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 11 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 11 && Fecha.Day == 30) { Fecha = Fecha.AddDays(15); } //DICIEMBRE else if (Fecha.Month == 12 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 12 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 12 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //Fecha = Fecha.AddDays(15); } Debug.WriteLine("DIVISION"); Debug.WriteLine(division); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(valeEntity)); }
public async Task <IActionResult> MarcarPagado(int id, int?navId, [Bind("id,Cantidad,FechaLimite,Pagado,Valeid")] PagoEntity pagoEntity) { if (id != pagoEntity.id) { return(NotFound()); } if (ModelState.IsValid) { try { if (pagoEntity.Pagado == false) { pagoEntity.Pagado = true; } else { pagoEntity.Pagado = false; } _context.Update(pagoEntity); await _context.SaveChangesAsync(); ValeEntity vale = _context.Vale.Where(v => v.id == pagoEntity.Valeid).FirstOrDefault(); List <PagoEntity> pagos = await _context.Pago .Where(p => p.Valeid == pagoEntity.Valeid && p.Pagado == true) .ToListAsync(); if (pagos.Count == vale.CantidadPagos) { vale.Pagado = true; } else { vale.Pagado = false; } _context.Update(vale); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ValeEntityExists(pagoEntity.id)) { return(NotFound()); } else { throw; } } Debug.WriteLine("NAVID"); Debug.WriteLine(navId); if (navId == 1) { return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("VerPagos/" + pagoEntity.Valeid)); } } return(View(pagoEntity)); }
public async Task <IActionResult> PostVale([FromBody] CreateValeRequest request) { if (!ModelState.IsValid) { return(BadRequest()); } request.FechaCreacion = DateTime.UtcNow; EmpresaEntity empresa = _context.Empresa.Where(e => e.id == request.EmpresaId).FirstOrDefault(); if (empresa == null) { return(BadRequest(new Response { IsSuccess = false, Message = "La empresa especificada no existe." })); } ClienteEntity cliente = _context.Cliente.Where(c => c.id == request.ClienteId).FirstOrDefault(); if (cliente == null) { return(BadRequest(new Response { IsSuccess = false, Message = "El cliente especificado no existe." })); } DistribuidorEntity dist = _context.Distribuidor.Where(d => d.id == request.DistId).FirstOrDefault(); if (dist == null) { return(BadRequest(new Response { IsSuccess = false, Message = "El distribuidor especificado no existe." })); } TaloneraEntity talonera = _context.Talonera.Where(t => t.id == request.TaloneraId).FirstOrDefault(); if (talonera == null) { return(BadRequest(new Response { IsSuccess = false, Message = "La talonera especificada no existe." })); } // evalua que el folio del vale ingresado este dentro del rango de la talonera a la que pertenece if (talonera == null || request.NumeroFolio < talonera.RangoInicio || request.NumeroFolio > talonera.RangoFin) { return(BadRequest(new Response { IsSuccess = false, Message = "Folio fuera de rango." })); } ValeEntity valeValidacion = _context.Vale .Where(v => v.Talonera.id == talonera.id && v.NumeroFolio == request.NumeroFolio) .FirstOrDefault(); // evalua que el folio del vale ingresado no se repita dentro de la talonera a la que pertenece if (valeValidacion != null) { return(BadRequest(new Response { IsSuccess = false, Message = "Folio repetido." })); } ValeEntity valeInsert = new ValeEntity { Monto = request.Monto, CantidadPagos = request.CantidadPagos, NumeroFolio = request.NumeroFolio, FechaCreacion = request.FechaCreacion, FechaPrimerPago = request.FechaPrimerPago, Distribuidor = dist, Cliente = cliente, Empresa = empresa, Talonera = talonera, status_vale = "Activo" }; _context.Vale.Add(valeInsert); await _context.SaveChangesAsync(); float division = valeInsert.Monto / valeInsert.CantidadPagos; DateTime Fecha = valeInsert.FechaPrimerPago; for (int i = 0; i < valeInsert.CantidadPagos; i++) { _context.Pago.Add(new PagoEntity { Cantidad = division, FechaLimite = Fecha, Vale = valeInsert, Distribuidor = dist }); //ENERO if (Fecha.Month == 1 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 1 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 1 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //FEBRERO else if (Fecha.Month == 2 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 2 && Fecha.Day == 15) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 2 && Fecha.Day == 28) { Fecha = Fecha.AddDays(15); } //MARZO else if (Fecha.Month == 3 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 3 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 3 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //ABRIL else if (Fecha.Month == 4 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 4 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 4 && Fecha.Day == 30) { Fecha = Fecha.AddDays(15); } //MAYO else if (Fecha.Month == 5 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 5 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 5 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //JUNIO else if (Fecha.Month == 6 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 6 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 6 && Fecha.Day == 30) { Fecha = Fecha.AddDays(15); } //JULIO else if (Fecha.Month == 7 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 7 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 7 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //AGOSTO else if (Fecha.Month == 8 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 8 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 8 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //SEPTIEMBRE else if (Fecha.Month == 9 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 9 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 9 && Fecha.Day == 30) { Fecha = Fecha.AddDays(15); } //OCTUBRE else if (Fecha.Month == 10 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 10 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 10 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //NOVIEMBRE else if (Fecha.Month == 11 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 11 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 11 && Fecha.Day == 30) { Fecha = Fecha.AddDays(15); } //DICIEMBRE else if (Fecha.Month == 12 && Fecha.Day == 1) { Fecha = Fecha.AddDays(14); } else if (Fecha.Month == 12 && Fecha.Day == 15) { Fecha = Fecha.AddDays(15); } else if (Fecha.Month == 12 && Fecha.Day == 30) { Fecha = Fecha.AddDays(16); } //Fecha = Fecha.AddDays(15); } await _context.SaveChangesAsync(); return(NoContent()); }