Exemplo n.º 1
0
        //Retorna dependiendo los parametros de filtro
        public List <concentrado> getConcentrado(string titulo, DateTime?Y1, DateTime?Y2, List <string> autores, int?[] checkgroup, int?[] checktype)
        {
            List <concentrado> conc = new List <concentrado>();

            conc = conc.Where(x => x.Titulo.Contains(titulo)).ToList();
            if (Y1 != null)
            {
                conc = conc.Where(x => x.Fecha >= Y1).ToList();
            }
            if (Y2 != null)
            {
                conc = conc.Where(x => x.Fecha <= Y2).ToList();
            }
            if (checkgroup != null)
            {
                List <concentrado> cg = new List <concentrado>();
                foreach (int i in checkgroup)
                {
                    var g = db.concentrado_grupos.Where(x => x.Grupo == i).ToList();
                    foreach (var con in g)
                    {
                        concentrado sample = db.concentrado.Where(x => x.idConcentrado == con.Concentrado).FirstOrDefault();
                        cg.Add(sample);
                    }
                }
                conc = conc.Where(x => cg.Contains(x)).ToList();
            }
            if (checktype != null)
            {
                List <concentrado> ct = new List <concentrado>();
                foreach (int i in checktype)
                {
                    var g = conc.Where(x => x.TipoConcentrado == i).ToList();
                    foreach (var con in g)
                    {
                        ct.Add(con);
                    }
                }
                conc = ct;
            }
            if (autores != null)
            {
                List <concentrado> cg = new List <concentrado>();
                foreach (string s in autores)
                {
                    int i = int.Parse(s);
                    var g = db.concentrado_autores.Where(x => x.idAutor == i).ToList();
                    foreach (var cap in g)
                    {
                        concentrado sample = db.concentrado.Where(x => x.idConcentrado == cap.idConcentrado).FirstOrDefault();
                        cg.Add(sample);
                    }
                }
                conc = conc.Where(x => cg.Contains(x)).ToList();
            }
            return(conc);
        }
Exemplo n.º 2
0
        public ActionResult Index(string titulo, int?Y1, int?Y2, string autores, int?[] checkgroup, int?[] checktype)
        {
            microna2018Entities db = new microna2018Entities();
            var concent            = db.concentrado.ToList();

            if (titulo != null)
            {
                concent = concent.Where(x => x.Titulo.Contains(titulo)).ToList();
            }
            if (Y1 != null)
            {
                concent = concent.Where(x => x.Fecha >= Y1).ToList();
            }
            if (Y2 != null)
            {
                concent = concent.Where(x => x.Fecha <= Y2).ToList();
            }
            if (checkgroup != null)
            {
                foreach (int i in checkgroup)
                {
                    var g = db.concentrado_grupos.Where(x => x.Grupo == i).ToList();
                    List <concentrado> cg = new List <concentrado>();
                    foreach (var con in g)
                    {
                        concentrado sample = db.concentrado.Where(x => x.idConcentrado == con.Concentrado).FirstOrDefault();
                        cg.Add(sample);
                    }
                    concent = concent.Where(x => cg.Contains(x)).ToList();
                }
            }
            if (checktype != null)
            {
                List <concentrado> ct = new List <concentrado>();
                foreach (int i in checktype)
                {
                    var g = concent.Where(x => x.TipoConcentrado == i).ToList();
                    foreach (var con in g)
                    {
                        ct.Add(con);
                    }
                }
                concent = ct;
            }
            return(View(concent));
        }
Exemplo n.º 3
0
        public archivo getDownloadUrl(int id)
        {
            concentrado con = db.concentrado.Where(x => x.idConcentrado == id).FirstOrDefault();
            archivo     arc = null;

            switch (con.TipoConcentrado)
            {
            case 1:
                arc = db.articulo.Where(x => x.idArticulo == con.IdItem).FirstOrDefault().archivo1;
                break;

            case 2:
                arc = db.capitulolibro.Where(x => x.idCapituloLibro == con.IdItem).FirstOrDefault().archivo1;
                break;

            case 3:
                arc = db.libro.Where(x => x.idLibro == con.IdItem).FirstOrDefault().archivo1;
                break;

            case 4:
                arc = db.proyectos.Where(x => x.idProyecto == con.IdItem).FirstOrDefault().archivo1;
                break;

            case 5:
                arc = db.trabajo.Where(x => x.idTrabajo == con.IdItem).FirstOrDefault().archivo1;
                break;

            case 6:
                arc = db.tesis.Where(x => x.idtesis == con.IdItem).FirstOrDefault().archivo1;
                break;

            default:
                break;
            }
            return(arc);
        }
Exemplo n.º 4
0
        public ActionResult AsignarOrdenes(string Cantidad, string ddlUsuarios)
        {
            try
            {
                //Cantidad de Ordenes a Asignar
                int cantidadOrdenes = int.Parse(Cantidad);
                //Se utiliza en el ciclo para determinar si la cantiad de registros es igual a la cantidad de ordenes a asignar
                int contador = 0;
                //Cuenta los registros del concentrado los cuales tengan un Estado de DHL diferente a entregado
                var concentrado = from c in db.concentrado.Where(x => x.csr.UltimoCheckpoint != "OK")
                                  where !(from a in db.asignacionordenes select a.Concentrado_Id).Contains(c.id)
                                  select c;

                int conteo = concentrado.Count();

                //Se genera una lista para agregar los registros de la consulta del concentrado
                List <concentrado> lista = new List <concentrado>();

                //Se recorre la lista de concentrados
                foreach (var item in concentrado)
                {
                    //En cada ciclo se busca el id del concentrado en la asignacion
                    var asignacionTemp = db.asignacionordenes.Where(x => x.Concentrado_Id == item.id).FirstOrDefault();

                    //Si el Id del concentrado no esta en la asignacion se agrega en la lista para ingresar
                    if (asignacionTemp == null)
                    {
                        concentrado concentradoTemp = new concentrado();
                        concentradoTemp.id = item.id;
                        concentradoTemp.GuiasImpresas_Id = item.GuiasImpresas_Id;
                        //Se valida si el registro del CSR es nulo esto para buscar la frecuencia y el estado de DHL
                        //Si es nulo se colocaran los valores
                        int?csrID = item.CSR_Id;

                        if (csrID != null)
                        {
                            var csr = db.csr.Where(x => x.id == csrID).FirstOrDefault();
                            concentradoTemp.CSR_Id = csr.id;
                        }
                        else
                        {
                            concentradoTemp.CSR_Id = 0;
                        }
                        contador++;
                        lista.Add(concentradoTemp);
                    }

                    if (cantidadOrdenes <= contador)
                    {
                        break;
                    }
                }

                //Se recorre la lista para asignar los valores para insertar a la BD
                for (int i = 0; i < lista.Count; i++)
                {
                    //Comienzo la asignacion de valor
                    asignacionordenes asignacionordenes = new asignacionordenes();
                    asignacionordenes.Concentrado_Id      = lista[i].id;
                    asignacionordenes.StatusAsignacion_Id = 2;
                    asignacionordenes.FechaAlta           = DateTime.Now;
                    asignacionordenes.AspNetUsers_Id      = ddlUsuarios;

                    var idCSR = lista[i].CSR_Id;
                    if (idCSR != 0)
                    {
                        string codigocsr      = db.csr.Where(x => x.id == idCSR).FirstOrDefault().UltimoCheckpoint;
                        var    idNomenclatura = db.nomenclaturadhl.Where(x => x.codigo == codigocsr).FirstOrDefault();
                        string codigopostal   = db.csr.Where(x => x.id == idCSR).FirstOrDefault().CPDestinatario;
                        var    idFrecuencia   = db.fecuenciadhl.Where(x => x.postalcode == codigopostal).FirstOrDefault();

                        //Se validan ya que puede que los valores pueden estar en el CSR pero no en los catalogos Ejm. Codigo Postal
                        if (idNomenclatura != null)
                        {
                            asignacionordenes.NomenclaturaDHL_Id = idNomenclatura.id;
                        }
                        else
                        {
                            asignacionordenes.NomenclaturaDHL_Id = 9;
                        }

                        if (idFrecuencia != null)
                        {
                            asignacionordenes.FecuenciaDHL_Id = idFrecuencia.id;
                        }
                        else
                        {
                            asignacionordenes.FecuenciaDHL_Id = 29910;
                        }
                    }
                    else
                    {
                        asignacionordenes.NomenclaturaDHL_Id = 9;
                        asignacionordenes.FecuenciaDHL_Id    = 29910;
                    }
                    //Se guarda enla base de datos
                    db.asignacionordenes.Add(asignacionordenes);
                    db.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult ObtenerConcentrado()
        {
            var Draw          = Request.Form.GetValues("draw").FirstOrDefault();
            var Start         = Request.Form.GetValues("start").FirstOrDefault();
            var Length        = Request.Form.GetValues("length").FirstOrDefault();
            var SortColumn    = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][data]").FirstOrDefault();
            var SortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault();

            var guia = Request.Form.GetValues("columns[0][search][value]").FirstOrDefault();

            int PageSize = Length != null?Convert.ToInt32(Length) : 0;

            int Skip = Start != null?Convert.ToInt32(Start) : 0;

            int TotalRecords = 0;

            try
            {
                List <concentrado> listaConcentrado = new List <concentrado>();

                using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString()))
                {
                    con.Open();

                    string sql   = "exec [SP_CONCENTRADO_PARAMETROSOPCIONALES] @order";
                    var    query = new SqlCommand(sql, con);

                    if (guia != "")
                    {
                        query.Parameters.AddWithValue("@order", guia);
                    }
                    else
                    {
                        query.Parameters.AddWithValue("@order", DBNull.Value);
                    }

                    using (var dr = query.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            // facturas
                            var concentrado = new concentrado();

                            concentrado.IdGuia    = Convert.ToInt32(dr["id"]);
                            concentrado.Guia      = dr["Guia"].ToString();
                            concentrado.ChekPoint = dr["UltimoCheckpoint"].ToString();

                            if (dr["NTSDate"].ToString() == "")
                            {
                                concentrado.NTSDate = DateTime.MinValue;
                                concentrado.NTS     = string.Empty;
                            }
                            else
                            {
                                concentrado.NTSDate = Convert.ToDateTime(dr["NTSDate"]);
                                concentrado.NTS     = dr["Order"].ToString();
                            }

                            if (dr["Referencia"].ToString() == "")
                            {
                                concentrado.ReferenciaCSR = "NA";
                                concentrado.Concatenado   = "NA";
                            }
                            else
                            {
                                concentrado.ReferenciaCSR = dr["Referencia"].ToString();

                                if (dr["CPDestinatario"].ToString().Length < 4)
                                {
                                    concentrado.Concatenado = dr["ContactoDestinatario"].ToString() + "/ " + dr["DireccionDestinatario"].ToString() + "/ " + "0" + dr["CPDestinatario"].ToString();
                                }
                                else
                                {
                                    concentrado.Concatenado = dr["ContactoDestinatario"].ToString() + "/ " + dr["DireccionDestinatario"].ToString() + "/ " + dr["CPDestinatario"].ToString();
                                }
                            }
                            listaConcentrado.Add(concentrado);
                        }
                    }
                }

                if (!(string.IsNullOrEmpty(SortColumn) && string.IsNullOrEmpty(SortColumnDir)))
                {
                    listaConcentrado = listaConcentrado.OrderBy(SortColumn + " " + SortColumnDir).ToList();
                }

                TotalRecords = listaConcentrado.ToList().Count();
                var NewItems = listaConcentrado.Skip(Skip).Take(PageSize == -1 ? TotalRecords : PageSize).ToList();

                return(Json(new { draw = Draw, recordsFiltered = TotalRecords, recordsTotal = TotalRecords, data = NewItems }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception _ex)
            {
                Console.WriteLine(_ex.Message.ToString());
                return(null);
            }
        }
        public ActionResult ActualizarConcentrado()
        {
            try
            {
                List <concentrado> listaTemp = new List <concentrado>();

                List <concentrado> concentradoData = db.concentrado.ToList();

                var concentradoactualizar = from c in db.concentrado
                                            join csrst in db.csr
                                            on c.CSR_Id equals csrst.id into cGroup
                                            from d in cGroup.DefaultIfEmpty()
                                            select new
                {
                    conentradoId  = c.id,
                    referenciaCsr = d == null ? "NA" : d.Referencia,
                    statusCsr     = d == null ? "NA" : d.UltimoCheckpoint
                };

                int cantidad = concentradoactualizar.Count();

                foreach (var item in concentradoactualizar)
                {
                    if (item.statusCsr != "OK" || item.statusCsr == "NA")
                    {
                        concentrado concentrado = concentradoData.Where(x => x.id == item.conentradoId).FirstOrDefault();
                        concentrado.ReferenciaCSR = item.referenciaCsr;
                        listaTemp.Add(concentrado);
                    }
                }

                int contador = 0;

                List <csr> csrData = db.csr.ToList();
                List <nts> ntsData = db.nts.ToList();

                foreach (var item in listaTemp)
                {
                    contador++;

                    concentrado concentrado = concentradoData.Where(x => x.id == item.id).FirstOrDefault();
                    string      orden       = concentrado.guiasimpresas.orden.ToString();

                    var csr = csrData.Where(x => x.Referencia.Contains(orden)).FirstOrDefault();
                    var nts = ntsData.Where(x => x.Order.Contains(orden)).FirstOrDefault();

                    if (concentrado.csr == null)
                    {
                        if (csr != null)
                        {
                            concentrado.CSR_Id = csr.id;
                        }
                    }

                    if (concentrado.nts == null)
                    {
                        if (nts != null)
                        {
                            concentrado.NTS_Id = nts.id;
                        }
                    }
                }

                db.SaveChanges();

                return(Json("Success", JsonRequestBehavior.AllowGet));
            }
            catch (Exception _ex)
            {
                Console.WriteLine(_ex.Message.ToString());
                return(Json("Error", JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult CargarNTS()
        {
            try
            {
                //Se validan las guias que no existen en el concentrado

                var ids = from c in db.concentrado
                          select c.GuiasImpresas_Id;


                var query = from item in db.guiasimpresas
                            where !ids.Contains(item.id)
                            select item;

                List <csr>         csrData         = db.csr.ToList();
                List <nts>         ntsData         = db.nts.ToList();
                List <concentrado> concentradoData = db.concentrado.ToList();

                int cantidad = query.Count();

                foreach (var item in query)
                {
                    concentrado concentrados = new concentrado();
                    concentrados.GuiasImpresas_Id = item.id;
                    var csrs = csrData.Where(x => x.Referencia.Contains(item.orden)).FirstOrDefault();

                    if (csrs != null)
                    {
                        concentrados.CSR_Id = csrs.id;
                    }
                    else
                    {
                        concentrados.csr = null;
                    }

                    var nts = ntsData.Where(x => x.Order.Contains(item.orden)).FirstOrDefault();

                    if (nts != null)
                    {
                        concentrados.NTS_Id = nts.id;
                    }
                    else
                    {
                        concentrados.NTS_Id = null;
                    }

                    var validacion = concentradoData.Where(x => x.GuiasImpresas_Id == item.id).FirstOrDefault();

                    if (validacion == null)
                    {
                        db.concentrado.Add(concentrados);
                    }
                }

                db.SaveChanges();

                return(Json("Success", JsonRequestBehavior.AllowGet));
            }
            catch (Exception _ex)
            {
                Console.WriteLine(_ex.Message.ToString());
                return(Json("Error", JsonRequestBehavior.AllowGet));
            }
        }