public async Task <IActionResult> PutTaloneraEntity([FromRoute] int id, [FromBody] TaloneraEntity taloneraEntity) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != taloneraEntity.id) { return(BadRequest()); } _context.Entry(taloneraEntity).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TaloneraEntityExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> Create([Bind("id,RangoInicio,RangoFin,Empresa")] TaloneraEntity taloneraEntity, int?id) { if (ModelState.IsValid) { // valida que el inicio de rango sea menor que el final de rango if (taloneraEntity.RangoInicio >= taloneraEntity.RangoFin || taloneraEntity.RangoFin <= taloneraEntity.RangoInicio ) { return(RedirectToAction(nameof(ErrorTalonera))); } EmpresaEntity empresa = _context.Empresa.Where(e => e.id == id).FirstOrDefault(); DistribuidorEntity distribuidor = _context.Distribuidor .Where(d => d.Email == User.Identity.Name).FirstOrDefault(); _context.Talonera.Add(new TaloneraEntity { RangoInicio = taloneraEntity.RangoInicio, RangoFin = taloneraEntity.RangoFin, Empresa = empresa, Distribuidor = distribuidor, StatusTalonera = "Activo" });; await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(taloneraEntity)); }
public async Task <IActionResult> Edit(int id, [Bind("id,RangoInicio,RangoFin")] TaloneraEntity taloneraEntity) { if (id != taloneraEntity.id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(taloneraEntity); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TaloneraEntityExists(taloneraEntity.id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(taloneraEntity)); }
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> PostTaloneraEntity([FromBody] TaloneraEntity taloneraEntity) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Talonera.Add(taloneraEntity); await _context.SaveChangesAsync(); return(CreatedAtAction("GetTaloneraEntity", new { id = taloneraEntity.id }, taloneraEntity)); }
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 TaloneraResponse ToTaloneraResponse(TaloneraEntity talonera) { if (talonera == null) { return(null); } return(new TaloneraResponse { id = talonera.id, RangoInicio = talonera.RangoInicio, RangoFin = talonera.RangoFin, Display = talonera.Empresa.Email + " " + talonera.RangoInicio.ToString() + "-" + talonera.RangoFin.ToString(), Empresa = ToEmpResponse(talonera.Empresa) }); }
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> 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()); }