public ActionResult editMovimientos(int DocumentoId, int MovimientoId, [FromBody] JsonPatchDocument <Movimientos> movimientosChanges) { PlantillasContext db = new PlantillasContext(); if (movimientosChanges == null) { return(BadRequest()); } Movimientos movimiento = db.Movimientos.FirstOrDefault(x => x.Documentoid == DocumentoId && x.NumeroMovimiento == MovimientoId); if (movimiento == null) { return(NotFound()); } movimientosChanges.ApplyTo(movimiento, ModelState); var isValid = TryValidateModel(movimiento); if (!isValid) { return(BadRequest()); } db.SaveChanges(); return(NoContent()); }
public ActionResult editCabecera(int DocumentoId, [FromBody] JsonPatchDocument <Cabeceras> cabeceraChanges) { PlantillasContext db = new PlantillasContext(); if (cabeceraChanges == null) { return(BadRequest()); } Cabeceras cabecera = db.Cabeceras.FirstOrDefault(x => x.Documentoid == DocumentoId); if (cabecera == null) { return(NotFound()); } cabeceraChanges.ApplyTo(cabecera, ModelState); var isValid = TryValidateModel(cabecera); if (!isValid) { return(BadRequest()); } db.SaveChanges(); return(NoContent()); }
public ActionResult editDocumento(int DocumentoId, [FromBody] JsonPatchDocument <Documentos> documentoChanges) { PlantillasContext db = new PlantillasContext(); if (documentoChanges == null) { return(BadRequest()); } Documentos doc = db.Documentos.FirstOrDefault(x => x.Documentoid == DocumentoId); if (doc == null) { return(NotFound()); } documentoChanges.ApplyTo(doc, ModelState); var isValid = TryValidateModel(doc); if (!isValid) { return(BadRequest()); } db.SaveChanges(); return(NoContent()); }
public ActionResult getPlantillas(int?DocumentoId, int Page, int Size) { PlantillasContext db = new PlantillasContext(); string jsonresponse; if (DocumentoId != null) { Documentos documento = db.Documentos.FirstOrDefault(x => x.Documentoid == DocumentoId); if (documento == null) { return(BadRequest("El id de la plantilla no existe.")); } documento.Cabeceras = db.Cabeceras.FirstOrDefault(x => x.Documentoid == DocumentoId); documento.Movimientos = db.Movimientos.Where(x => x.Documentoid == DocumentoId).ToList(); Plantilla plantillaCompleta = new Plantilla(documento); jsonresponse = JsonSerializer.Serialize(plantillaCompleta); return(Ok(jsonresponse)); } List <DocumentoPlantilla> documentosPlantilla = new List <DocumentoPlantilla>(); try { var plantillas = (from doc in db.Documentos join cabecera in db.Cabeceras on doc.Documentoid equals cabecera.Documentoid select new { doc, codigoClienteProveedor = cabecera.CodigoCteProv }).Skip((Page - 1) * Size) .Take(Size).OrderByDescending(x => x.doc.Documentoid); foreach (var item in plantillas) { Documentos documento = item.doc; DocumentoPlantilla doc = new DocumentoPlantilla(documento, item.codigoClienteProveedor); documentosPlantilla.Add(doc); } } catch (Exception e) { return(StatusCode(500, e.Message)); } int total = db.Documentos.Count(); ListOfPlantillas listOfPlantillas = new ListOfPlantillas(documentosPlantilla, Page, total); jsonresponse = JsonSerializer.Serialize(listOfPlantillas); return(Ok(jsonresponse)); }
public static void checkForPlantillas() { using (var db = new PlantillasContext()) { var documentosPlantillas = db.Documentos.ToList(); foreach (var documento in documentosPlantillas) { if (!documento.Estatus) { continue; } if (documento.ProximaFactura == DateTime.Today) { int hora = documento.ProximaFactura.Value.Hour; DocumentoServices documentoServices = new DocumentoServices(); var cabecera = db.Cabeceras.FirstOrDefault(x => x.Documentoid == documento.Documentoid); var movimiento = db.Movimientos.Where(x => x.Documentoid == documento.Documentoid).ToList(); Documento factura = new Documento { cabecera = new Cabecera { numMoneda = cabecera.NumMoneda, serie = new StringBuilder(cabecera.Serie), tipoCambio = cabecera.TipoCambio, codConcepto = cabecera.CodConcepto, codigoCteProv = cabecera.CodigoCteProv }, movimientos = new List <Movimiento>() }; movimiento.ForEach(x => factura.movimientos.Add(new Movimiento { codAlmacen = x.CodAlmacen, codProducto = x.CodProducto, precio = x.Precio, unidades = x.Unidades })); factura.docEnPlantiila.isPlantilla = true; factura.docEnPlantiila.idPlantilla = documento.Documentoid; BackgroundJob.Schedule(() => documentoServices.createDocumento(factura), TimeSpan.FromHours(hora)); } } } }
public static bool updatePlantilla(Documento documento) { PlantillasContext db = new PlantillasContext(); Documentos doc = db.Documentos.FirstOrDefault(x => x.Documentoid == documento.docEnPlantiila.idPlantilla); try { doc.ProximaFactura.Value.AddDays(doc.PeriodoDias.Value); } catch (Exception e) { return(false); } return(true); }
public static bool addPlantilla(Documento documento) { using (var db = new PlantillasContext()) { int noPlantillas = db.Documentos.Count(); int nextId; if (noPlantillas != 0) { nextId = db.Documentos.Max(x => x.Documentoid) + 1; } else { nextId = 1; } var factura = new Documentos { Documentoid = nextId, Estatus = false }; try { db.Documentos.Add(factura); db.SaveChanges(); } catch (Exception e) { throw new Exception(e.Message); } DateTime fechaCabecera = DateTime.ParseExact(documento.cabecera.fecha, "MM/dd/yyyy", CultureInfo.InvariantCulture); var cabecera = new Cabeceras { Documentoid = factura.Documentoid, NumMoneda = documento.cabecera.numMoneda, Serie = documento.cabecera.serie.ToString(), TipoCambio = documento.cabecera.tipoCambio, CodConcepto = documento.cabecera.codConcepto, CodigoCteProv = documento.cabecera.codigoCteProv }; db.Cabeceras.Add(cabecera); for (int i = 1; i < documento.movimientos.Count; i++) { var movimientodb = new Movimientos { Documentoid = factura.Documentoid, NumeroMovimiento = i, CodAlmacen = documento.movimientos[i].codAlmacen, CodProducto = documento.movimientos[i].codProducto, Precio = documento.movimientos[i].precio, Unidades = documento.movimientos[i].unidades }; db.Movimientos.Add(movimientodb); } try { db.SaveChanges(); } catch (Exception e) { throw new Exception(e.Message); } } return(true); }