public ActionResult EliminarConfirmado(Guid id)
        {
            string btnValue = Request.Form["accionx"];

            TipoAtributo tipoAtributo = db.TipoAtributos.Find(id);

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

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

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


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

            return(Json(new { success = true, url = url }));
        }
Exemplo n.º 2
0
        public ActionResult Crear(Guid?id, bool EsRegistroObra = false)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TipoAtributo tipoatt = db.TipoAtributos.Find(id);

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

            ListaValor listaValor = new ListaValor()
            {
                Status         = true,
                TipoAtributoID = tipoatt.TipoAtributoID,
                TipoAtributo   = tipoatt
            };

            ViewBag.EsRegistroObra = EsRegistroObra;

            return(PartialView("_Crear", listaValor));
        }
        public ActionResult Editar(TipoAtributo tipoAtributo)
        {
            var ta = db.TipoAtributos.Select(a => new { a.TipoAtributoID, a.Nombre }).SingleOrDefault(a => a.Nombre == tipoAtributo.Nombre);


            if (ta != null)
            {
                if (ta.TipoAtributoID != tipoAtributo.TipoAtributoID)
                {
                    ModelState.AddModelError("Nombre", "Nombre ya existe.");
                }
            }



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


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

            return(PartialView("_Editar", tipoAtributo));
        }
Exemplo n.º 4
0
 public Atributos(int idCategoria, string nome, TipoAtributo tipo, int id = -1)
 {
     ID           = id;
     ID_Categoria = idCategoria;
     Nome         = nome;
     Tipo         = tipo;
 }
Exemplo n.º 5
0
        public ActionResult ListaString(Guid idTipoAtributo, string busqueda, bool exacta)
        {
            TempData["listaValores"] = null;
            List <string> lista = new List <string>();

            if (idTipoAtributo == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TipoAtributo tipoatt = db.TipoAtributos.Find(idTipoAtributo);

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


            if (tipoatt.EsLista)
            {
                List <ListaValor> listado;

                if (exacta)
                {
                    listado = tipoatt.ListaValores.Where(a => a.Valor == busqueda).OrderBy(b => b.Valor).Take(10).ToList();
                }
                else
                {
                    listado = tipoatt.ListaValores.Where(a => a.Valor.Contains(busqueda)).OrderBy(b => b.Valor).Take(10).ToList();
                }

                foreach (var item in listado)
                {
                    lista.Add(item.Valor);
                }
            }
            else
            {
                List <AtributoPieza> campos;

                if (exacta)
                {
                    campos = db.AtributoPiezas.Where(a => a.Valor == busqueda && a.Atributo.TipoAtributoID == tipoatt.TipoAtributoID).OrderBy(b => b.Valor).Take(10).ToList();
                }
                else
                {
                    campos = db.AtributoPiezas.Where(a => a.Valor.Contains(busqueda) && a.Atributo.TipoAtributoID == tipoatt.TipoAtributoID).OrderBy(b => b.Valor).Take(10).ToList();
                }

                foreach (var item in campos)
                {
                    lista.Add(item.Valor);
                }
            }

            TempData["listaValores"] = lista.ToList();

            return(RedirectToAction("RenderListaCoincidencias", "Buscador"));
        }
Exemplo n.º 6
0
        public ActionResult AgregarTipoAtributo(DatosTipoAtributoNuevo datos)
        {
            try
            {
                TipoAtributo ta = new TipoAtributo();
                ta.TipoAtributoID = datos.nombre;
                Debug.WriteLine("AgregarTipoAtributo::tipo de datos del tipo de atributo a agregar = " + datos.tipo);
                switch (datos.tipo)
                {
                case "INTEGER":
                    ta.tipodato = TipoDato.INTEGER;
                    break;

                case "DATE":
                    ta.tipodato = TipoDato.DATE;
                    break;

                case "BOOL":
                    ta.tipodato = TipoDato.BOOL;
                    break;

                case "STRING":
                    ta.tipodato = TipoDato.STRING;
                    break;

                case "FLOAT":
                    ta.tipodato = TipoDato.FLOAT;
                    break;

                case "BINARY":
                    ta.tipodato = TipoDato.BINARY;
                    break;
                }
                string idAdmin = User.Identity.GetUserName();
                List <AtributoSesion> atributos = idalTienda.ObtenerAtributosSesion(idAdmin);
                AtributoSesion        tienda    = null;
                foreach (AtributoSesion a in atributos)
                {
                    if (a.AtributoSesionID.Equals("tienda"))
                    {
                        tienda = a;
                        break;
                    }
                }
                List <Categoria> categorias = new List <Categoria>();
                Categoria        cat        = idalTienda.ObtenerCategoria(tienda.Datos, datos.categoria);
                categorias.Add(cat);
                //ta.categorias = categorias;
                idalTienda.AgregarTipoAtributo(ta, datos.categoria, tienda.Datos);
                var result = new { Success = "True", Message = "Se han guardado los datos generales correctamente" };
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
            catch (Exception e)
            {
                var result = new { Success = "False", Message = "Error al guardar los datos generales" };
                return(Json(result, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 7
0
        //--TIPO ATRIBUTO--
        public void AgregarTipoAtributo(TipoAtributo ta, long idCategoria, string idTienda)
        {
            try
            {
                chequearTienda(idTienda);
                using (var context = ChebayDBContext.CreateTenant(idTienda))
                {
                    var qTA = from tipoAtr in context.tipoatributos
                              where tipoAtr.TipoAtributoID == ta.TipoAtributoID
                              select tipoAtr;
                    TipoAtributo tipoA = qTA.FirstOrDefault();
                    if (tipoA == null)
                    {
                        var qCat = from c in context.categorias
                                   where c.CategoriaID == idCategoria
                                   select c;
                        Categoria cat = qCat.FirstOrDefault();
                        if (ta.categorias == null)
                        {
                            ta.categorias = new HashSet <Categoria>();
                        }
                        ta.categorias.Add(cat);

                        if (cat.tipoatributos == null)
                        {
                            cat.tipoatributos = new HashSet <TipoAtributo>();
                        }
                        cat.tipoatributos.Add(ta);
                        context.tipoatributos.Add(ta);
                    }

                    else //update
                    {
                        Debug.WriteLine("else");
                        tipoA.tipodato = ta.tipodato;

                        /*foreach (Categoria c in ta.categorias)
                         * {
                         *  if (c.tipoatributos == null)
                         *      c.tipoatributos = new HashSet<TipoAtributo>();
                         *  c.tipoatributos.Add(ta);
                         * }*/
                    }
                    context.SaveChanges();
                }
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
                throw e;
            }
        }
Exemplo n.º 8
0
        public ActionResult GenerarLista(Guid?id, string Filtro = "", string TipoLista = "option")
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TipoAtributo tipoatt = db.TipoAtributos.Find(id);

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

            List <ListaValor> lista = tipoatt.ListaValores.Select(a => a).Where(a => a.Status).ToList();

            switch (TipoLista)
            {
            case "Select":
            case "select":
            case "SELECT":

                if (!String.IsNullOrEmpty(Filtro))
                {
                    Filtro = Filtro.ToLower();
                    lista  = lista.Where(a => a.Valor.ToLower().Contains(Filtro)).ToList();
                }

                lista = lista.Select(a => new ListaValor()
                {
                    ListaValorID = a.ListaValorID, Valor = a.Valor, TipoAtributoID = a.TipoAtributoID
                }).OrderBy(a => a.Valor).ToList();

                ViewBag.ListaValorID = new SelectList(lista, "ListaValorID", "Valor");

                return(PartialView("_ListaSelect"));


            default:

                if (!String.IsNullOrEmpty(Filtro))
                {
                    Filtro = Filtro.ToLower();
                    lista  = lista.Where(a => a.Valor.ToLower().Contains(Filtro)).ToList();
                }


                var x = lista.Select(a => new { ListaValorID = a.ListaValorID, Valor = a.Valor }).OrderBy(a => a.Valor).ToList();

                return(Json(x, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 9
0
        public ActionResult EditarTipoAtributo([FromBody] TipoAtributo inputs)
        {
            try
            {
                _serv.EditarTipoAtributo(inputs);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest($"Ocorreu um erro ao editar o TipoAtributo {inputs.IdTipoAtributo}: {ex.Message}"));
            }
        }
Exemplo n.º 10
0
        public ActionResult Eliminar(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TipoAtributo tipoAtributo = db.TipoAtributos.Find(id);

            if (tipoAtributo == null)
            {
                return(HttpNotFound());
            }
            return(PartialView("_Eliminar", tipoAtributo));
        }
Exemplo n.º 11
0
        public ActionResult CriarTipoAtributo([FromBody] TipoAtributo inputs)
        {
            try
            {
                inputs.IdTipoAtributo = Guid.NewGuid();

                _serv.CriarTipoAtributo(inputs);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest($"Ocorreu um erro ao criar um novo TipoAtributo: {ex.Message}"));
            }
        }
Exemplo n.º 12
0
        public ActionResult Lista(Guid?id, string FiltroActual, string Busqueda, int?Pagina)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TipoAtributo tipoatt = db.TipoAtributos.Find(id);

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

            if (Busqueda != null)
            {
                Pagina = 1;
            }
            else
            {
                Busqueda = FiltroActual;
            }

            ViewBag.FiltroActual = Busqueda;

            var lista = tipoatt.ListaValores.Select(a => a);

            if (!String.IsNullOrEmpty(Busqueda))
            {
                Busqueda = Busqueda.ToLower();
                lista    = lista.Where(a => a.Valor.ToLower().Contains(Busqueda));
            }

            lista = lista.OrderBy(a => a.Valor);

            ViewBag.TipoAtributoID = tipoatt.TipoAtributoID;
            ViewBag.Nombre         = tipoatt.Nombre;

            //paginador
            int registrosPorPagina = 25;
            int pagActual          = 1;

            pagActual = Pagina.HasValue ? Convert.ToInt32(Pagina) : 1;

            IPagedList <ListaValor> listaPagina = lista.ToPagedList(pagActual, registrosPorPagina);

            return(PartialView("_Lista", listaPagina));
        }
Exemplo n.º 13
0
        public void AgregarTipoAtributo()
        {
            TipoAtributo ta = new TipoAtributo
            {
                TipoAtributoID = "Tamaño pantalla",
                tipodato       = TipoDato.STRING
            };

            it.AgregarTipoAtributo(ta, 3, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Otro TipoAtributo",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 2, urlTest);
        }
Exemplo n.º 14
0
        public ActionResult Crear(TipoAtributo tipoAtt)
        {
            //revalidar campo unico

            if (ModelState.IsValid)
            {
                tipoAtt.TipoAtributoID = Guid.NewGuid();
                db.TipoAtributos.Add(tipoAtt);
                db.SaveChanges();

                AlertaSuccess(string.Format("Tipo de Atributo: <b>{0}</b> creado.", tipoAtt.Nombre), true);

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

            return(PartialView("_Crear", tipoAtt));
        }
Exemplo n.º 15
0
        public ActionResult Crear()
        {
            //Valores default
            var tipoAtt = new TipoAtributo()
            {
                DatoCS          = "string",
                EsGenerico      = true,
                EnBuscador      = false,
                Orden           = db.TipoAtributos.Count() + 1,
                EsLista         = false,
                EsMultipleValor = false,
                PerteneceA      = "Pieza",
                TablaSQL        = "ListaValor",
                Status          = true
            };

            return(PartialView("_Crear", tipoAtt));
        }
Exemplo n.º 16
0
        public ActionResult Detalles(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TipoAtributo tipoAtributo = db.TipoAtributos.Find(id);

            if (tipoAtributo == null)
            {
                return(HttpNotFound());
            }
            if (!tipoAtributo.EsLista)
            {
                return(HttpNotFound());
            }



            return(View(tipoAtributo));
        }
Exemplo n.º 17
0
		/// <summary>
		/// Constrói um atributo normal de banco de dados.
		/// </summary>
		public DbAtributo()
		{
			tipo = TipoAtributo.Normal;
		}
 public void CriarTipoAtributo(TipoAtributo inputs)
 {
     _context.TipoAtributo.Add(inputs);
     _context.Commit();
 }
Exemplo n.º 19
0
        //Atributo
        public static int adicionarAtributo(int idCategoria, String nome, TipoAtributo tipo)
        {
            Atributos atributo = new Atributos(idCategoria, nome, tipo);

            return(conn.Insert(atributo));
        }
Exemplo n.º 20
0
		/// <summary>
		/// Constrói um atributo específico de banco de dados.
		/// </summary>
		/// <param name="tipo">Tipo de atributo.</param>
		public DbAtributo(TipoAtributo tipo)
		{
			this.tipo = tipo;
		}
Exemplo n.º 21
0
        public ActionResult GenerarCampoRegistro(Guid?id, Guid?AtributoID)
        {
            PartialViewResult _vista = null;

            if (id == null || AtributoID == null)
            {
                _vista = PartialView("_ErrorCampo");
            }

            TipoAtributo tipoAtt = db.TipoAtributos.Find(id);

            if (tipoAtt == null)
            {
                _vista = PartialView("_ErrorCampo");
            }



            if (tipoAtt.EsGenerico)
            {
                if (tipoAtt.EsLista)
                {
                    var lista = tipoAtt.ListaValores.Where(a => a.Status && !String.IsNullOrWhiteSpace(a.Valor)).OrderBy(a => a.Valor).Select(a => new { a.Valor, a.ListaValorID, a.TipoAtributoID }).ToList().Take(100);

                    ViewBag.ListaValorID = new SelectList(lista, "ListaValorID", "Valor");

                    _vista = PartialView("_GenericoLista");
                }
                else
                {
                    //_vista = PartialView("_GenericoCampo","AutorPieza");
                    _vista = PartialView("_GenericoCampo");
                }
            }
            else
            {
                switch (tipoAtt.TablaSQL)
                {
                case "Autor":
                    var listaAutores = db.Autores.Where(a => a.Status).OrderBy(a => a.Nombre).Select(a => new { Nombre = a.Nombre + " " + a.Apellido, a.AutorID }).ToList().Take(100);
                    ViewBag.AutorID = new SelectList(listaAutores, "AutorID", "Nombre");

                    _vista = PartialView("~/Views/AutorPieza/_CampoRegistro.cshtml");
                    break;

                case "Ubicacion":
                    var listaUbicaciones = db.Ubicaciones.Where(a => a.Status).OrderBy(a => a.Nombre).Select(a => new { Nombre = a.Nombre, a.UbicacionID }).ToList().Take(100);
                    ViewBag.UbicacionID = new SelectList(listaUbicaciones, "UbicacionID", "Nombre");

                    _vista = PartialView("~/Views/Ubicacion/_CampoRegistro.cshtml");
                    break;

                case "TipoTecnica":
                    var listaTipoTecnicas = db.TipoTecnicas.Where(a => a.Status).OrderBy(a => a.Nombre).Select(a => new { Nombre = a.Nombre, a.TipoTecnicaID }).ToList();
                    ViewBag.TipoTecnicaID = new SelectList(listaTipoTecnicas, "TipoTecnicaID", "Nombre");

                    _vista = PartialView("~/Views/Tecnica/_CampoRegistro.cshtml");
                    break;

                case "TipoMedida":
                    var listaTipoMedidas = db.TipoMedidas.Where(a => a.Status).OrderBy(a => a.Nombre).Select(a => new { a.Nombre, a.TipoMedidaID }).ToList();
                    var listaUML         = from UMLongitud e in Enum.GetValues(typeof(UMLongitud))
                                           select new { ID = e, Nombre = e.ToString() };

                    ViewBag.TipoMedidaID = new SelectList(listaTipoMedidas, "TipoMedidaID", "Nombre");
                    ViewData["id_" + AtributoID + "_UML"] = new SelectList(listaUML, "ID", "Nombre");

                    _vista = PartialView("~/Views/TipoMedida/_CampoRegistro.cshtml");
                    break;

                case "ImagenPieza":
                    _vista = PartialView("~/Views/ImagenPieza/_CampoRegistro.cshtml");
                    break;

                default:
                    _vista = PartialView("_ErrorCampo");
                    break;
                }
            }


            ViewBag.EsMultipleValor = tipoAtt.EsMultipleValor;
            ViewBag.AtributoID      = AtributoID;
            ViewBag.ParametrosHTML  = tipoAtt.HTMLParametros;
            ViewBag.TipoAtributoID  = tipoAtt.TipoAtributoID;
            ViewBag.NombreAtt       = tipoAtt.Nombre;

            switch (tipoAtt.DatoCS)
            {
            case "double":
            case "Double":
            case "int":
            case "float":
            case "int32":
            case "int64":
            case "decimal": ViewBag.TipoInput = "number"; break;

            case "date": ViewBag.TipoInput = "date"; break;

            case "time": ViewBag.TipoInput = "time"; break;

            case "datetime": ViewBag.TipoInput = "datetime"; break;

            case "datetime-local": ViewBag.TipoInput = "datetime-local"; break;

            case "month": ViewBag.TipoInput = "month"; break;

            case "week": ViewBag.TipoInput = "week"; break;

            case "color": ViewBag.TipoInput = "color"; break;

            case "email": ViewBag.TipoInput = "email"; break;

            case "url": ViewBag.TipoInput = "url"; break;

            case "tel": ViewBag.TipoInput = "tel"; break;

            case "range": ViewBag.TipoInput = "range"; break;

            default: ViewBag.TipoInput = "text"; break;
            }


            return(_vista);
        }
Exemplo n.º 22
0
        public ActionResult ReporteLista(Guid?tipoAtributoID, Guid?subID = null)
        {
            if (tipoAtributoID == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            TipoAtributo tipoAtt = db.TipoAtributos.Find(tipoAtributoID);

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

            List <ItemReporte>     lista             = new List <ItemReporte>();
            List <ItemObraReporte> listaObraSinCampo = new List <ItemObraReporte>();

            //total de piezas maestras con el atributo
            int totalPiezasObligatorias = db.Piezas.Where(a => a.TipoPieza.EsPrincipal && a.TipoPieza.Atributos.Any(b => b.TipoAtributoID == tipoAtt.TipoAtributoID)).Count();
            int subTotalPiezasConCampo  = 0; //piezas con campo + multiple

            int subTotalPiezasSinCampo = 0;  // piezas sin campo

            int subTotalPiezasMultiples = 0; // piezas multiples

            List <ItemReporte>     listaComprobarConRegistros = new List <ItemReporte>();
            List <ItemObraReporte> listaComprobarSinRegistros = new List <ItemObraReporte>();

            string subTitulo = "";

            var i = 0;

            if (tipoAtt.EsLista)
            {
                if (tipoAtt.EsGenerico)
                {
                    //PIEZAS CON ATRIBUTO
                    listaComprobarConRegistros = db.ListaValores.Where(a => a.TipoAtributoID == tipoAtt.TipoAtributoID && a.Status).Select(a => new ItemReporte()
                    {
                        Nombre = a.Valor, Cantidad = a.AtributoPiezas.Where(b => b.Pieza.TipoPieza.EsPrincipal && b.Pieza.TipoPieza.Atributos.Any(c => c.TipoAtributoID == tipoAtt.TipoAtributoID)).Count()
                    }).OrderBy(a => a.Nombre).ToList();
                    //PIEZAS FALTANTES DEL ATRIBUTO
                    // 0, sin definir
                    listaComprobarSinRegistros = db.Piezas.Where(a => a.TipoPieza.EsPrincipal && a.TipoPieza.Atributos.Any(b => b.TipoAtributoID == tipoAtt.TipoAtributoID) && a.AtributoPiezas.Where(c => c.Atributo.TipoAtributoID == tipoAtt.TipoAtributoID).Count() == 0).OrderBy(a => a.Obra.LetraFolio.Nombre).ThenBy(a => a.Obra.NumeroFolio).Select(a => new ItemObraReporte()
                    {
                        ObraID = a.ObraID, Clave = a.Obra.LetraFolio.Nombre + a.Obra.NumeroFolio, Titulo = a.AtributoPiezas.FirstOrDefault(b => b.Atributo.TipoAtributo.Temp == "titulo").Valor
                    }).ToList();
                }
                else
                {
                    //generar un switch por cada tabla que necesite un reporte
                    switch (tipoAtt.TablaSQL)
                    {
                    case "Autor":
                        //PIEZAS CON ATRIBUTO
                        listaComprobarConRegistros = db.Autores.Select(a => new ItemReporte()
                        {
                            Nombre = a.Nombre + " " + a.Apellido, Cantidad = a.AutorPiezas.Where(b => b.Pieza.TipoPieza.EsPrincipal && b.Pieza.TipoPieza.Atributos.Any(c => c.TipoAtributoID == tipoAtt.TipoAtributoID)).Count()
                        }).OrderBy(a => a.Nombre).ToList();
                        //PIEZAS FALTANTES DEL ATRIBUTO
                        // 0, sin definir
                        listaComprobarSinRegistros = db.Piezas.Where(a => a.TipoPieza.EsPrincipal && a.TipoPieza.Atributos.Any(b => b.TipoAtributoID == tipoAtt.TipoAtributoID && !a.AutorPiezas.Any(c => c.PiezaID == a.PiezaID))).OrderBy(a => a.Obra.LetraFolio.Nombre).ThenBy(a => a.Obra.NumeroFolio).Select(a => new ItemObraReporte()
                        {
                            ObraID = a.ObraID, Clave = a.Obra.LetraFolio.Nombre + a.Obra.NumeroFolio, Titulo = a.AtributoPiezas.FirstOrDefault(b => b.Atributo.TipoAtributo.Temp == "titulo").Valor
                        }).ToList();

                        break;

                    case "Ubicacion":
                        //PIEZAS CON ATRIBUTO
                        listaComprobarConRegistros = db.Ubicaciones.Select(a => new ItemReporte {
                            Nombre = a.Nombre, Cantidad = a.Piezas.Where(b => b.TipoPieza.EsPrincipal && b.TipoPieza.Atributos.Any(c => c.TipoAtributoID == tipoAtt.TipoAtributoID)).Count()
                        }).OrderBy(a => a.Nombre).ToList();
                        //PIEZAS FALTANTES DEL ATRIBUTO
                        // 0, sin definir
                        listaComprobarSinRegistros = db.Piezas.Where(a => a.TipoPieza.EsPrincipal && a.TipoPieza.Atributos.Any(b => b.TipoAtributoID == tipoAtt.TipoAtributoID) && a.UbicacionID == null).OrderBy(a => a.Obra.LetraFolio.Nombre).ThenBy(a => a.Obra.NumeroFolio).Select(a => new ItemObraReporte()
                        {
                            ObraID = a.ObraID, Clave = a.Obra.LetraFolio.Nombre + a.Obra.NumeroFolio, Titulo = a.AtributoPiezas.FirstOrDefault(b => b.Atributo.TipoAtributo.Temp == "titulo").Valor
                        }).ToList();

                        break;

                    case "TipoTecnica":
                        //subID
                        var tipoTecnica = db.TipoTecnicas.Find(subID);
                        if (tipoTecnica != null)
                        {
                            subTitulo = " " + tipoTecnica.Nombre;
                            //PIEZAS CON ATRIBUTO
                            listaComprobarConRegistros = tipoTecnica.Tecnicas.Select(a => new ItemReporte()
                            {
                                Nombre = a.Descripcion, Cantidad = a.TecnicaPiezas.Where(b => b.Pieza.TipoPieza.EsPrincipal && b.Pieza.TipoPieza.Atributos.Any(c => c.TipoAtributoID == tipoAtt.TipoAtributoID)).Count()
                            }).OrderBy(a => a.Nombre).ToList();
                            //PIEZAS FALTANTES DEL ATRIBUTO
                            // 0, sin definir
                            listaComprobarSinRegistros = db.Piezas.Where(a => a.TipoPieza.EsPrincipal && a.TipoPieza.Atributos.Any(b => b.TipoAtributoID == tipoAtt.TipoAtributoID) && !a.TecnicaPiezas.Any(c => c.PiezaID == a.PiezaID && c.TipoTecnicaID == tipoTecnica.TipoTecnicaID)).OrderBy(a => a.Obra.LetraFolio.Nombre).ThenBy(a => a.Obra.NumeroFolio).Select(a => new ItemObraReporte()
                            {
                                ObraID = a.ObraID, Clave = a.Obra.LetraFolio.Nombre + a.Obra.NumeroFolio, Titulo = a.AtributoPiezas.FirstOrDefault(b => b.Atributo.TipoAtributo.Temp == "titulo").Valor
                            }).ToList();
                        }
                        break;

                    case "TipoMedida":
                        //subID
                        var tipoMedida = db.TipoMedidas.Find(subID);
                        if (tipoMedida != null)
                        {
                            subTitulo = " " + tipoMedida.Nombre;
                            //PIEZAS CON ATRIBUTO
                            listaComprobarConRegistros.Add(new ItemReporte()
                            {
                                Nombre = tipoMedida.Nombre, Cantidad = tipoMedida.Medidas.Where(a => a.Pieza.TipoPieza.EsPrincipal && a.Pieza.TipoPieza.Atributos.Any(b => b.TipoAtributoID == tipoAtt.TipoAtributoID)).Count()
                            });
                            //PIEZAS FALTANTES DEL ATRIBUTO
                            // 0, sin definir
                            listaComprobarSinRegistros = db.Piezas.Where(a => a.TipoPieza.EsPrincipal && a.TipoPieza.Atributos.Any(b => b.TipoAtributoID == tipoAtt.TipoAtributoID) && !a.MedidaPiezas.Any(c => c.PiezaID == a.PiezaID && c.TipoMedidaID == tipoMedida.TipoMedidaID)).OrderBy(a => a.Obra.LetraFolio.Nombre).ThenBy(a => a.Obra.NumeroFolio).Select(a => new ItemObraReporte()
                            {
                                ObraID = a.ObraID, Clave = a.Obra.LetraFolio.Nombre + a.Obra.NumeroFolio, Titulo = a.AtributoPiezas.FirstOrDefault(b => b.Atributo.TipoAtributo.Temp == "titulo").Valor
                            }).ToList();
                        }
                        break;

                    default:
                        //Error
                        subTitulo = " - E R R O R -";
                        break;
                    }
                }
            }
            else
            {
                //No es lista
                //error
            }


            var total = 0;

            if (tipoAtt.TablaSQL == "TipoMedida" || tipoAtt.TablaSQL == "TipoTecnica")
            {
                total = listaComprobarConRegistros.Sum(a => a.Cantidad) + listaComprobarSinRegistros.Count();
            }
            else
            {
                total = listaComprobarConRegistros.Sum(a => a.Cantidad);
            }

            //PIEZAS CON ATRIBUTO
            foreach (var item in listaComprobarConRegistros)
            {
                if (item.Cantidad > 0)
                {
                    lista.Add(new ItemReporte()
                    {
                        Nombre     = item.Nombre,
                        Cantidad   = item.Cantidad,
                        Porcentaje = Math.Round((double)(item.Cantidad * 100) / total, 3)
                    });

                    subTotalPiezasConCampo += item.Cantidad;
                }
            }



            //PIEZAS FALTANTES DEL ATRIBUTO
            // 0, sin definir
            foreach (var item in listaComprobarSinRegistros)
            {
                if (i < 100)
                {
                    listaObraSinCampo.Add(new ItemObraReporte()
                    {
                        ObraID = item.ObraID,
                        Clave  = item.Clave,
                        Titulo = item.Titulo
                    });
                    i++;
                }

                subTotalPiezasSinCampo++;
            }

            //(1)totalPiezasObligatorias // 100
            //(2)subTotalPiezasConCampo // 80
            //(3)subTotalPiezasSinCampo // 30
            // (4)subTotalPiezasMultiples // 10

            //(4) = ((2)+(3)) - (1)
            //if (4) < 0 ? (4) * -1 : (4);



            subTotalPiezasMultiples = ((subTotalPiezasConCampo) + (subTotalPiezasSinCampo));
            subTotalPiezasMultiples = subTotalPiezasMultiples == 0 ? subTotalPiezasMultiples : subTotalPiezasMultiples - (totalPiezasObligatorias);
            subTotalPiezasMultiples = (subTotalPiezasMultiples) > 0 ? (subTotalPiezasMultiples) * -1 : (subTotalPiezasMultiples);


            /*Vista*/

            ViewBag.Titulo = tipoAtt.Nombre + subTitulo;

            ViewBag.totalPiezasObligatorias = totalPiezasObligatorias;
            ViewBag.subTotalPiezasConCampo  = subTotalPiezasConCampo;
            ViewBag.subTotalPiezasSinCampo  = subTotalPiezasSinCampo;
            ViewBag.subTotalPiezasMultiples = subTotalPiezasMultiples;


            //listas
            ViewBag.listaMaestra      = lista;
            ViewBag.listaObraSinCampo = listaObraSinCampo;
            return(PartialView("_ReporteLista"));
        }
Exemplo n.º 23
0
 public void EditarTipoAtributo(TipoAtributo inputs)
 {
     _repo.EditarTipoAtributo(inputs);
 }
Exemplo n.º 24
0
 public void CriarTipoAtributo(TipoAtributo inputs)
 {
     _repo.CriarTipoAtributo(inputs);
 }
Exemplo n.º 25
0
        public void AgregarVariosTipoAtributo()
        {
            TipoAtributo ta = new TipoAtributo
            {
                TipoAtributoID = "Procesador",
                tipodato       = TipoDato.STRING
            };

            it.AgregarTipoAtributo(ta, 2, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Disco duro",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 2, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Memoria RAM",
                tipodato       = TipoDato.INTEGER
            };
            it.AgregarTipoAtributo(ta, 2, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Pantalla",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 2, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Garantía",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 1, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "¿Es un producto nuevo?",
                tipodato       = TipoDato.BOOL
            };
            it.AgregarTipoAtributo(ta, 1, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Sistema Operativo",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 2, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Tarjeta de video",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 2, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Grabadora DVD",
                tipodato       = TipoDato.BOOL
            };
            it.AgregarTipoAtributo(ta, 2, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Camara Web",
                tipodato       = TipoDato.BOOL
            };
            it.AgregarTipoAtributo(ta, 2, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Peso",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 5, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Duración de la batería",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 5, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Capacidad",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 7, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Tipo de memoria",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 7, urlTest);

            //DISCO DURO
            ta = new TipoAtributo
            {
                TipoAtributoID = "Capacidad",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 8, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Interfaz del disco duro",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 8, urlTest);

            //Motherboards
            ta = new TipoAtributo
            {
                TipoAtributoID = "Modelo",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 9, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Fabricante",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 9, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Chipset",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 9, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "Memoria",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 9, urlTest);

            ta = new TipoAtributo
            {
                TipoAtributoID = "BIOS",
                tipodato       = TipoDato.STRING
            };
            it.AgregarTipoAtributo(ta, 9, urlTest);
        }
Exemplo n.º 26
0
 public AtributoFeicao(TipoAtributo tipo, string nome, object valor)
 {
     Tipo  = tipo;
     Nome  = nome;
     Valor = valor;
 }
 public void EditarTipoAtributo(TipoAtributo inputs)
 {
     _context.TipoAtributo.Update(inputs);
     _context.Commit();
 }