// GET: ordenDeCompraArriendoEquipo/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            List <detalleOrdenDeCompraArriendoEquipo> detalleOrdenDeCompraArriendoEquipo = new List <detalleOrdenDeCompraArriendoEquipo>();

            int idOC     = Convert.ToInt32(id);
            var L2EQuery = db.detalleOrdenCompraArriendoEquipos.Where(s => s.ordenDeCompraArriendoEquipoID == idOC);

            detalleOrdenDeCompraArriendoEquipo = L2EQuery.ToList();

            ViewData["detalleOrdenDeCompraArriendoEquipo"] = detalleOrdenDeCompraArriendoEquipo;

            ordenDeCompraArriendoEquipo ordenDeCompraArriendoEquipo = db.ordenDeCompraArriendoEquipoes.Find(id);

            int       ProveedorID = ordenDeCompraArriendoEquipo.ProveedorID;
            Proveedor Proveedor   = db.Proveedores.Find(ProveedorID);

            ViewBag.nombreProveedor = Proveedor.nombreProveedor;

            if (ordenDeCompraArriendoEquipo == null)
            {
                return(HttpNotFound());
            }
            return(View(ordenDeCompraArriendoEquipo));
        }
        public ActionResult Cancelar(int id)
        {
            if (Session["ID"] == null || !roles.tienePermiso(numeroPermiso, int.Parse(Session["ID"].ToString())))
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            List <detalleOrdenDeCompraArriendoEquipo> detalleOrdenDeCompraArriendoEquipo = new List <detalleOrdenDeCompraArriendoEquipo>();

            int idOC     = Convert.ToInt32(id);
            var L2EQuery = db.detalleOrdenCompraArriendoEquipos.Where(s => s.ordenDeCompraArriendoEquipoID == idOC);

            detalleOrdenDeCompraArriendoEquipo = L2EQuery.ToList();

            ViewData["detalleOrdenDeCompraArriendoEquipo"] = detalleOrdenDeCompraArriendoEquipo;

            ordenDeCompraArriendoEquipo ordenDeCompraArriendoEquipo = db.ordenDeCompraArriendoEquipoes.Find(id);

            if (ordenDeCompraArriendoEquipo == null)
            {
                return(HttpNotFound());
            }
            return(View(ordenDeCompraArriendoEquipo));
        }
        public ActionResult Cancelar(FormCollection form)
        {
            if (Session["ID"] == null || !roles.tienePermiso(numeroPermiso, int.Parse(Session["ID"].ToString())))
            {
                return(RedirectToAction("Index", "Home"));
            }

            int id = int.Parse(form["ordenDeCompraArriendoEquipoID"].ToString());
            ordenDeCompraArriendoEquipo ordenCompraArriendoEquipo = db.ordenDeCompraArriendoEquipoes.Find(id);

            ordenCompraArriendoEquipo.estado          = "CANCELAR";
            db.Entry(ordenCompraArriendoEquipo).State = EntityState.Modified;
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            if (Session["ID"] == null || !roles.tienePermiso(numeroPermiso, int.Parse(Session["ID"].ToString())))
            {
                return(RedirectToAction("Index", "Home"));
            }

            var detalles = db.detalleOrdenCompraArriendoEquipos.Where(u => u.ordenDeCompraArriendoEquipoID == id);

            foreach (var detalle in detalles)
            {
                db.detalleOrdenCompraArriendoEquipos.Remove(detalle);
            }
            db.SaveChanges();

            ordenDeCompraArriendoEquipo ordenDeCompraArriendoEquipo = db.ordenDeCompraArriendoEquipoes.Find(id);

            db.ordenDeCompraArriendoEquipoes.Remove(ordenDeCompraArriendoEquipo);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult registroIngresoOrdenCompraArriendoEquipo(FormCollection form)
        {
            if (Session["ID"] == null || !roles.tienePermiso(numeroPermiso, int.Parse(Session["ID"].ToString())))
            {
                return(RedirectToAction("Index", "Home"));
            }

            string[] ingresoEquipo                 = Request.Form.GetValues("ingresoEquipo");
            string[] numeroItem                    = Request.Form.GetValues("numeroItem");
            DateTime fechaIngresoEquipo            = Formateador.fechaFormatoGuardar(form["fechaIngresoEquipo"].ToString());
            int      ordenDeCompraArriendoEquipoID = int.Parse(form["ordenDeCompraArriendoEquipoID"].ToString());

            string nota = (string)form["nota"];

            ordenDeCompraArriendoEquipo ordenDeCompraArriendoEquipo = db.ordenDeCompraArriendoEquipoes.Find(ordenDeCompraArriendoEquipoID);

            ordenDeCompraArriendoEquipo.nota             = nota;
            ordenDeCompraArriendoEquipo.estado           = "ENTREGADA";
            ordenDeCompraArriendoEquipo.fechaLlegadaReal = fechaIngresoEquipo;

            db.Entry(ordenDeCompraArriendoEquipo).State = EntityState.Modified;
            db.SaveChanges();

            if (!Object.ReferenceEquals(null, ingresoEquipo))
            {
                ordenDeCompraArriendoEquipo.eliminarDetalle(ordenDeCompraArriendoEquipoID);
                for (int i = 0; i < ingresoEquipo.Length; i++)
                {
                    if (ingresoEquipo[i].Equals("SI"))
                    {
                        ordenDeCompraArriendoEquipo.ingresoOrdenCompraArriendoEquipo(ordenDeCompraArriendoEquipoID, int.Parse(numeroItem[i].ToString()), fechaIngresoEquipo);
                    }
                }
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult Edit([Bind(Include = "ordenDeCompraArriendoEquipoID,numeroOrdenCompraArriendoEquipo,ProveedorID,estado,anio,texto1,texto2,plazoEntrega,personaRetira,formaPago,fecha,tipoHorasMinimas,noIncluye")] ordenDeCompraArriendoEquipo ordenDeCompraArriendoEquipo, FormCollection form)
        {
            if (Session["ID"] == null || !roles.tienePermiso(numeroPermiso, int.Parse(Session["ID"].ToString())))
            {
                return(RedirectToAction("Index", "Home"));
            }

            int ordenDeCompraArriendoEquipoID = ordenDeCompraArriendoEquipo.ordenDeCompraArriendoEquipoID;
            var detalles = db.detalleOrdenCompraArriendoEquipos.Where(u => u.ordenDeCompraArriendoEquipoID == ordenDeCompraArriendoEquipoID);

            foreach (var detalle in detalles)
            {
                db.detalleOrdenCompraArriendoEquipos.Remove(detalle);
            }
            //db.SaveChanges();

            string[] descripcionProducto   = Request.Form.GetValues("descripcionProducto");
            string[] valorHora             = Request.Form.GetValues("valorHora");
            string[] horasMinimasMensuales = Request.Form.GetValues("horasMinimasMensuales");
            string[] duracionDelArriendo   = Request.Form.GetValues("duracionDelArriendo");
            string[] lugarFaena            = Request.Form.GetValues("lugarFaena");
            string[] condicionesPago       = Request.Form.GetValues("condicionesPago");


            for (int i = 0; i < descripcionProducto.Length; i++)
            {
                detalleOrdenDeCompraArriendoEquipo detalle = new detalleOrdenDeCompraArriendoEquipo();

                detalle.ordenDeCompraArriendoEquipoID = ordenDeCompraArriendoEquipoID;
                detalle.horasMinimasMensuales         = Convert.ToInt32(horasMinimasMensuales[i]);
                detalle.condicionesDePago             = condicionesPago[i];
                detalle.descripcionEquipo             = descripcionProducto[i];
                detalle.duracionArriendo = duracionDelArriendo[i];
                detalle.lugarDeFaena     = lugarFaena[i];
                detalle.numeroItem       = i + 1;
                detalle.valorHora        = valorHora[i];

                db.detalleOrdenCompraArriendoEquipos.Add(detalle);
            }

            //EDITAR FECHAS
            if (!string.IsNullOrEmpty(form["plazoEntrega"]))
            {
                ordenDeCompraArriendoEquipo.plazoEntrega = Formateador.fechaFormatoGuardar(form["plazoEntrega"]);
            }
            else
            {
                ordenDeCompraArriendoEquipo.plazoEntrega = new DateTime(2000, 1, 1);
            }
            ordenDeCompraArriendoEquipo.fecha            = Formateador.fechaFormatoGuardar(form["fecha"].ToString());
            ordenDeCompraArriendoEquipo.fechaLlegadaReal = new DateTime(2000, 1, 1);

            ordenDeCompraArriendoEquipo.dirigidoA =
                db.Proveedores.Find(ordenDeCompraArriendoEquipo.ProveedorID).personaContacto1;

            //if (ModelState.IsValid)
            //{
            db.Entry(ordenDeCompraArriendoEquipo).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index"));
            //}
            //return View(ordenDeCompraArriendoEquipo);
        }