public JsonResult Delete(int id)
        {
            try
            {
                ControlMatriculas controlMatriculas = db.ControlMatriculas.Find(id);
                if (controlMatriculas == null)
                {
                    Response.StatusCode = (int)HttpStatusCode.NotFound;
                    return(Json(new { Result = "Error" }));
                }

                //delete files from the file system

                foreach (var item in controlMatriculas.ArchivoMatriculaOCs)
                {
                    String path = Path.Combine(Server.MapPath("~/Content/ArchivosMatriculasOC/"), item.Id + item.Extension);
                    if (System.IO.File.Exists(path))
                    {
                        System.IO.File.Delete(path);
                    }
                }

                db.ControlMatriculas.Remove(controlMatriculas);
                db.SaveChanges();
                return(Json(new { Result = "OK" }));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
        public ActionResult Edit(ControlMatriculas controlMatriculas)
        {
            if (ModelState.IsValid)
            {
                for (int i = 0; i < Request.Files.Count; i++)
                {
                    var file = Request.Files[i];

                    if (file != null && file.ContentLength > 0)
                    {
                        var nombreArchivo = Path.GetFileName(file.FileName);
                        ArchivoMatriculaOC archivoMatricula = new ArchivoMatriculaOC()
                        {
                            NombreArchivo = nombreArchivo,
                            Extension     = Path.GetExtension(nombreArchivo),
                            Id            = Guid.NewGuid(),
                            MatriculaOCId = controlMatriculas.Id
                        };
                        var path = Path.Combine(Server.MapPath("~/Content/ArchivosMatriculasOC/"), archivoMatricula.Id + archivoMatricula.Extension);
                        file.SaveAs(path);

                        db.Entry(archivoMatricula).State = EntityState.Added;
                    }
                    db.Entry(controlMatriculas).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            return(View(controlMatriculas));
        }
        // GET: ControlMatriculas/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ControlMatriculas controlMatriculas = db.ControlMatriculas.Include(s => s.ArchivoMatriculaOCs).SingleOrDefault(x => x.Id == id);

            if (controlMatriculas == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ListaOCs       = new SelectList(db.OrdenCompra.OrderBy(x => x.OC), "OC", "OC");
            ViewBag.ListaLineas    = new SelectList(db.LineaVh.OrderBy(x => x.descripcion), "Id", "descripcion");
            ViewBag.ListaTerceros  = new SelectList(db.TercerosOCAs.OrderBy(x => x.nombres), "nombres", "nombres");
            ViewBag.ListaEntidades = new SelectList(db.EntidadMatriculas.OrderBy(x => x.nombres), "nombres", "nombres");

            return(View(controlMatriculas));
        }
        public ActionResult Create(ControlMatriculas controlMatriculas)
        {
            if (ModelState.IsValid)
            {
                List <ArchivoMatriculaOC> archivoMatriculaOCs = new List <ArchivoMatriculaOC>();
                for (int i = 0; i < Request.Files.Count; i++)
                {
                    var Archivo = Request.Files[i];

                    if (Archivo != null && Archivo.ContentLength > 0)
                    {
                        var nombreArchivo = Path.GetFileName(Archivo.FileName);
                        ArchivoMatriculaOC archivoMatriculaOC = new ArchivoMatriculaOC()
                        {
                            NombreArchivo = nombreArchivo,
                            Extension     = Path.GetExtension(nombreArchivo),
                            Id            = Guid.NewGuid()
                        };
                        archivoMatriculaOCs.Add(archivoMatriculaOC);

                        var path = Path.Combine(Server.MapPath("~/Content/ArchivosMatriculasOC/"), archivoMatriculaOC.Id + archivoMatriculaOC.Extension);
                        Archivo.SaveAs(path);
                    }
                }
                controlMatriculas.ArchivoMatriculaOCs = archivoMatriculaOCs;
                db.ControlMatriculas.Add(controlMatriculas);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.ListaOCs       = new SelectList(db.OrdenCompra.OrderBy(x => x.OC), "OC", "OC");
                ViewBag.ListaLineas    = new SelectList(db.LineaVh.OrderBy(x => x.descripcion), "Id", "descripcion");
                ViewBag.ListaTerceros  = new SelectList(db.TercerosOCAs.OrderBy(x => x.nombres), "nombres", "nombres");
                ViewBag.ListaEntidades = new SelectList(db.EntidadMatriculas.OrderBy(x => x.nombres), "nombres", "nombres");
            }
            return(View(controlMatriculas));
        }