public IHttpActionResult PutHistorialAsignacion(int id, HistorialAsignacion historialAsignacion) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != historialAsignacion.ha_id) { return(BadRequest()); } db.Entry(historialAsignacion).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!HistorialAsignacionExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetHistorialAsignacion(int id) { HistorialAsignacion historialAsignacion = db.HistorialAsignacion.Find(id); if (historialAsignacion == null) { return(NotFound()); } return(Ok(historialAsignacion)); }
public IHttpActionResult PostHistorialAsignacion(HistorialAsignacion historialAsignacion) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.HistorialAsignacion.Add(historialAsignacion); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = historialAsignacion.ha_id }, historialAsignacion)); }
public ActionResult Create([Bind(Include = "ci_corretaje_id,ci_articulo_id,ci_cantidadAsignada")] CasaInventario casaInventario) { ActualizarVariables(); if (Session["Usuario"] == null) { return(RedirectToAction("Index", "Home")); } else if (Session["Tipo"].ToString() == "Corretaje" || Session["Tipo"].ToString() == "Contabilidad" || Session["Tipo"].ToString() == "Habilitacion" || Session["Tipo"].ToString() == "Administrador") { if (ModelState.IsValid) { int ubi = Convert.ToInt32(Request.Form["ubicacion"]); casaInventario.ci_fecha = DateTime.Now; casaInventario.ci_usuario_id = Convert.ToInt32(Session["UsuarioID"].ToString()); db.CasaInventario.Add(casaInventario); db.SaveChanges(); decimal cantidadRestante = casaInventario.ci_cantidadAsignada; List <Existencias> ex = db.Existencias.Select(x => x).Where(x => x.ext_art_id == casaInventario.ci_articulo_id).Where(x => x.ext_cantidadActual > 0 && x.ext_ubicacion == ubi).OrderBy(e => e.ext_fechaAgregado).ToList(); foreach (Existencias item in ex) { if (cantidadRestante == 0) { break; } if (item.ext_cantidadActual >= cantidadRestante) { item.ext_cantidadActual -= cantidadRestante; cantidadRestante = 0; } else { decimal diferencia = cantidadRestante - (decimal)item.ext_cantidadActual; item.ext_cantidadActual = 0; cantidadRestante = diferencia; } HistorialAsignacion ha = new HistorialAsignacion(); ha.ha_existencia_id = item.Id; ha.ha_casaInventario = casaInventario.ci_Id; db.HistorialAsignacion.Add(ha); db.SaveChanges(); } return(RedirectToAction("Index", new { id = casaInventario.ci_corretaje_id })); } return(View(casaInventario)); } else { string redireccion = lc.Redireccionar(Session["Tipo"].ToString()); return(RedirectToAction(redireccion.Split('-')[1], redireccion.Split('-')[0])); } }
public IHttpActionResult DeleteHistorialAsignacion(int id) { HistorialAsignacion historialAsignacion = db.HistorialAsignacion.Find(id); if (historialAsignacion == null) { return(NotFound()); } db.HistorialAsignacion.Remove(historialAsignacion); db.SaveChanges(); return(Ok(historialAsignacion)); }
public ActionResult DeleteConfirmed(int id) { ActualizarVariables(); if (Session["Usuario"] == null) { return(RedirectToAction("Index", "Home")); } else if (Session["Tipo"].ToString() == "Corretaje" || Session["Tipo"].ToString() == "Contabilidad" || Session["Tipo"].ToString() == "Habilitacion" || Session["Tipo"].ToString() == "Administrador") { int ubicacion = 0; CasaInventario casaInventario = db.CasaInventario.Find(id); int corretaje = casaInventario.ci_corretaje_id; CasaInventario ci = db.CasaInventario.AsNoTracking().Where(x => x.ci_Id == casaInventario.ci_Id).FirstOrDefault(); decimal diferencia = ci.ci_cantidadAsignada; List <Existencias> le = new List <Existencias>(); foreach (HistorialAsignacion ha in ci.HistorialAsignacion) { if (ubicacion == 0) { ubicacion = (int)ha.Existencias.ext_ubicacion; } le.Add(ha.Existencias); } le.OrderByDescending(x => x.ext_fechaAgregado); if (diferencia > 0) { decimal cantidadRestante = diferencia; List <Existencias> ex = db.Existencias.Select(x => x).Where(x => x.ext_art_id == casaInventario.ci_articulo_id && ubicacion == x.ext_ubicacion).OrderByDescending(e => e.ext_fechaAgregado).ToList(); foreach (Existencias item in ex) { if (cantidadRestante == 0) { break; } if (item.ext_cantidad >= (cantidadRestante + item.ext_cantidadActual)) { item.ext_cantidadActual += cantidadRestante; cantidadRestante = 0; HistorialAsignacion ha = db.HistorialAsignacion.Where(x => x.ha_existencia_id == item.Id && x.ha_casaInventario == casaInventario.ci_Id).FirstOrDefault(); db.HistorialAsignacion.Remove(ha); db.SaveChanges(); } else { diferencia = (decimal)item.ext_cantidad - (decimal)item.ext_cantidadActual; item.ext_cantidadActual = item.ext_cantidad; cantidadRestante -= diferencia; HistorialAsignacion ha = db.HistorialAsignacion.Where(x => x.ha_existencia_id == item.Id && x.ha_casaInventario == casaInventario.ci_Id).FirstOrDefault(); db.HistorialAsignacion.Remove(ha); db.SaveChanges(); } } } db.CasaInventario.Remove(db.CasaInventario.Find(casaInventario.ci_Id)); db.SaveChanges(); return(RedirectToAction("Index", new { id = corretaje })); } else { string redireccion = lc.Redireccionar(Session["Tipo"].ToString()); return(RedirectToAction(redireccion.Split('-')[1], redireccion.Split('-')[0])); } }
public ActionResult Edit([Bind(Include = "ci_Id,ci_articulo_id,ci_corretaje_id,ci_cantidadAsignada,ci_fecha,ci_usuario_id")] CasaInventario casaInventario) { ActualizarVariables(); if (Session["Usuario"] == null) { return(RedirectToAction("Index", "Home")); } else if (Session["Tipo"].ToString() == "Corretaje" || Session["Tipo"].ToString() == "Contabilidad" || Session["Tipo"].ToString() == "Habilitacion" || Session["Tipo"].ToString() == "Administrador") { if (ModelState.IsValid) { int ubic = 0; CasaInventario ci = db.CasaInventario.AsNoTracking().Where(x => x.ci_Id == casaInventario.ci_Id).FirstOrDefault(); decimal diferencia = ci.ci_cantidadAsignada - casaInventario.ci_cantidadAsignada; List <Existencias> le = new List <Existencias>(); foreach (HistorialAsignacion ha in ci.HistorialAsignacion) { le.Add(ha.Existencias); } le.OrderByDescending(x => x.ext_fechaAgregado); if (diferencia < 0) { foreach (Existencias ex in le) { if (diferencia == 0) { break; } if (ex.ext_cantidad >= diferencia) { Existencias ex1 = db.Existencias.Find(ex.Id); if (ubic == 0) { ubic = (int)ex1.ext_ubicacion; } ex1.ext_cantidadActual = ex1.ext_cantidadActual + diferencia; diferencia = 0; db.SaveChanges(); } else { Existencias ex1 = db.Existencias.Find(ex.Id); if (ubic == 0) { ubic = (int)ex1.ext_ubicacion; } ex1.ext_cantidadActual = ex1.ext_cantidad; diferencia = diferencia - (decimal)ex1.ext_cantidad; db.HistorialAsignacion.Remove(ci.HistorialAsignacion.Where(x => x.Existencias.Id == ex.Id).FirstOrDefault()); db.SaveChanges(); } } } else if (diferencia > 0) { decimal cantidadRestante = diferencia; List <Existencias> ex = db.Existencias.Select(x => x).Where(x => x.ext_art_id == casaInventario.ci_articulo_id && ubic == x.ext_ubicacion).OrderByDescending(e => e.ext_fechaAgregado).ToList(); foreach (Existencias item in ex) { if (cantidadRestante == 0) { break; } if (item.ext_cantidad >= (cantidadRestante + item.ext_cantidadActual)) { item.ext_cantidadActual += cantidadRestante; cantidadRestante = 0; } else { diferencia = (decimal)item.ext_cantidad - (decimal)item.ext_cantidadActual; item.ext_cantidadActual = item.ext_cantidad; cantidadRestante -= diferencia; HistorialAsignacion ha = db.HistorialAsignacion.Where(x => x.ha_existencia_id == item.Id && x.ha_casaInventario == casaInventario.ci_Id).FirstOrDefault(); db.HistorialAsignacion.Remove(ha); } db.SaveChanges(); } } db.Entry(casaInventario).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index", new { id = casaInventario.ci_corretaje_id })); } return(View(casaInventario)); } else { string redireccion = lc.Redireccionar(Session["Tipo"].ToString()); return(RedirectToAction(redireccion.Split('-')[1], redireccion.Split('-')[0])); } }