Example #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Nome")] TipoObra tipoObra)
        {
            if (id != tipoObra.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(tipoObra);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TipoObraExists(tipoObra.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(tipoObra));
        }
        public ActionResult EliminarConfirmado(Guid id)
        {
            string btnValue = Request.Form["accionx"];

            TipoObra tipoObra = db.TipoObras.Find(id);

            switch (btnValue)
            {
            case "deshabilitar":
                tipoObra.Status          = false;
                db.Entry(tipoObra).State = EntityState.Modified;
                db.SaveChanges();
                AlertaDefault(string.Format("Se deshabilito <b>{0}</b>", tipoObra.Nombre), true);
                break;

            case "eliminar":
                db.TipoObras.Remove(tipoObra);
                db.SaveChanges();
                AlertaDanger(string.Format("Se elimino <b>{0}</b>", tipoObra.Nombre), true);
                break;

            default:
                AlertaDanger(string.Format("Ocurrio un error."), true);
                break;
            }


            string url = Url.Action("Lista", "TipoObra");

            return(Json(new { success = true, url = url }));
        }
        public ActionResult Editar([Bind(Include = "TipoObraID,Nombre,Descripcion,Status,Temp")] TipoObra tipoObra)
        {
            //revalidar el nombre
            var tp = db.TipoObras.Select(a => new { a.TipoObraID, a.Nombre }).SingleOrDefault(a => a.Nombre == tipoObra.Nombre);

            if (tp != null)
            {
                if (tp.TipoObraID != tipoObra.TipoObraID)
                {
                    ModelState.AddModelError("Nombre", "Nombre ya existe.");
                }
            }


            if (ModelState.IsValid)
            {
                db.Entry(tipoObra).State = EntityState.Modified;
                db.SaveChanges();

                AlertaInfo(string.Format("Tipo de Obra: <b>{0}</b> se editó.", tipoObra.Nombre), true);
                string url = Url.Action("Lista", "TipoObra");
                return(Json(new { success = true, url = url }));
            }

            return(PartialView("_Editar", tipoObra));
        }
        public ActionResult Crear()
        {
            var tipoObra = new TipoObra()
            {
                Status = true
            };

            return(PartialView("_Crear", tipoObra));
        }
        public ActionResult Crear(Guid?id, bool principal = false)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TipoPieza tp = new TipoPieza();

            if (principal)
            {
                //id = TipoObraID
                TipoObra tipoObra = db.TipoObras.Find(id);
                if (tipoObra == null)
                {
                    return(HttpNotFound());
                }
                tp.Prefijo     = "A";
                tp.TipoObraID  = tipoObra.TipoObraID;
                tp.Orden       = tipoObra.TipoPiezas.Where(a => a.EsPrincipal).Count() + 1;
                tp.Status      = true;
                tp.EsPrincipal = true;
            }
            else
            {
                //id = TipoPiezaPadreID
                TipoPieza tipoPiezaPadre = db.TipoPiezas.Find(id);
                if (tipoPiezaPadre == null)
                {
                    return(HttpNotFound());
                }


                tp.Orden = tipoPiezaPadre.TipoPiezasHijas.Count;

                if (tp.Orden > 0)
                {
                    string ultimaLetra = tipoPiezaPadre.TipoPiezasHijas.Select(a => a.Prefijo).OrderByDescending(a => a).FirstOrDefault();
                    tp.Prefijo = IncrementarLetra(ultimaLetra);
                    tp.Orden++;
                }
                else
                {
                    tp.Orden   = 1;
                    tp.Prefijo = "A";
                }

                tp.TipoObraID       = tipoPiezaPadre.TipoObraID;
                tp.TipoPiezaPadreID = tipoPiezaPadre.TipoPiezaID;
                tp.Status           = true;
                tp.EsPrincipal      = false;
            }

            return(PartialView("_Crear", tp));
        }
Example #6
0
        public async Task <IActionResult> Create([Bind("Id,Nome")] TipoObra tipoObra)
        {
            if (ModelState.IsValid)
            {
                _context.Add(tipoObra);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(tipoObra));
        }
        public ActionResult Eliminar(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TipoObra tipoObra = db.TipoObras.Find(id);

            if (tipoObra == null)
            {
                return(HttpNotFound());
            }
            return(PartialView("_Eliminar", tipoObra));
        }
        public ActionResult Detalles(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TipoObra tipoObra = db.TipoObras.Find(id);

            if (tipoObra == null)
            {
                return(HttpNotFound());
            }

            return(View(tipoObra));
        }
        public ActionResult Crear([Bind(Include = "TipoObraID,Nombre,Descripcion,Status,Temp")] TipoObra tipoObra)
        {
            //revalidar el nombre
            if (db.TipoObras.FirstOrDefault(a => a.Nombre == tipoObra.Nombre) != null)
            {
                ModelState.AddModelError("Nombre", "Nombre ya existe.");
            }

            if (ModelState.IsValid)
            {
                tipoObra.TipoObraID = Guid.NewGuid();
                db.TipoObras.Add(tipoObra);
                db.SaveChanges();

                AlertaSuccess(string.Format("Tipo de Obra: <b>{0}</b> creada.", tipoObra.Nombre), true);

                //Crear la pieza Maestra

                TipoPieza tipoPieza = new TipoPieza()
                {
                    TipoPiezaID = Guid.NewGuid(),
                    TipoObraID  = tipoObra.TipoObraID,
                    Nombre      = "Principal",
                    Prefijo     = "A",
                    Orden       = 1,
                    Descripcion = "Pieza principal de la Obra",
                    EsPrincipal = true,
                    Status      = true
                };

                db.TipoPiezas.Add(tipoPieza);
                db.SaveChanges();

                AlertaSuccess(string.Format("Tipo de Pieza : <b>{0}</b> creada.", tipoPieza.Nombre), true);

                string url = Url.Action("Lista", "TipoObra");
                return(Json(new { success = true, url = url }));
            }

            return(PartialView("_Crear", tipoObra));
        }
        public ActionResult Lista(Guid?id, bool esRoot = false)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            //id = TipoPiezaID
            IEnumerable <TipoPieza> lista = null;

            if (esRoot)
            {
                TipoObra tipoObra = db.TipoObras.Find(id);
                if (tipoObra == null)
                {
                    return(HttpNotFound());
                }

                lista = tipoObra.TipoPiezas.Where(a => a.EsPrincipal).OrderBy(a => a.Orden);
            }
            else
            {
                TipoPieza tipoPiezaPadre = db.TipoPiezas.Find(id);
                if (tipoPiezaPadre == null)
                {
                    return(HttpNotFound());
                }

                lista = tipoPiezaPadre.TipoPiezasHijas.OrderBy(a => a.Orden);

                ViewBag.nombre = tipoPiezaPadre.Nombre;
            }


            ViewBag.totalRegistros = lista.Count();
            ViewBag.id             = id;
            ViewBag.root           = esRoot;


            return(PartialView("_Lista", lista.ToList()));
        }
        // GET: TipoPieza/Crear
        public ActionResult Crear(Guid?id, bool principal = false)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TipoPieza tp = new TipoPieza();

            if (principal)
            {
                //id = TipoObraID
                TipoObra tipoObra = db.TipoObras.Find(id);
                if (tipoObra == null)
                {
                    return(HttpNotFound());
                }

                tp.TipoObraID  = tipoObra.TipoObraID;
                tp.Orden       = tipoObra.TipoPiezas.Where(a => a.EsPrincipal).Count() + 1;
                tp.Status      = true;
                tp.EsPrincipal = true;
            }
            else
            {
                //id = TipoPiezaPadreID
                TipoPieza tipoPiezaPadre = db.TipoPiezas.Find(id);
                if (tipoPiezaPadre == null)
                {
                    return(HttpNotFound());
                }

                tp.TipoObraID       = tipoPiezaPadre.TipoObraID;
                tp.Orden            = tipoPiezaPadre.TipoPiezasHijas.Count + 1;
                tp.TipoPiezaPadreID = tipoPiezaPadre.TipoPiezaID;
                tp.Status           = true;
                tp.EsPrincipal      = false;
            }

            return(PartialView("_Crear", tp));
        }
        public ActionResult ListaSelect(Guid?id, bool esRoot = false)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            //id = TipoPiezaID
            IEnumerable <TipoPieza> lista = null;

            if (esRoot)
            {
                TipoObra tipoObra = db.TipoObras.Find(id);
                if (tipoObra == null)
                {
                    return(HttpNotFound());
                }

                lista = tipoObra.TipoPiezas.Where(a => a.EsPrincipal && a.Status && a.TipoPiezaPadreID == null).OrderBy(a => a.Nombre);
            }
            else
            {
                TipoPieza tipoPiezaPadre = db.TipoPiezas.Find(id);

                if (tipoPiezaPadre == null)
                {
                    return(HttpNotFound());
                }

                lista = tipoPiezaPadre.TipoPiezasHijas.Where(a => a.Status).OrderBy(a => a.Nombre);
            }


            ViewBag.totalRegistros = lista.Count();

            ViewBag.TipoPiezaID = new SelectList(lista.Select(a => new { a.TipoPiezaID, Nombre = a.Nombre + " - " + a.Descripcion }).ToList(), "TipoPiezaID", "Nombre");


            return(PartialView("_Registro_inputSelect"));
        }
Example #13
0
 public void salva(TipoObra tipo)
 {
 }
 public void cadastrarTiposObra(TipoObra tipo)
 {
 }
        public ActionResult IniciarMigracion()
        {
            int NumFol = 0; //ultima registrada

            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}]", "ArchivoFondo");
                SqlCommand    sql1     = new SqlCommand(textSql1, con1);
                SqlDataReader leer1    = sql1.ExecuteReader();

                List <RowArchivo> listaArchivoCEHM = new List <RowArchivo>();

                int i = NumFol;

                while (leer1.Read())
                {
                    i++;
                    var rowArchivo = new RowArchivo()
                    {
                        ArchivoID       = Convert.ToInt32(i),
                        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? "" + row.Caja : "";
                                        cajaOk     = addOK;
                                        addOK      = row.Carpeta == null || row.Carpeta == "" ? false : true;
                                        valorText += cajaOk && addOK? " / " : "";
                                        valorText += addOK ? "" + 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? "" + row.Fojas : "";
                                        fojaOk     = addOK;
                                        addOK      = row.Documento == null || row.Documento == "" ? false : true;
                                        valorText += fojaOk && addOK? " / " : "";
                                        valorText += addOK ? "" + 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());
        }
Example #16
0
 public List buscarObraPorTipo(TipoObra tipo)
 {
     return(null);
 }