Exemplo n.º 1
0
        public async Task<ActionResult> RecuperarPass(string usuario)
        {
            var user = await UserManager.FindByNameAsync(usuario);

            if(user != null)
            {
                Conexion db = new Conexion();
                List<UsuarioRecovery> listaRecovery = db.UsuarioRecovery.Where(m => m.username == usuario).ToList();
                db.UsuarioRecovery.RemoveRange(listaRecovery);
                await db.SaveChangesAsync();

                UsuarioRecovery nuevo = new UsuarioRecovery();
                nuevo.username = usuario;               

                db.UsuarioRecovery.Add(nuevo);
                await db.SaveChangesAsync();


                var body = "<p>Hola: {0} pulse en el vínculo siguiente para recuperar la contraseña. <a href=\"{1}\" > Recuperar</a></p>";
                string vinculo = "http://ree.rauroszm.com/Acceso/Recovery/"+nuevo.id;
                var message = new MailMessage();
                message.To.Add(new MailAddress(user.email));  // replace with valid value 
                message.From = new MailAddress("*****@*****.**");  // replace with valid value
                message.Subject = "Recuperar contraseña.";
                message.Body = string.Format(body, user.nombre + " " + user.apellido1, vinculo);
                message.IsBodyHtml = true;

                using (var smtp = new SmtpClient())
                {
                    var credential = new NetworkCredential
                    {
                        UserName = "******",  // replace with valid value
                        Password = "******"  // replace with valid value
                    };

                    smtp.Credentials = credential;
                    smtp.Host = ConfigurationManager.AppSettings["Host"];
                    smtp.Port = 25;
                    smtp.EnableSsl = false;
                    await smtp.SendMailAsync(message);

                    TempData["MensajeEnvioMail"] = "Se ha cambiado la contraseña correctamente al usuario." + user.UserName;
                    return RedirectToAction("Index");
                }

            }

            return View();
        }
Exemplo n.º 2
0
        public async Task<ActionResult> Nuevo([Bind(Include = "id,nombre,linea,ano_actual,acceso_coche,distancia_pie,o_acceso_coche,o_distancia_pie,lat,lon,tipo_cimentacion,referencia_catastral,observaciones,seguridad,suelo,tipo_foemp,num_cir,num_empalmes,a_mantenimiento,t_coordenadas,a_o_s,subCircuitos")] ApoyoForm apoyo)
        {
            if (ModelState.IsValid)
            {
                apoyo.id = Guid.NewGuid().ToString();
                if (apoyo.t_coordenadas == 1)
                {
                    Apoyo nuevo = new Apoyo();
                    Conexion db = new Conexion();
                    nuevo.id = apoyo.id;
                    nuevo.nombre = apoyo.nombre;
                    nuevo.linea = apoyo.linea;
                    nuevo.ano_construccion = int.Parse(apoyo.ano_actual);
                    nuevo.acceso_coche = apoyo.acceso_coche;
                    nuevo.o_acceso_coche = apoyo.o_acceso_coche;                   
                    nuevo.distancia_pie = apoyo.distancia_pie;
                    nuevo.o_distancia_pie = apoyo.o_distancia_pie;
                    nuevo.tipo_cimentacion = apoyo.tipo_cimentacion;
                    nuevo.referencia_catastral = apoyo.referencia_catastral;
                    nuevo.seguridad = apoyo.seguridad;
                    nuevo.num_empalmes = apoyo.num_empalmes;
                    nuevo.suelo = apoyo.suelo;
                    nuevo.observaciones = apoyo.observaciones;
                    nuevo.tipo_foemp = apoyo.tipo_foemp;
                    nuevo.a_mantenimiento = apoyo.a_mantenimiento;
                    nuevo.num_cir = apoyo.num_cir;
                    nuevo.ubicacion = System.Data.Entity.Spatial.DbGeometry.PointFromText(string.Format("POINT({0} {1})", apoyo.lat, apoyo.lon), 4326).AsBinary();

                    if (apoyo.a_o_s == "0")
                    {
                        nuevo.amarre = true;
                        nuevo.sustentacion = false;
                    }
                    else
                    {
                        nuevo.amarre = false;
                        nuevo.sustentacion = true;
                    }

                    db.Apoyo.Add(nuevo);
                    await db.SaveChangesAsync();
                }
                else 
                {                    
                    bool nuevoA = new Apoyo().Insertar_UTM(apoyo);                
                }
                Historial nuevoH = new Historial("Creó", User.Identity.GetUserId(), "Apoyo", apoyo.id, apoyo.nombre, Request.UserHostAddress);
                TempData["Mensaje"] = "Apoyo creado correctamente.";
                return RedirectToAction("Editar", "Apoyo", new {id= apoyo.id });
            }

            TempData["Mensaje"] = "Error al crear la Apoyo.";
            return View(apoyo);
        }
Exemplo n.º 3
0
         /// <summary>
         /// Método para actializar los medios de la Operación
         /// </summary>
         /// <param name="op_nuevo"></param>
         /// <param name="id"></param>
         /// <param name="ip"></param>
         /// <returns></returns>
         public async Task Actualizar(Operaciones_Medios_Subcontratados op_nuevo, string id, string ip)
         {
             using (var db = new Conexion())
             {
                 
                 //Eliminar las Subcontratas de esta Operación
                 List<Operaciones_Subcontratas> op_sub = db.Operaciones_Subcontratas.Where(m => m.operacion_id == op_nuevo.id).ToList();
                 db.Operaciones_Subcontratas.RemoveRange(op_sub);
                 await db.SaveChangesAsync();

                 //Elimino Medios de Tipo Personal
                 List<Operaciones_TipoPersonal> intro_opp = new List<Operaciones_TipoPersonal>();
                 intro_opp = db.Operaciones_TipoPersonal.Where(m => m.operacion == op_nuevo.id).ToList();
                 db.Operaciones_TipoPersonal.RemoveRange(intro_opp);
                 await db.SaveChangesAsync();

                 //Elimino Medios de Tipo Material
                 List<Operaciones_TipoMaterial> intro_opm = new List<Operaciones_TipoMaterial>();
                 intro_opm = db.Operaciones_TipoMaterial.Where(m => m.operacion == op_nuevo.id).ToList();
                 db.Operaciones_TipoMaterial.RemoveRange(intro_opm);
                 await db.SaveChangesAsync();

                 //Elimino Medios de Tipo Maquinaria
                 List<Operaciones_TipoMaquinaria> intro_opma = new List<Operaciones_TipoMaquinaria>();
                 intro_opma = db.Operaciones_TipoMaquinaria.Where(m => m.operacion == op_nuevo.id).ToList();
                 db.Operaciones_TipoMaquinaria.RemoveRange(intro_opma);
                 await db.SaveChangesAsync();



                 Operaciones_Subcontratas nuevo = new Operaciones_Subcontratas();

                 nuevo.cantidad = op_nuevo.coste_sub;
                 nuevo.operacion_id = op_nuevo.id;
                 nuevo.subcontrata_id = op_nuevo.subcontrata;
                 db.Operaciones_Subcontratas.Add(nuevo);
                 await db.SaveChangesAsync();


                 Operaciones operaciones = await db.Operaciones.FindAsync(op_nuevo.id);
                 operaciones.coste_total = op_nuevo.coste_sub;
                 operaciones.medios = "subcontratados";

                 db.Entry(operaciones).State = EntityState.Modified;
                 await db.SaveChangesAsync();

                 Historial historial = new Historial("Modificó Medio de Tipo Subcontrata", id, "usuario", ip);

             }
         }
Exemplo n.º 4
0
         /// <summary>
         /// Método para actializar los medios de la Operación
         /// </summary>
         /// <param name="op_nuevo"></param>
         /// <param name="id"></param>
         /// <param name="ip"></param>
         /// <returns></returns>
         public async Task Actualizar(Operaciones_Medios_Propios op_nuevo, string id, string ip)
         {
             using(var db = new Conexion()){

                 decimal coste_total = 0;

                 //Eliminar las Subcontratas de esta Operación
                 List<Operaciones_Subcontratas> op_sub = db.Operaciones_Subcontratas.Where(m => m.operacion_id == op_nuevo.id).ToList();
                 db.Operaciones_Subcontratas.RemoveRange(op_sub);
                 await db.SaveChangesAsync();

                 List<Operaciones_TipoPersonal> intro_opp = new List<Operaciones_TipoPersonal>();
                 intro_opp = db.Operaciones_TipoPersonal.Where(m=>m.operacion == op_nuevo.id).ToList();
                 db.Operaciones_TipoPersonal.RemoveRange(intro_opp);
                 db.SaveChanges();
                 intro_opp.Clear();

                 int posicion = 0;

                 foreach (int i in op_nuevo.c_personal)
                 {
                     if (i != 0)
                     {
                         Operaciones_TipoPersonal n_opp = new Operaciones_TipoPersonal();
                         n_opp.operacion = op_nuevo.id;
                         n_opp.tipo_personal = op_nuevo.lista_personal[posicion];
                         n_opp.cantidad = i;
                         intro_opp.Add(n_opp);

                         //Sumar el coste total de la operación
                        var t_p = db.Tipo_Personal.SingleOrDefault(m => m.id == n_opp.tipo_personal);
                         coste_total = coste_total + (t_p.coste * i) * op_nuevo.tiempo_ejecucion;

                     }
                     posicion++;
                 };

                 
                 db.Operaciones_TipoPersonal.AddRange(intro_opp);
                 await db.SaveChangesAsync();

                 Historial nuevo = new Historial("Modificó Tipos de Personal", id, "usuario", ip);

                 List<Operaciones_TipoMaterial> intro_opm = new List<Operaciones_TipoMaterial>();
                 intro_opm = db.Operaciones_TipoMaterial.Where(m => m.operacion == op_nuevo.id).ToList();
                 db.Operaciones_TipoMaterial.RemoveRange(intro_opm);
                 await db.SaveChangesAsync();
                 intro_opm.Clear();

                 posicion = 0;

                 foreach (int i in op_nuevo.c_material)
                 {

                     if (i != 0)
                     {

                         Operaciones_TipoMaterial n_opp = new Operaciones_TipoMaterial();
                         n_opp.operacion = op_nuevo.id;
                         n_opp.tipo_material = op_nuevo.lista_material[posicion];
                         n_opp.cantidad = i;
                         intro_opm.Add(n_opp);

                         //Sumar el coste total de la operación
                         var t_p = db.Tipo_Material.SingleOrDefault(m => m.id == n_opp.tipo_material);
                         coste_total = coste_total + t_p.coste * i;

                     }
                     posicion++;
                 };

                 db.Operaciones_TipoMaterial.AddRange(intro_opm);
                 await db.SaveChangesAsync();

                 Historial nuevo_material = new Historial("Modificó Tipos de Material", id, "usuario", ip);


                 List<Operaciones_TipoMaquinaria> intro_opma = new List<Operaciones_TipoMaquinaria>();
                 intro_opma = db.Operaciones_TipoMaquinaria.Where(m => m.operacion == op_nuevo.id).ToList();
                 db.Operaciones_TipoMaquinaria.RemoveRange(intro_opma);
                 await db.SaveChangesAsync();
                 intro_opma.Clear();

                 posicion = 0;

                 foreach (int i in op_nuevo.c_maquinaria)
                 {

                     if (i != 0)
                     {
                         Operaciones_TipoMaquinaria n_opp = new Operaciones_TipoMaquinaria();
                         n_opp.operacion = op_nuevo.id;
                         n_opp.tipo_maquinaria = op_nuevo.lista_maquinaria[posicion];
                         n_opp.cantidad = i;
                         intro_opma.Add(n_opp);

                         //Sumar el coste total de la operación
                         var t_p = db.Tipo_Maquinaria.SingleOrDefault(m => m.id == n_opp.tipo_maquinaria);
                         coste_total = coste_total + (t_p.coste * i)*op_nuevo.tiempo_ejecucion;
                     }
                     posicion++;
                 };

                 db.Operaciones_TipoMaquinaria.AddRange(intro_opma);
                 await db.SaveChangesAsync();
                 Historial nuevo_maquinarias = new Historial("Modificó Tipos de Maquinarias", id, "usuario", ip);


                 Operaciones operaciones = await db.Operaciones.FindAsync(op_nuevo.id);

                 operaciones.coste_total = coste_total;
                 operaciones.medios = "propios";

                 db.Entry(operaciones).State = EntityState.Modified;
                 await db.SaveChangesAsync();

             }     
         }
Exemplo n.º 5
0
        public async Task<ActionResult> Recovery(CambiarPassword model)
        {

            if (ModelState.IsValid)
            {
                var us = await UserManager.FindByNameAsync(model.username);
                var result = await UserManager.RemovePasswordAsync(us.Id);

                result = await UserManager.AddPasswordAsync(us.Id, model.Password);

                if (result.Succeeded)
                {
                    var user = await UserManager.FindByIdAsync(us.Id);
                    Historial nuevo = new Historial("Cambió Contraseña", us.Id, "usuario", us.Id, user.UserName, Request.UserHostAddress);

                    //Para Crearlo y automaticamente longuearlo
                    //await SignInAsync(user, isPersistent: false);
                    TempData["MensajeCambioContrasena"] = "Se ha cambiado la contraseña correctamente al usuario." + user.UserName;

                    Conexion db = new Conexion();
                    List<UsuarioRecovery> listaRecovery = db.UsuarioRecovery.Where(m => m.username == model.username).ToList();
                    db.UsuarioRecovery.RemoveRange(listaRecovery);
                    await db.SaveChangesAsync();
                    //Para Crearlo y automaticamente longuearlo
                    //await SignInAsync(user, isPersistent: false);
                    return RedirectToAction("Index","Acceso",new{returnUrl = "/"});
                }
                else
                {
                    AddErrors(result);
                }
            }

            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            TempData["Mensaje"] = "Error al cambiar la contraseña.";

            //Para Crearlo y automaticamente longuearlo
            //await SignInAsync(user, isPersistent: false);
            return RedirectToAction("Recovery", "Acceso", new { id = model.id });
        }
Exemplo n.º 6
0
        public async Task<string> EliminarFicheros(string idElemento,int elemento) {

            string id_retorno = "";

            switch (elemento)
            {
                case 1://Operaciones
                    using (Conexion db = new Conexion())
                    {
                        Operaciones_Documentos eliminar = db.Operaciones_Documentos.SingleOrDefault(m => m.id == idElemento);
                        db.Operaciones_Documentos.Remove(eliminar);
                        await db.SaveChangesAsync();
                        id_retorno = eliminar.operacion_id;

                        string ruta = string.Format("{0}OperacionesF\\{1}\\{2}\\{3}", System.Web.HttpContext.Current.Server.MapPath(@"\"), eliminar.operacion_id, eliminar.tipo_fichero, eliminar.nombre_fichero);

                        bool isExists = System.IO.Directory.Exists(ruta);

                        if (isExists)
                            System.IO.File.Delete(ruta);

                    }
                    break;
                case 2://Subestaciones
                    using (Conexion db = new Conexion())
                    {

                        Subestaciones_Documentos eliminar = db.Subestaciones_Documentos.SingleOrDefault(m => m.id == idElemento);
                        db.Subestaciones_Documentos.Remove(eliminar);
                        await db.SaveChangesAsync();
                        id_retorno = eliminar.subestacion_id;

                        string ruta = string.Format("{0}Elementos\\Subestaciones\\{1}\\Ficheros\\{2}", System.Web.HttpContext.Current.Server.MapPath(@"\"), eliminar.subestacion_id, eliminar.nombre_fichero);

                        bool isExists = System.IO.Directory.Exists(ruta);

                        if (!isExists)
                            System.IO.File.Delete(ruta);


                    }
                    break;
                case 3://Líneas
                    using (Conexion db = new Conexion())
                    {

                        Lineas_Documentos eliminar = db.Lineas_Documentos.SingleOrDefault(m => m.id == idElemento);
                        db.Lineas_Documentos.Remove(eliminar);
                        await db.SaveChangesAsync();
                        id_retorno = eliminar.linea_id;

                        string ruta = string.Format("{0}Elementos\\Lineas\\{1}\\Ficheros\\{2}", System.Web.HttpContext.Current.Server.MapPath(@"\"), eliminar.linea_id, eliminar.nombre_fichero);

                        bool isExists = System.IO.Directory.Exists(ruta);

                        if (!isExists)
                            System.IO.File.Delete(ruta);

                    }
                    break;
                case 4://Tipo_Cimentaciones
                    using (Conexion db = new Conexion())
                    {

                        TipoCimentaciones_Documentos eliminar = db.TipoCimentaciones_Documentos.SingleOrDefault(m => m.id == idElemento);
                        db.TipoCimentaciones_Documentos.Remove(eliminar);
                        await db.SaveChangesAsync();
                        id_retorno = eliminar.tipocimentacion_id;

                        string ruta = string.Format("{0}Elementos\\Tipo_Cimentaciones\\{1}\\Ficheros\\{2}", System.Web.HttpContext.Current.Server.MapPath(@"\"), eliminar.tipocimentacion_id, eliminar.nombre_fichero);

                        bool isExists = System.IO.Directory.Exists(ruta);

                        if (!isExists)
                            System.IO.File.Delete(ruta);


                    }
                    break;
                case 5://Apoyos
                    using (Conexion db = new Conexion())
                    {

                        Apoyo_Documentos eliminar = db.Apoyo_Documentos.SingleOrDefault(m => m.id == idElemento);
                        db.Apoyo_Documentos.Remove(eliminar);
                        await db.SaveChangesAsync();
                        id_retorno = eliminar.apoyo_id;

                        string ruta = string.Format("{0}Elementos\\Apoyos\\{1}\\Documentos\\{2}", System.Web.HttpContext.Current.Server.MapPath(@"\"), eliminar.apoyo_id, eliminar.nombre_fichero);

                        bool isExists = System.IO.Directory.Exists(ruta);

                        if (!isExists)
                            System.IO.File.Delete(ruta);
                    }
                    break;
                case 6://Imágenes de Inspecciones
                    using (Conexion db = new Conexion())
                    {
                        InspeccionesImagenes eliminar = db.InspeccionesImagenes.SingleOrDefault(m => m.id == idElemento);
                        db.InspeccionesImagenes.Remove(eliminar);
                        await db.SaveChangesAsync();
                        id_retorno = eliminar.id_tabla;

                        string ruta = string.Format("{0}Elementos\\Apoyos\\{1}\\Inspecciones\\{2}\\{3}{4}", System.Web.HttpContext.Current.Server.MapPath(@"\"), eliminar.url, eliminar.id_tabla,eliminar.id,".jpg");

                        bool isExists = System.IO.Directory.Exists(ruta);

                        if (!isExists)
                            System.IO.File.Delete(ruta);
                    }
                    break;
                case 7://Zonas
                    using (Conexion db = new Conexion())
                    {
                        Zonas_Documentos eliminar = db.Zonas_Documentos.SingleOrDefault(m => m.id == idElemento);
                        db.Zonas_Documentos.Remove(eliminar);
                        await db.SaveChangesAsync();
                        id_retorno = eliminar.zona_id;

                        string ruta = string.Format("{0}Elementos\\Zonas\\{1}\\Ficheros\\{2}", System.Web.HttpContext.Current.Server.MapPath(@"\"), eliminar.zona_id, eliminar.nombre);

                        bool isExists = System.IO.Directory.Exists(ruta);

                        if (!isExists)
                            System.IO.File.Delete(ruta);
                    }
                    break;
                case 8://Incidencias
                    using (Conexion db = new Conexion())
                    {
                        Incidencias_Documentos eliminar = db.Incidencias_Documentos.SingleOrDefault(m => m.id == idElemento);
                        db.Incidencias_Documentos.Remove(eliminar);
                        await db.SaveChangesAsync();
                        id_retorno = eliminar.incidencia_id;

                        string ruta = string.Format("{0}Elementos\\Incidencias\\{1}\\Ficheros\\{2}", System.Web.HttpContext.Current.Server.MapPath(@"\"), eliminar.incidencia_id, eliminar.nombre_fichero);

                        bool isExists = System.IO.Directory.Exists(ruta);

                        if (!isExists)
                            System.IO.File.Delete(ruta);
                    }
                    break;
                default:
                    Console.WriteLine("Default case");
                    break;
            }








            return id_retorno;
        }
Exemplo n.º 7
0
        public async Task SubirImagenesInspecciones(HttpFileCollectionBase listaFicheros, string idInspeccion, string idApoyo, string tipoImagen)
        {
            string fName = "";
            foreach (string fileName in listaFicheros)
            {
                HttpPostedFileBase file = listaFicheros[fileName];
                //Save file content goes here
                fName = file.FileName;
                if (file != null && file.ContentLength > 0)
                {
                    try {

                        using (Conexion db = new Conexion())
                        {

                            InspeccionesImagenes imagenes = new InspeccionesImagenes();
                            imagenes.id_tabla = idInspeccion;
                            imagenes.id_tipo = tipoImagen;
                            imagenes.url = idApoyo;
                            imagenes.nombre_foto = db.InspeccionesTipoFoto.SingleOrDefault(m => m.id == tipoImagen).nombre;
                            imagenes.descripcion = "No hay descripción de imagen.";

                            db.InspeccionesImagenes.Add(imagenes);
                            await db.SaveChangesAsync();
                        


                        var originalDirectory = new DirectoryInfo(string.Format("{0}Elementos\\Apoyos\\{1}\\Inspecciones", System.Web.HttpContext.Current.Server.MapPath(@"\"), idApoyo));

                        string pathString = System.IO.Path.Combine(originalDirectory.ToString(), idInspeccion);

                        bool isExists = System.IO.Directory.Exists(pathString);

                        if (!isExists)
                            System.IO.Directory.CreateDirectory(pathString);

                        var path = string.Format("{0}\\{1}", pathString, imagenes.id);
                     
                        file.SaveAs(path+".jpg");
                        }
                    
                    }


                    catch (Exception e)
                    { 
                    

                    }


                }

            }

        }
Exemplo n.º 8
0
        public async Task SubirFicheros(HttpFileCollectionBase listaFicheros,string idElemento,string dir,string dirFinal,int elemento)
        {
            string fName = "";
            foreach (string fileName in listaFicheros)
            {
                HttpPostedFileBase file = listaFicheros[fileName];
                //Save file content goes here
                fName = file.FileName;
                if (file != null && file.ContentLength > 0)
                {         
                    switch (elemento)
                    {
                        case 1://Operaciones
                            using (Conexion db = new Conexion())
                            {

                                Operaciones_Documentos nuevo = new Operaciones_Documentos();
                                nuevo.nombre_fichero = file.FileName.ToString().Replace(' ', '_');
                                nuevo.operacion_id = idElemento;
                                nuevo.tipo_fichero = dirFinal;

                                db.Operaciones_Documentos.Add(nuevo);
                                await db.SaveChangesAsync();
                            }
                            break;
                        case 2://Subestaciones
                            using (Conexion db = new Conexion())
                            {

                                Subestaciones_Documentos nuevo = new Subestaciones_Documentos();
                                nuevo.nombre_fichero = file.FileName.ToString().Replace(' ', '_');
                                nuevo.subestacion_id = idElemento;
                                nuevo.tipo_fichero = dirFinal;

                                db.Subestaciones_Documentos.Add(nuevo);
                                await db.SaveChangesAsync();
                            }
                            break;
                        case 3://Subestaciones
                            using (Conexion db = new Conexion())
                            {

                                Lineas_Documentos nuevo = new Lineas_Documentos();
                                nuevo.nombre_fichero = file.FileName.ToString().Replace(' ', '_');
                                nuevo.linea_id = idElemento;
                                nuevo.tipo_fichero = dirFinal;

                                db.Lineas_Documentos.Add(nuevo);
                                await db.SaveChangesAsync();
                            }

                            break;
                        case 4://Tipo_Cimentaciones
                            using (Conexion db = new Conexion())
                            {

                                TipoCimentaciones_Documentos nuevo = new TipoCimentaciones_Documentos();
                                nuevo.nombre_fichero = file.FileName.ToString().Replace(' ', '_');
                                nuevo.tipocimentacion_id = idElemento;
                                nuevo.tipo_fichero = dirFinal;

                                db.TipoCimentaciones_Documentos.Add(nuevo);
                                await db.SaveChangesAsync();
                            }

                            break;
                        case 5://Apoyos
                            using (Conexion db = new Conexion())
                            {
                                Apoyo_Documentos nuevo = new Apoyo_Documentos();
                                nuevo.nombre_fichero = file.FileName.ToString().Replace(' ', '_');
                                nuevo.apoyo_id = idElemento;
                                nuevo.tipo_fichero = dirFinal;

                                db.Apoyo_Documentos.Add(nuevo);
                                await db.SaveChangesAsync();
                            }

                            break;
                        case 6://Zonas
                            using (Conexion db = new Conexion())
                            {
                                Zonas_Documentos nuevo = new Zonas_Documentos();
                                nuevo.nombre = file.FileName.ToString().Replace(' ', '_');
                                nuevo.zona_id = idElemento;
                                nuevo.tipo_documento = dirFinal;

                                db.Zonas_Documentos.Add(nuevo);
                                await db.SaveChangesAsync();
                            }
                            break;
                        case 7://Inicidencias
                            using (Conexion db = new Conexion())
                            {
                                Incidencias_Documentos nuevo = new Incidencias_Documentos();
                                nuevo.nombre_fichero = file.FileName.ToString().Replace(' ', '_');
                                nuevo.incidencia_id = idElemento;
                                nuevo.tipo_fichero = dirFinal;

                                db.Incidencias_Documentos.Add(nuevo);
                                await db.SaveChangesAsync();
                            }
                            break;
                        default:
                            Console.WriteLine("Default case");
                            break;
                    }

                    var originalDirectory = new DirectoryInfo(string.Format("{0}Elementos\\{1}\\{2}", System.Web.HttpContext.Current.Server.MapPath(@"\"), dir, idElemento));

                    string pathString = System.IO.Path.Combine(originalDirectory.ToString(), dirFinal);

                    bool isExists = System.IO.Directory.Exists(pathString);

                    if (!isExists)
                        System.IO.Directory.CreateDirectory(pathString);

                    var path = string.Format("{0}\\{1}", pathString, file.FileName.ToString().Replace(' ', '_'));
                    file.SaveAs(path);
                }

            }

        }