public ActionResult AgregarValor(string valor, bool aceptar) { if (aceptar) { if (valor != null || valor != "") { var lista = db.Autores.Where(a => a.Nombre == valor).ToList(); if (lista.Count == 0) { Autor autor = new Autor() { Nombre = valor, Status = true, }; db.Autores.Add(autor); db.SaveChanges(); AlertaSuccess(string.Format("Autor: <b>{0}, {1}</b> se agregó con exitó.", autor.Nombre, autor.Apellido), true); return Json(new { success = true, valor = autor.AutorID, texto = autor.Nombre }); } else { AlertaSuccess(string.Format("Autor: <b>{0}, {1}</b> se agregó con exitó.", lista.FirstOrDefault().Nombre, lista.FirstOrDefault().Apellido), true); return Json(new { success = true, valor = lista.FirstOrDefault().AutorID, texto = lista.FirstOrDefault().Nombre }); } } } return Json(new { success = false }); }
//IMPORTAR AUTOR public ActionResult ImportarCat_Autor() { ViewBag.NombreTabla = "CATALOGO DE AUTORES"; ViewBag.error = ""; try { //abrir conexion con1.Open(); // mandar mensaje de conexcion ViewBag.mensaje = "Conexión establecida"; //revisar el contador de registros if (db.Autores.ToList().Count > 0) { //si hay por lo menos un registro ya se ocupo la tabla ViewBag.error = "error"; } else { //definir el sql string textSql = string.Format("SELECT * FROM [catAutores]"); SqlCommand sql = new SqlCommand(textSql, con1); //ejecutar el sql SqlDataReader leer = sql.ExecuteReader(); //realizar el foreach while (leer.Read()) { //definir el tipo de tabla Autor autor = new Autor(); //llenar el registro con los valores viejos autor.Nombre = leer["Autor_Descripcion"].ToString(); autor.LugarNacimiento = leer["Autor_LugarNacimiento"].ToString(); autor.AnioNacimiento = leer["Autor_AnioNacimiento"].ToString(); autor.LugarMuerte = leer["Autor_LugarMuerte"].ToString(); autor.AnioMuerte = leer["Autor_AnioMuerte"].ToString(); autor.Observaciones = leer["Autor_Observaciones"].ToString(); autor.Status = Convert.ToBoolean(leer["Autor_Estatus"]); autor.AntID = leer["Autor_Clave"].ToString(); db.Autores.Add(autor); db.SaveChanges(); } var lista = db.Autores.ToList(); ViewBag.TotalRegistros = lista.Count; return PartialView("_ImportarCat_Autor", lista); } } catch (Exception) { ViewBag.mensaje = "Conexión fallida"; } return PartialView("_ImportarCat_Autor"); }
// GET: Autor/Crear public ActionResult Crear(bool EsRegistroObra = false) { var autor = new Autor() { Status = true }; ViewBag.EsRegistroObra = EsRegistroObra; return PartialView("_Crear", autor); }
//IMPORTAR PIEZA DESCRIPTIVO public ActionResult ImportarPieza_Descriptivo() { /* * * AutorPieza Autor_Clave * generico titulo * generico_L EscArtistica_Clave * generico_L FormaAdquisicion_Clave * generico_L Procedencia_Clave * generico_L FiliacionEstilistica_Clave * generico_L CasaComercial_Clave * generico_L EdoConservacion_Clave * generico descripcion * generico grafica * generico otros_materiales * generico catalogo * generico numero_catalogo * generico palabra_clave * generico palabra_clave * generico numero_registro * generico titulo_ori * generico Procedencia * * * * * * ------------ IMPLEMENTAR INDEPENDIENTES -------------- * * ???????? cve_marco * * ImagenPieza m_pieza_foto * * ColeccionGibranPieza ClassColeccion_Clave * TecnicaMarco MTecnicaMarco_Clave * Médidas m_pieza_dimensiones * * * CatalogoPieza m_cats * ExposicionPieza m_guion_det * TecnicaPieza MatriculaTecnica_Clave * MatriculaPieza Matricula_Clave */ // Inicia el contador: Stopwatch tiempo = Stopwatch.StartNew(); var tAtt_Autor = db.TipoAtributos.SingleOrDefault(a => a.AntNombre == "Autor_Clave").TipoAtributoID; //TipoAtributo tAtt_Autor = db.TipoAtributos.SingleOrDefault(a => a.AntNombre == "Autor_Clave"); //TipoAtributo tAtt_Catalogo = db.TipoAtributos.Single(a => a.AntNombre == "Autor_Clave"); //TipoAtributo tAtt_Exposicion = db.TipoAtributos.Single(a => a.AntNombre == "Autor_Clave"); //TipoAtributo tAtt_Tecnica = db.TipoAtributos.Single(a => a.AntNombre == "Autor_Clave"); //TipoAtributo tAtt_Matricula = db.TipoAtributos.Single(a => a.AntNombre == "Autor_Clave"); // ViewBag.NombreTabla = "CATALOGO DE OBRAS - REGISTRO BASICO"; ViewBag.error = ""; try { // mandar mensaje de conexcion ViewBag.mensaje = "Conexión establecida"; //definir el sql var total = 500; var inicio = 2520; //colocar AntID no el ObraID var fin = inicio + total; var limite = 103475; while (fin <= limite) { con1.Open(); string textSql = string.Format("SELECT * FROM [m_pieza_descriptivo] WHERE [id_pieza] > {0} AND [id_pieza] <= {1}", inicio, fin); SqlCommand sql = new SqlCommand(textSql, con1); SqlDataReader leer = sql.ExecuteReader(); while (leer.Read()) { //Buscar que la Obra Exista string idPiezaText = leer["id_pieza"].ToString(); Obra obra = null; var xObra = db.Obras.Where(a => a.AntID == idPiezaText).Select(a => new { a.ObraID, a.AntID, a.Clave }); if (xObra.Count() > 0) { obra = new Obra() { ObraID = xObra.FirstOrDefault().ObraID, AntID = xObra.FirstOrDefault().AntID, Clave = xObra.FirstOrDefault().Clave }; } if (obra != null) { //traer la PiezaMaestra string claveText = obra.Clave + "-A"; Pieza piezaMaestra = null; var xPiezaMaestra = db.Piezas.Where(a => a.Clave == claveText && a.ObraID == obra.ObraID).Select(a => new { a.ObraID, a.PiezaID, a.Clave, a.TipoPiezaID }); if (xPiezaMaestra.Count() > 0) { piezaMaestra = new Pieza() { ObraID = xPiezaMaestra.FirstOrDefault().ObraID, PiezaID = xPiezaMaestra.FirstOrDefault().PiezaID, TipoPiezaID = xPiezaMaestra.FirstOrDefault().TipoPiezaID, Clave = xPiezaMaestra.FirstOrDefault().Clave }; } if (piezaMaestra != null) { // AUTOR_PIEZA ------------------------------------------------------------------------------------------------ // Autor_Clave ------------------------------------------------------------------------------------------------ string autorIDText = leer["Autor_Clave"].ToString(); Autor autor = null; var xAutor = db.Autores.Where(a => a.AntID == autorIDText).Select(a => new { a.AutorID }); if (xAutor.Count() > 0) { autor = new Autor() { AutorID = xAutor.FirstOrDefault().AutorID }; } //si autor == null o "0" no hacer nada if (autor != null) { //Buscar que exista Atributo con TipoPieza y TipoAtributo Atributo att = null; var xAtt = db.Atributos.Where(a => a.TipoAtributoID == tAtt_Autor && a.TipoPiezaID == piezaMaestra.TipoPiezaID).Select(a => new { a.AtributoID }); if (xAtt.Count() > 0) { att = new Atributo() { AtributoID = xAtt.FirstOrDefault().AtributoID }; } else { //no existe entonces crearlo att.TipoPiezaID = piezaMaestra.TipoPiezaID; att.TipoAtributoID = tAtt_Autor; att.NombreAlterno = null; att.Orden = 100; att.Status = true; att.Requerido = true; att.EnFichaBasica = true; db.Atributos.Add(att); db.SaveChanges(); } //comenzar creacion del AtributoPieza con valores null AtributoPieza attPiezaGenAutor = new AtributoPieza() { PiezaID = piezaMaestra.PiezaID, AtributoID = att.AtributoID, }; db.AtributoPiezas.Add(attPiezaGenAutor); AutorPieza autorPieza = new AutorPieza() { PiezaID = piezaMaestra.PiezaID, AutorID = autor.AutorID, Status = true }; db.AutorPiezas.Add(autorPieza); } // GENERICOS -------------------------------------------------------------------------------------------------- List<string> campos = new List<string>() { "titulo", "EscArtistica_Clave", "FormaAdquisicion_Clave", "Procedencia_Clave", "FiliacionEstilistica_Clave", "CasaComercial_Clave", "EdoConservacion_Clave", "descripcion", "otros_materiales", "catalogo", "numero_catalogo", "numero_registro", "titulo_ori", "Procedencia" }; foreach (var campoAnt in campos) { //buscar el tipo de atributo TipoAtributo tipoAttGen = null; var xTipoAttGen = db.TipoAtributos.Where(a => a.AntNombre == campoAnt).Select(a => new { a.EsLista, a.TipoAtributoID }); if (xTipoAttGen.Count() > 0) { tipoAttGen = new TipoAtributo() { EsLista = xTipoAttGen.FirstOrDefault().EsLista, TipoAtributoID = xTipoAttGen.FirstOrDefault().TipoAtributoID }; } if (tipoAttGen != null) { //Extraer el valor a buscar o guardar de la base vieja string valorCampo = leer[campoAnt].ToString(); //Validar el valor del campo bool todoOk = true; if (tipoAttGen.EsLista) { if (valorCampo == "0") { todoOk = false; } } else { if (valorCampo == "0" || valorCampo == "" || valorCampo == " " || valorCampo == "-" || valorCampo == " -" || valorCampo == "Pendiente por definir") { todoOk = false; } } //paso la validacion if (todoOk) { //Buscar que el Atributo Exista con TipoPieza y TipoAtributo Atributo attGen = null; var xAttGen = db.Atributos.Where(a => a.TipoAtributoID == tipoAttGen.TipoAtributoID && a.TipoPiezaID == piezaMaestra.TipoPiezaID).Select(a => new { a.AtributoID }); if (xAttGen.Count() > 0) { attGen = new Atributo() { AtributoID = xAttGen.FirstOrDefault().AtributoID }; } else { //si no existe entonces crearlo attGen = new Atributo() { TipoPiezaID = piezaMaestra.TipoPiezaID, TipoAtributoID = tipoAttGen.TipoAtributoID, Orden = 100, Status = true, Requerido = false, EnFichaBasica = false }; db.Atributos.Add(attGen); db.SaveChanges(); } //comenzar creacion del AtributoPieza con el valor extraido y validado AtributoPieza attPiezaGen = new AtributoPieza() { PiezaID = piezaMaestra.PiezaID, AtributoID = attGen.AtributoID, }; if (tipoAttGen.EsLista) { //buscar el valor en ListaValor en el tipo de atributo ListaValor listaValorGen = null; var xListaValorGen = db.ListaValores.Where(a => a.AntID == valorCampo && a.TipoAtributoID == tipoAttGen.TipoAtributoID).Select(a => new { a.ListaValorID }); if (xListaValorGen.Count() > 0) { listaValorGen = new ListaValor() { ListaValorID = xListaValorGen.FirstOrDefault().ListaValorID }; } if (listaValorGen != null) { attPiezaGen.ListaValorID = listaValorGen.ListaValorID; db.AtributoPiezas.Add(attPiezaGen); db.SaveChanges(); } } else { attPiezaGen.Valor = valorCampo; db.AtributoPiezas.Add(attPiezaGen); db.SaveChanges(); } } } else { ViewBag.error = "error"; ViewBag.mensaje = "No existe la Tipo de Atributo, intenta resolver el problema antes de continuar"; } } // ------------------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------------------ db.SaveChanges(); } else { ViewBag.error = "error"; ViewBag.mensaje = "No existe la PiezaMaestra, intenta resolver el problema antes de continuar"; } } else { ViewBag.error = "error"; ViewBag.mensaje = "No existe la Obra, intenta resolver el problema antes de continuar"; } } inicio = fin; fin = fin + total; con1.Close(); } // Para el contador e imprime el resultado: ViewBag.TiempoTotal = tiempo.Elapsed.TotalSeconds.ToString(); var lista = db.Piezas.ToList(); ViewBag.TotalRegistros = lista.Count; return PartialView("_ImportarPieza_Descriptivo", lista); } catch (Exception) { ViewBag.error = "error"; ViewBag.mensaje = "Conexión fallida"; } ViewBag.TiempoTotal = tiempo.Elapsed.TotalSeconds.ToString(); return PartialView("_ImportarPieza_Descriptivo"); }
public ActionResult Crear([Bind(Include = "PiezaID,AutorID")] AutorPieza autorPieza) { autorPieza.Status = true; //veridicar que CatalogoID NULL ó 0 if (autorPieza.AutorID == 0) { //si es NULL ó 0 //agregar valor de la busqueda a la tabla CATALOGO //extraer el ID y asignarlo a CATALOGOPIEZA //validar que BuscarDato no sea "" o NULL var text_BuscarDato = Request.Form["BuscarDato"].ToString(); if (!String.IsNullOrEmpty(text_BuscarDato)) { var a_existe = db.Autores.Where(a => a.Nombre == text_BuscarDato).ToList(); // si es repetido agregar su ID a CatalogoPieza if (a_existe.Count > 0) { //ya existe autorPieza.AutorID = a_existe.FirstOrDefault().AutorID; db.Entry(autorPieza).State = EntityState.Modified; } else { //no existe var autorNew = new Autor() { Nombre = text_BuscarDato, Status = true }; db.Autores.Add(autorNew); db.SaveChanges(); autorPieza.AutorID = autorNew.AutorID; db.AutorPiezas.Add(autorPieza); } db.SaveChanges(); //AlertaSuccess(string.Format("Catalogo: <b>{0}</b> se agrego con exitó.", catalogo.Nombre), true); string url = Url.Action("Lista", "AutorPieza", new { id = autorPieza.PiezaID }); return Json(new { success = true, url = url, modelo = "AutorPieza", lista = "lista", idPieza = autorPieza.PiezaID }); } } else { //no es NULL ó 0 //verificar que no exista ya el registro para la pieza var autPieza_existe = db.AutorPiezas.Where(a => a.PiezaID == autorPieza.PiezaID && a.AutorID == autorPieza.AutorID).ToList(); // si es repetido agregar su ID a CatalogoPieza if (autPieza_existe.Count <= 0) { //crear db.AutorPiezas.Add(autorPieza); db.SaveChanges(); } //AlertaSuccess(string.Format("Catalogo: <b>{0}</b> se agrego con exitó.", catalogo.Nombre), true); string url = Url.Action("Lista", "AutorPieza", new { id = autorPieza.PiezaID }); return Json(new { success = true, url = url, modelo = "AutorPieza", lista = "lista", idPieza = autorPieza.PiezaID }); } ViewBag.AutorID = new SelectList(db.Autores.Where(a => a.Status == true).OrderBy(a => a.Nombre), "AutorID", "Nombre", autorPieza.AutorID); return PartialView("_Crear", autorPieza); }
public ActionResult IniciarMigracion() { RecordFCSContext dbx = new RecordFCSContext(); int bloqueGuardar = 500; Guid TipoObraID = new Guid("375ead18-18db-4a8e-bfbf-7d55ee08ff80"); TipoObra tipoObra = dbx.TipoObras.Find(TipoObraID); Guid TipoPiezaID = new Guid("c84ed502-20d8-4691-9a17-2d739c2bf4da"); TipoPieza tipoPieza = tipoObra.TipoPiezas.FirstOrDefault(a => a.TipoPiezaID == TipoPiezaID); LetraFolio letra = dbx.LetraFolios.SingleOrDefault(a => a.Nombre == "A"); if (tipoObra != null && tipoPieza != null && letra != null) { //Extraer los atributos requeridos. var listaAttRegistro = tipoPieza.Atributos.Where(a => a.Status && a.MostrarAtributos.Any(b => b.TipoMostrar.Nombre == "Registro" && b.Status) && a.TipoAtributo.Status).OrderBy(a => a.Orden).ToList(); //extraer con1.Open(); string textSql1 = string.Format("SELECT * FROM [{0}]", "Archivo"); SqlCommand sql1 = new SqlCommand(textSql1, con1); SqlDataReader leer1 = sql1.ExecuteReader(); List<RowArchivo> listaArchivoCEHM = new List<RowArchivo>(); var i = 0; while (leer1.Read()) { i++; var rowArchivo = new RowArchivo() { ArchivoID = Convert.ToInt32(leer1["ArchivoID"]), Asunto1 = Regex.Replace(leer1["Asunto1"].ToString().Trim(), @"\s+", " "), Asunto2 = Regex.Replace(leer1["Asunto2"].ToString().Trim(), @"\s+", " "), Caja = Regex.Replace(leer1["Caja"].ToString().Trim(), @"\s+", " "), Carpeta = Regex.Replace(leer1["Carpeta"].ToString().Trim(), @"\s+", " "), Clasificacion = Regex.Replace(leer1["Clasificacion"].ToString().Trim(), @"\s+", " "), Documento = Regex.Replace(leer1["Documento"].ToString().Trim(), @"\s+", " "), FICHA_NO = Convert.ToInt32(leer1["FICHA_NO"]), Firmadopor = Regex.Replace(leer1["Firmadopor"].ToString().Trim(), @"\s+", " "), Fojas = Regex.Replace(leer1["Fojas"].ToString().Trim(), @"\s+", " "), Fondo = Regex.Replace(leer1["Fondo"].ToString().Trim(), @"\s+", " "), Legajo = Regex.Replace(leer1["Legajo"].ToString().Trim(), @"\s+", " "), LugaryFecha = Regex.Replace(leer1["LugaryFecha"].ToString().Trim(), @"\s+", " "), NoImag = Convert.ToInt32(leer1["NoImag"].ToString() == "" ? 0 : leer1["NoImag"]), Nombredelfondo = Regex.Replace(leer1["Nombredelfondo"].ToString().Trim(), @"\s+", " "), Tipodedocumento = Regex.Replace(leer1["Tipodedocumento"].ToString().Trim(), @"\s+", " "), URLFicha = Regex.Replace(leer1["URLFicha"].ToString().Trim(), @"\s+", " "), URLImagen = Regex.Replace(leer1["URLImagen"].ToString().Trim(), @"\s+", " "), Tema = Regex.Replace(leer1["Tema"].ToString().Trim(), @"\s+", " "), Dirigidoa = Regex.Replace(leer1["Dirigidoa"].ToString().Trim(), @"\s+", " ") }; if (rowArchivo.ArchivoID > 0) listaArchivoCEHM.Add(rowArchivo); } con1.Close(); leer1 = null; int numeroRow = 0; List<AtributoPieza> listaAdd_AttGen = new List<AtributoPieza>(); List<AutorPieza> listaAdd_AttAutor = new List<AutorPieza>(); foreach (var row in listaArchivoCEHM) { if(numeroRow == bloqueGuardar) { //guardar los atributos dbx.AtributoPiezas.AddRange(listaAdd_AttGen); dbx.AutorPiezas.AddRange(listaAdd_AttAutor); dbx.SaveChanges(); dbx.Dispose(); dbx = new RecordFCSContext(); dbx.Configuration.AutoDetectChangesEnabled = false; numeroRow = 0; listaAdd_AttAutor = new List<AutorPieza>(); listaAdd_AttGen = new List<AtributoPieza>(); } //tratar los att de la pieza var obra = new Obra() { ObraID = Guid.NewGuid(), FechaRegistro = DateTime.Now, TipoObraID = tipoObra.TipoObraID, LetraFolioID = letra.LetraFolioID, Status = false, NumeroFolio = row.ArchivoID }; dbx.Obras.Add(obra); //Crear pieza Pieza pieza = new Pieza() { PiezaID = Guid.NewGuid(), FechaRegistro = obra.FechaRegistro, ObraID = obra.ObraID, Status = false, PiezaPadreID = null, // null = Principal o Maestra TipoPiezaID = tipoPieza.TipoPiezaID, SubFolio = tipoPieza.Prefijo }; dbx.Piezas.Add(pieza); foreach (var att in listaAttRegistro) { var tipoAtt = att.TipoAtributo; if (tipoAtt.EsGenerico) { if (tipoAtt.EsLista) { /* * GENERICO LISTA * Fondo - Fondo_CEHM - Fondo * Colección - Coleccion_Clave - Nombredelfondo * Legajo - Legajo_CEHM - Legajo * Fecha de ejecución - FechaEjecucion_Clave - Fecha de ejecucion */ var addOK = true; string valorText = ""; switch (tipoAtt.Temp) { case "Fondo_CEHM": addOK = row.Fondo == null || row.Fondo == "" ? false : true; valorText = addOK ? row.Fondo : ""; break; case "Coleccion_Clave": addOK = row.Nombredelfondo == null || row.Nombredelfondo == "" ? false : true; valorText = addOK ? row.Nombredelfondo : ""; break; case "Legajo_CEHM": addOK = row.Legajo == null || row.Legajo == "" ? false : true; valorText = addOK ? row.Legajo : ""; break; case "FechaEjecucion_Clave": addOK = row.LugaryFecha == null || row.LugaryFecha == "" ? false : true; valorText = addOK ? row.LugaryFecha : ""; break; default: addOK = false; break; } if (addOK) { var listaValor = dbx.ListaValores.SingleOrDefault(a => a.TipoAtributoID == tipoAtt.TipoAtributoID && a.Valor == valorText); if (listaValor == null) { listaValor = new ListaValor() { ListaValorID = Guid.NewGuid(), Status = true, TipoAtributoID = tipoAtt.TipoAtributoID, Valor = valorText }; dbx.ListaValores.Add(listaValor); dbx.SaveChanges(); } listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, ListaValorID = listaValor.ListaValorID }); } } else { if (tipoAtt.EsMultipleValor) { /* * GENERICO TEXTO MULTIPLE * Descripción - descripcion * * * Se forma con : Asunto1, Asunto2, Tema */ var addOK = true; string valorText = ""; switch (tipoAtt.Temp) { case "descripcion": // Tema addOK = true; valorText = ""; addOK = row.Tema == null || row.Tema == "" ? false : true; valorText = addOK ? row.Tema : ""; if (addOK) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, Valor = valorText }); } // Asunto1 addOK = true; valorText = ""; addOK = row.Asunto1 == null || row.Asunto1 == "" ? false : true; valorText = addOK ? row.Asunto1 : ""; if (addOK) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, Valor = valorText }); } // Asunto2 addOK = true; valorText = ""; addOK = row.Asunto2 == null || row.Asunto2 == "" ? false : true; valorText = addOK ? row.Asunto2 : ""; if (addOK) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, Valor = valorText }); } break; default: addOK = false; break; } } else { /* * GENERICOS TEXTO * No ficha CEHM - NoFicha_CEHM * Clasificacion CEHM - Clasificacion_CEHM * No de caja o carpeta - NoCajaOCarpeta_Cehm * No de documento o fojas - NoDocFojas_CEHM * Título descriptivo - titulo * Enlace ficha - UrlFicha_CEHM * No de imagenes - NoImagen_CEHM * Enlace Imagenes - URLImagen_CEHM */ var addOK = true; string valorText = ""; switch (tipoAtt.Temp) { case "NoFicha_CEHM": addOK = row.FICHA_NO == 0 ? false : true; valorText = addOK ? row.FICHA_NO.ToString() : "0"; break; case "Clasificacion_CEHM": addOK = row.Clasificacion == null || row.Clasificacion == "" ? false : true; valorText = addOK ? row.Clasificacion : ""; break; case "NoCajaOCarpeta_Cehm": // se forma con: caja y carpeta // queda: Caja: 1 / Carpeta: 1 // queda: Caja: 1 // queda: Carpeta : 1 var cajaOk = false; addOK = row.Caja == null || row.Caja == "" ? false : true; valorText += addOK? "Caja: " + row.Caja : ""; cajaOk = addOK; addOK = row.Carpeta == null || row.Carpeta == "" ? false : true; valorText += cajaOk && addOK? " / " : ""; valorText += addOK ? "Carpeta: " + row.Carpeta : ""; addOK = addOK || cajaOk ? true : false; break; case "NoDocFojas_CEHM": // se forma con Fojas, Documento var fojaOk = false; addOK = row.Fojas == null || row.Fojas == "" ? false : true; valorText += addOK? "Fojas: " + row.Fojas : ""; fojaOk = addOK; addOK = row.Documento == null || row.Documento == "" ? false : true; valorText += fojaOk && addOK? " / " : ""; valorText += addOK ? "Documento: " + row.Documento : ""; addOK = addOK || fojaOk ? true : false; break; case "titulo": // Tipodedocumento, Dirigidoa var tipoDocOk = false; addOK = row.Tipodedocumento == null || row.Tipodedocumento == "" ? false : true; valorText += addOK? row.Tipodedocumento : ""; tipoDocOk = addOK; addOK = row.Dirigidoa == null || row.Dirigidoa == "" ? false : true; valorText += tipoDocOk && addOK ? " / " : ""; valorText += addOK ? row.Dirigidoa : ""; addOK = addOK || tipoDocOk ? true : false; break; case "UrlFicha_CEHM": addOK = row.URLFicha == null || row.URLFicha == "" ? false : true; valorText = addOK ? row.URLFicha : ""; break; case "NoImagen_CEHM": addOK = row.NoImag == 0 ? false : true; valorText = addOK ? row.NoImag.ToString() : "0"; addOK = true; break; case "URLImagen_CEHM": addOK = row.URLImagen == null || row.URLImagen == "" ? false : true; valorText = addOK ? row.URLImagen : ""; break; default: addOK = false; break; } if (addOK) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, Valor = valorText }); } } } } else { /* * AUTOR LISTA MULTIPLE * Firmado por */ var addOK = true; string valorText = ""; addOK = row.Firmadopor == null || row.Firmadopor == "" ? false : true; valorText = addOK ? row.Firmadopor : ""; if (addOK) { var autor = dbx.Autores.SingleOrDefault(a => a.Nombre == valorText); if (autor == null) { autor = new Autor() { AutorID = Guid.NewGuid(), Status = true, Nombre = valorText }; dbx.Autores.Add(autor); dbx.SaveChanges(); } listaAdd_AttAutor.Add(new AutorPieza() { AutorID = autor.AutorID, esPrincipal = true, PiezaID = pieza.PiezaID, Status = true, Prefijo = "Principal" }); } } } numeroRow++; } //guardar los atributos dbx.AtributoPiezas.AddRange(listaAdd_AttGen); dbx.AutorPiezas.AddRange(listaAdd_AttAutor); dbx.SaveChanges(); dbx.Dispose(); dbx = new RecordFCSContext(); dbx.Configuration.AutoDetectChangesEnabled = false; } return View(); }
public ActionResult Crear() { Autor autor = new Autor(); return PartialView("_Crear", autor); }