Exemple #1
0
        public ActionResult CrearMateriales(Models.DetalleMaterial material, HttpPostedFileBase uploadFile, FormCollection form, IEnumerable <HttpPostedFileBase> uploadfilesMateria)
        {
            string mensaje  = "";
            string guardaEn = "~/Materiales/";


            try
            {
                int    idMateriaTxt   = Convert.ToInt32(form["idMateria"]);
                int    idUsuario      = Convert.ToInt32(Session["UserID"]);
                string tituloTxt      = form["txtTitulo"];
                string descripcionTxt = form["txtDescripcion"];


                /*Material Obligatoria*/
                if (uploadFile != null)
                {
                    var fileName = Path.GetFileName(uploadFile.FileName);
                    var path     = Path.Combine(Server.MapPath(guardaEn), fileName);
                    uploadFile.SaveAs(path);
                    string materialGuardar = guardaEn + fileName;
                    /*Datos*/
                    material.idUsuario        = idUsuario;
                    material.idDetalleMateria = idMateriaTxt;
                    material.titulo           = tituloTxt;
                    material.mensaje          = descripcionTxt;
                    material.material         = materialGuardar;
                    material.nombreMaterial   = fileName;


                    var materialMap    = material;
                    var materialInsert = Mapper.Map <Datos.DetalleMaterial>(materialMap);

                    mensaje = profesorActiv.crearMaterial(materialInsert);
                }
                else
                {
                    TempData["mensajeProf"] = "Inserte el documento obligatorio";
                    return(RedirectToAction("Inicio", "Profesor"));
                }



                if (mensaje.Equals("Material agregado"))
                {
                    /*MaterialesAdicionales*/
                    if (uploadfilesMateria != null)
                    {
                        foreach (var files in uploadfilesMateria.ToList())
                        {
                            var fileNames = Path.GetFileName(files.FileName);
                            var paths     = Path.Combine(Server.MapPath(guardaEn), fileNames);
                            files.SaveAs(paths);
                            string documentosAdicionales = guardaEn + fileNames;
                            profesorActiv.AgregarMaterialesAdicionales(documentosAdicionales, fileNames);
                        }
                    }
                }

                TempData["mensajeProf"] = mensaje;

                return(RedirectToAction("Inicio", "Profesor"));
            }
            catch (NullReferenceException)
            {
                TempData["mensajeProf"] = "Material Creado";
                return(RedirectToAction("Inicio", "Profesor"));
            }
            catch (Exception)
            {
                TempData["mensajeProf"] = "Ocurrio un error,ingrese los datos necesarios";
                return(RedirectToAction("Inicio", "Profesor"));
            }
        }