Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using RiveraHuila.App.Persistencia.Modelo;
- using RiveraHuila.App.Servicio.Models;
- using System;
- using System.Data;
- using System.Data.Entity;
- using System.Data.Entity.Infrastructure;
- using System.Linq;
- using System.Net;
- using System.Threading.Tasks;
- using System.Web.Http;
- using System.Web.Http.Description;
- namespace RiveraHuila.App.Servicio.Controllers
- {
- public class ArticulosController : ApiController
- {
- private ProyectoRiveraHuilaEntities db = new ProyectoRiveraHuilaEntities();
- // GET: api/Articulos
- public IQueryable<Articulo> GetArticulo()
- {
- return db.Articulo;
- }
- // GET: api/Articulos/5
- [ResponseType(typeof(Articulo))]
- public async Task<IHttpActionResult> GetArticulo(int id)
- {
- Articulo articulo = await db.Articulo.FindAsync(id);
- if (articulo == null)
- {
- return NotFound();
- }
- return Ok(articulo);
- }
- public ArticuloBodega GetLibro(string libro)
- {
- IQueryable<Articulo> articulo = db.Articulo.Where(lib => (lib.IdTipoArticulo == 1 || lib.IdTipoArticulo == 2) && lib.Descripcion.Contains(libro));
- ArticuloBodega articuloBodega = new ArticuloBodega();
- try
- {
- articuloBodega.Articulo = articulo.FirstOrDefault();
- IQueryable<Bodega> bodega =
- db.Bodega.Where(bod => bod.IdBodega == articuloBodega.Articulo.IdTipoArticulo);
- articuloBodega.Bodega = bodega.FirstOrDefault();
- IQueryable<Catalogo> catalogo =
- db.Catalogo.Where(cat => cat.IdArticulo == articuloBodega.Articulo.IdArticulo);
- Catalogo c = catalogo.FirstOrDefault();
- articuloBodega.CantidadDisponible = c.CantidadTotal - c.CantidadTotalActual;
- return articuloBodega;
- }
- catch (Exception e)
- {
- articuloBodega.Articulo = new Articulo();
- articuloBodega.Bodega = new Bodega();
- articuloBodega.CantidadDisponible = 0;
- return articuloBodega;
- }
- }
- // PUT: api/Articulos/5
- [ResponseType(typeof(void))]
- public async Task<IHttpActionResult> PutArticulo(int id, Articulo articulo)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
- if (id != articulo.IdArticulo)
- {
- return BadRequest();
- }
- db.Entry(articulo).State = EntityState.Modified;
- try
- {
- await db.SaveChangesAsync();
- }
- catch (DbUpdateConcurrencyException)
- {
- if (!ArticuloExists(id))
- {
- return NotFound();
- }
- else
- {
- throw;
- }
- }
- return StatusCode(HttpStatusCode.NoContent);
- }
- // POST: api/Articulos
- [ResponseType(typeof(Articulo))]
- public async Task<IHttpActionResult> PostArticulo(Articulo articulo)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
- db.Articulo.Add(articulo);
- await db.SaveChangesAsync();
- return CreatedAtRoute("DefaultApi", new { id = articulo.IdArticulo }, articulo);
- }
- // DELETE: api/Articulos/5
- [ResponseType(typeof(Articulo))]
- public async Task<IHttpActionResult> DeleteArticulo(int id)
- {
- Articulo articulo = await db.Articulo.FindAsync(id);
- if (articulo == null)
- {
- return NotFound();
- }
- db.Articulo.Remove(articulo);
- await db.SaveChangesAsync();
- return Ok(articulo);
- }
- protected override void Dispose(bool disposing)
- {
- if (disposing)
- {
- db.Dispose();
- }
- base.Dispose(disposing);
- }
- private bool ArticuloExists(int id)
- {
- return db.Articulo.Count(e => e.IdArticulo == id) > 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement