コード例 #1
0
    public void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
        EntidadesConosud dc = Contexto;

        if (e.Argument == "Update")
        {
            long id = long.Parse(RadGrid1.SelectedValue.ToString());

            Entidades.Empresa EmpUpdate = (from L in dc.Empresa
                                           where L.IdEmpresa == id
                                           select L).FirstOrDefault <Entidades.Empresa>();

            int cant = (from l in dc.Empresa
                        where l.CUIT.Trim() == txtCUIT.Text.Trim() &&
                        l.IdEmpresa != id
                        select l).Count();

            txtCUIT.Attributes.Remove("NroExistente");

            if (cant > 0)
            {
                txtCUIT.Attributes.Add("NroExistente", true.ToString());
                upNroCUIT.Update();
                return;
            }
            else
            {
                txtCUIT.Attributes.Add("NroExistente", false.ToString());
                upNroCUIT.Update();
            }


            if (EmpUpdate != null)
            {
                /// Controles Tipo TextBox
                EmpUpdate.RazonSocial          = txtRazonSocial.Text.Trim();
                EmpUpdate.RepresentanteTecnico = txtTecnico.Text.Trim();
                EmpUpdate.PrestacionEmergencia = txtPrestacionEmergencias.Text.Trim();
                EmpUpdate.Direccion            = txtDireccion.Text.Trim();
                EmpUpdate.Telefono             = txtTelefono.Text.Trim();
                EmpUpdate.Emergencia           = txtEmergencias.Text.Trim();
                EmpUpdate.CorreoElectronico    = txtEmail.Text.Trim();

                /// Controles Tipo Telerik
                EmpUpdate.CUIT = txtCUIT.Text;

                /// Controles Tipo Fecha
                EmpUpdate.FechaAlta = txtFechaAlta.SelectedDate;

                dc.SaveChanges();
            }

            FiltrarEmpresas(txtApellidoLegajo.Text.Trim());
            return;
        }
        if (e.Argument == "delete")
        {
            long id = long.Parse(RadGrid1.SelectedValue.ToString());


            Entidades.Empresa EmpDelete = (from L in Contexto.Empresa
                                           where L.IdEmpresa == id
                                           select L).FirstOrDefault <Entidades.Empresa>();


            /// Saco a todos los lejos asociados a la empresa.
            List <Legajos> legajosAsociados = EmpDelete.Legajos.ToList();
            foreach (Legajos leg in legajosAsociados)
            {
                leg.objEmpresaLegajo = null;
            }


            /// Saco a todos vehiculos asociados
            List <VahiculosyEquipos> VehiculosAsociados = EmpDelete.VahiculosyEquipos.ToList();
            foreach (VahiculosyEquipos vec in VehiculosAsociados)
            {
                vec.objEmpresa = null;
            }


            /// Saco el usario a asociado a la empresa
            List <SegUsuario> SegUsuairoEmp = (from L in Contexto.SegUsuario
                                               where L.IdEmpresa == id
                                               select L).ToList <SegUsuario>();

            foreach (SegUsuario item in SegUsuairoEmp)
            {
                item.Empresa = null;
            }


            int j = EmpDelete.ContratoEmpresas.Count();
            while (j > 0)
            {
                Entidades.ContratoEmpresas _ContratoEmpresas = EmpDelete.ContratoEmpresas.Take(1).First();
                //if (!_ContratoEmpresas.ComentariosGral.IsLoaded) { _ContratoEmpresas.ComentariosGral.Load(); }
                List <ComentariosGral> comentsGrales = _ContratoEmpresas.ComentariosGral.ToList();
                foreach (ComentariosGral itemComent in comentsGrales)
                {
                    Contexto.DeleteObject(itemComent);
                }


                int j2 = _ContratoEmpresas.CabeceraHojasDeRuta.Count();
                while (j2 > 0)
                {
                    Entidades.CabeceraHojasDeRuta _CabeceraHojasDeRuta = _ContratoEmpresas.CabeceraHojasDeRuta.Take(1).First();

                    int j3 = _CabeceraHojasDeRuta.HojasDeRuta.Count();
                    while (j3 > 0)
                    {
                        Entidades.HojasDeRuta _HojasDeRuta = _CabeceraHojasDeRuta.HojasDeRuta.Take(1).First();
                        Contexto.DeleteObject(_HojasDeRuta);
                        j3--;
                    }


                    int j4 = _CabeceraHojasDeRuta.ContEmpLegajos.Count();
                    while (j4 > 0)
                    {
                        ContEmpLegajos _Leghoja = _CabeceraHojasDeRuta.ContEmpLegajos.Take(1).First();
                        Contexto.DeleteObject(_Leghoja);
                        j4--;
                    }


                    Contexto.DeleteObject(_CabeceraHojasDeRuta);
                    j2--;
                }
                Contexto.DeleteObject(_ContratoEmpresas);
                j--;
            }

            Contexto.DeleteObject(EmpDelete);

            try
            {
                Contexto.SaveChanges();
                FiltrarEmpresas(txtApellidoLegajo.Text.Trim());
            }
            catch
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "eliminacionEmpresa", "radalert('La emprsa no puede ser eliminada ya que posee mucha información asociada, por favor tome contacto con el administrador del sistema.',300,150)", true);
                FiltrarEmpresas(txtApellidoLegajo.Text.Trim());
            }
        }
        if (e.Argument == "Insert")
        {
            Entidades.Empresa EmpInsert = new Entidades.Empresa();

            int cant = (from l in dc.Empresa
                        where l.CUIT == txtCUIT.Text.Trim()
                        select l).Count();


            if (cant > 0)
            {
                txtCUIT.Attributes.Add("NroExistente", true.ToString());
                upNroCUIT.Update();
                return;
            }
            else
            {
                txtCUIT.Attributes.Add("NroExistente", false.ToString());
                upNroCUIT.Update();
            }


            /// Controles Tipo TextBox
            EmpInsert.RazonSocial          = txtRazonSocial.Text.Trim();
            EmpInsert.RepresentanteTecnico = txtTecnico.Text.Trim();
            EmpInsert.PrestacionEmergencia = txtPrestacionEmergencias.Text.Trim();
            EmpInsert.Direccion            = txtDireccion.Text.Trim();
            EmpInsert.Telefono             = txtTelefono.Text.Trim();
            EmpInsert.Emergencia           = txtEmergencias.Text.Trim();
            EmpInsert.CorreoElectronico    = txtEmail.Text.Trim();

            /// Controles Tipo Telerik
            EmpInsert.CUIT = txtCUIT.Text;

            /// Controles Tipo Fecha
            EmpInsert.FechaAlta = txtFechaAlta.SelectedDate;


            dc.AddToEmpresa(EmpInsert);
            dc.SaveChanges();
        }

        FiltrarEmpresas(txtApellidoLegajo.Text.Trim());
    }
コード例 #2
0
    public static List <dynamic> GetLegajos(string filtroApellido, string FiltroDNI, string TipoUsuario, string IdEmpresa, int take = 15)
    {
        using (EntidadesConosud Contexto = new EntidadesConosud())
        {
            List <ContEmpLegajos> Todos = new List <ContEmpLegajos>();
            List <Legajos>        DatosLegajosFiltrados;

            if (TipoUsuario == "Cliente")
            {
                long idEmpresa = long.Parse(IdEmpresa);
                if (filtroApellido.Trim().ToLower() != "")
                {
                    DatosLegajosFiltrados = (from emp in Contexto.Legajos
                                             where emp.Apellido.ToLower().StartsWith(filtroApellido.ToLower()) &&
                                             emp.EmpresaLegajo == idEmpresa
                                             orderby emp.Apellido
                                             select emp).Take(take).ToList();
                }
                else if (FiltroDNI.Trim().ToLower() != "")
                {
                    DatosLegajosFiltrados = (from emp in Contexto.Legajos
                                             where emp.NroDoc.StartsWith(FiltroDNI.Trim()) &&
                                             emp.EmpresaLegajo == idEmpresa
                                             orderby emp.Apellido
                                             select emp).Take(take).ToList();
                }
                else
                {
                    DatosLegajosFiltrados = (from emp in Contexto.Legajos
                                             where emp.EmpresaLegajo == idEmpresa
                                             orderby emp.Apellido
                                             select emp).Take(take).ToList();
                }
            }
            else
            {
                if (filtroApellido.Trim().ToLower() != "")
                {
                    DatosLegajosFiltrados = (from emp in Contexto.Legajos
                                             where emp.Apellido.ToLower().StartsWith(filtroApellido.ToLower())
                                             orderby emp.Apellido
                                             select emp).Take(take).ToList();
                }
                else if (FiltroDNI.Trim().ToLower() != "")
                {
                    DatosLegajosFiltrados = (from emp in Contexto.Legajos
                                             where emp.NroDoc.StartsWith(FiltroDNI.Trim())
                                             orderby emp.Apellido
                                             select emp).Take(take).ToList();
                }
                else
                {
                    DatosLegajosFiltrados = (from emp in Contexto.Legajos
                                             orderby emp.Apellido
                                             select emp).Take(take).ToList();
                }
            }



            List <long> idsLegajos = DatosLegajosFiltrados.Select(w => w.IdLegajos).Distinct().ToList();


            var contEmpLegajos = (from e in Contexto.ContEmpLegajos
                                  where idsLegajos.Contains(e.IdLegajos.Value)
                                  group e by new { e.IdLegajos, e.ContratoEmpresas.IdEmpresa } into g
                                  select new
            {
                g.Key,
                contratos = g,
                cab = g.Select(w => w.CabeceraHojasDeRuta)
            }).ToList();



            /// Esta lógica es para determinar el contrato actual de cada legajo y si no esta asignado
            /// a ningun contrato se bueca el ultimo en el que estuvo
            foreach (Legajos leg in DatosLegajosFiltrados)
            {
                List <ContEmpLegajos> TotalContratosLegajo = null;
                var ContratosExistentes = contEmpLegajos.Where(w => w.Key.IdLegajos == leg.IdLegajos && w.Key.IdEmpresa == leg.EmpresaLegajo.Value).Select(w => w.contratos).ToList().FirstOrDefault();
                if (ContratosExistentes != null)
                {
                    TotalContratosLegajo = ContratosExistentes.ToList();


                    ContEmpLegajos contFinal = null;
                    ContEmpLegajos Ultimo    = TotalContratosLegajo.Where(w => w.FechaTramiteBaja.HasValue).OrderBy(w => w.FechaTramiteBaja).LastOrDefault();

                    // Si ultimo es null indica que el legajo esta asociado a un contrato actualmente.
                    if (Ultimo == null)
                    {
                        var ultimoContrato = TotalContratosLegajo.OrderBy(w => w.CabeceraHojasDeRuta.Periodo).LastOrDefault();
                        contFinal = TotalContratosLegajo.Where(w => w.IdContratoEmpresas == ultimoContrato.IdContratoEmpresas).OrderBy(w => w.CabeceraHojasDeRuta.Periodo).FirstOrDefault();
                    }
                    else
                    {
                        bool encontrado = false;
                        foreach (ContEmpLegajos item in TotalContratosLegajo)
                        {
                            if (encontrado)
                            {
                                contFinal = item;
                                break;
                            }
                            else if (item.IdContEmpLegajos == Ultimo.IdContEmpLegajos)
                            {
                                encontrado = true;
                            }
                        }
                    }

                    Todos.Add(contFinal);
                }
            }



            var datos = (from d in DatosLegajosFiltrados
                         select new
            {
                //d = d,
                Apellido = d.Apellido,
                DesEstudiosBasicos = !d.EstudiosBasicos.HasValue ? "No Apto" : !d.EstudiosBasicos.Value ? "No Apto" : "Apto",
                DesComplementarioRacs = !d.ComplementarioRacs.HasValue ? "No Apto" : !d.ComplementarioRacs.Value ? "No Apto" : "Apto",
                DesAdicionalQuimicos = !d.AdicionalQuimicos.HasValue ? "No Apto" : !d.AdicionalQuimicos.Value ? "No Apto" : "Apto",
                dc = Todos.Where(w => w != null && w.IdLegajos == d.IdLegajos).Select(w => new
                {
                    w.ContratoEmpresas.Contrato.Codigo,
                    Periodo = string.Format("{0:MM/yyyy}", w.CabeceraHojasDeRuta.Periodo),
                    w.Legajos.IdLegajos,
                    FechaVencimiento = w.ContratoEmpresas.Contrato.Prorroga.HasValue && w.ContratoEmpresas.Contrato.Prorroga.Value > w.ContratoEmpresas.Contrato.FechaVencimiento ? w.ContratoEmpresas.Contrato.Prorroga.Value.ToShortDateString() : w.ContratoEmpresas.Contrato.FechaVencimiento.Value.ToShortDateString(),
                    CategoriaContrato = "Contrato: " + w.ContratoEmpresas.Contrato.objCategoria.Descripcion,
                    Contratista = w.ContratoEmpresas.EsContratista.Value ? w.ContratoEmpresas.Empresa.RazonSocial : w.ContratoEmpresas.Contrato.ContratoEmpresas.Where(c => c.EsContratista.Value).FirstOrDefault().Empresa.RazonSocial,
                    SubContratista = !w.ContratoEmpresas.EsContratista.Value ? w.ContratoEmpresas.Empresa.RazonSocial : "",
                }).FirstOrDefault()
            }).ToList();

            return(datos.ToList <dynamic>());
        }
    }
コード例 #3
0
    public static void GeneracionXmlLegajos(string ruta)
    {
        EntidadesConosud dbLocal = new EntidadesConosud();


        List <Legajos> legajos = (from L in dbLocal.Legajos
                                  select L).ToList <Legajos>();
        //.Include("objContEmpLegajos")
        //.Include("objContEmpLegajos.CabeceraHojasDeRuta")
        //.Include("objContEmpLegajos.ContratoEmpresas")
        //.Include("objContEmpLegajos.ContratoEmpresas.Empresa")
        //.Include("objContEmpLegajos.ContratoEmpresas.Contrato")

        List <Entidades.Empresa> emps = (from L in dbLocal.Empresa
                                         select L).ToList <Entidades.Empresa>();
        List <Entidades.Contrato> conts = (from L in dbLocal.Contrato
                                           select L).ToList <Entidades.Contrato>();
        List <Entidades.ContratoEmpresas> ContratoEmpresas = (from L in dbLocal.ContratoEmpresas
                                                              select L).ToList <Entidades.ContratoEmpresas>();
        List <Entidades.CabeceraHojasDeRuta> CabeceraHojasDeRuta = (from L in dbLocal.CabeceraHojasDeRuta
                                                                    select L).ToList <Entidades.CabeceraHojasDeRuta>();
        List <Entidades.ContEmpLegajos> ContEmpLegajos = (from L in dbLocal.ContEmpLegajos
                                                          select L).ToList <Entidades.ContEmpLegajos>();

        XDocument xDoc = new XDocument(
            new XElement("searchable_index", from pt in legajos select new XElement("item", pt.NroDoc)));


        IEnumerable <XElement> childList = from el in xDoc.Elements().Elements()
                                           select el;

        foreach (XElement item in childList)
        {
            Legajos current = legajos.Where(P => P.NroDoc == item.Value).FirstOrDefault <Legajos>();

            //Legajos  current = (from P in legajos
            //                    where P.NroDoc == item.Value
            //                    select P).FirstOrDefault<Legajos>();

            item.SetValue(current.Apellido + ", " + current.Nombre);

            if (current.objContEmpLegajos.Count > 0)
            {
                ContEmpLegajos ultimo = (from C in current.objContEmpLegajos
                                         where C.FechaTramiteBaja == null
                                         orderby C.CabeceraHojasDeRuta.Periodo
                                         select C).LastOrDefault <ContEmpLegajos>();

                if (ultimo == null)
                {
                    item.Add(new XAttribute("contrato", "Sin Contrato"));
                    item.Add(new XAttribute("UltimoPeriodo", ""));
                }
                else
                {
                    string UltiPeriodoAsignado = ultimo.CabeceraHojasDeRuta.Periodo.Year.ToString() + "/" + string.Format("{0:00}", ultimo.CabeceraHojasDeRuta.Periodo.Month);

                    //ContratoEmpresas currentContEmp = (from C in dbLocal.ContratoEmpresas.Include("Empresa").Include("Contrato")
                    //                                   where C.IdContratoEmpresas == idContEmpresa
                    //                                   select C).First<ContratoEmpresas>();

                    item.Add(new XAttribute("contrato", ultimo.ContratoEmpresas.Contrato.Codigo + " - " + ultimo.ContratoEmpresas.Empresa.RazonSocial));
                    item.Add(new XAttribute("UltimoPeriodo", UltiPeriodoAsignado));
                }
            }
            else
            {
                item.Add(new XAttribute("contrato", "Sin Contrato"));
                item.Add(new XAttribute("UltimoPeriodo", ""));
            }

            item.Add(new XAttribute("NroDocumento", current.NroDoc));
            item.Add(new XAttribute("IdLegajo", current.IdLegajos));
        }


        xDoc.Save(ruta + @"\Legajos.xml");
    }
コード例 #4
0
    public void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
        if (e.Argument == "ActualizarGrilla")
        {
            CargarGrilla();
        }
        else if (e.Argument == "DeleteSelected")
        {
            DateTime periodo           = DateTime.Parse(cboPeriodos.Text + "/01");
            long     idContratoEmpresa = Convert.ToInt32(cboContratistas.SelectedValue);
            long     idLegajo          = long.Parse(gvLegajosAsociados.Items[gvLegajosAsociados.SelectedItems[0].DataSetIndex].GetDataKeyValue("Legajos.IdLegajos").ToString());
            long     idContempLeg      = long.Parse(gvLegajosAsociados.Items[gvLegajosAsociados.SelectedItems[0].DataSetIndex].GetDataKeyValue("IdContEmpLegajos").ToString());

            EntidadesConosud dc = new EntidadesConosud();


            var contEmpLegajos = from C in dc.ContEmpLegajos
                                 where C.ContratoEmpresas.IdContratoEmpresas == idContratoEmpresa &&
                                 C.Legajos.IdLegajos == idLegajo &&
                                 C.CabeceraHojasDeRuta.Periodo >= periodo
                                 select C;

            foreach (Entidades.ContEmpLegajos cont in contEmpLegajos)
            {
                if (idContempLeg == cont.IdContEmpLegajos)
                {
                    cont.FechaTramiteBaja = DateTime.Now;
                }
                else
                {
                    dc.DeleteObject(cont);
                }
            }


            /// Limpio la fecha de vencimiento de la credencial.
            var legajo = (from L in dc.Legajos
                          where L.IdLegajos == idLegajo
                          select L).FirstOrDefault();

            legajo.CredVencimiento = null;


            dc.SaveChanges();
            CargarGrilla();
            ScriptManager.RegisterStartupScript(upGrilla, typeof(UpdatePanel), "acr", "ActualizarXML();", true);
        }
        else if (e.Argument == "CargaGrilla")
        {
            CargarGrilla();
        }
        else if (e.Argument != "undefined")
        {
            DateTime periodo           = DateTime.Parse(cboPeriodos.Text + "/01");
            long     idContratoEmpresa = Convert.ToInt32(cboContratistas.SelectedValue);
            //long idEstado = 15;
            long idLegajo  = long.Parse(e.Argument);
            long idEmpresa = long.Parse(cboEmpresas.SelectedValue);

            EntidadesConosud dcLocal = new EntidadesConosud();

            var cabeceras = (from C in dcLocal.CabeceraHojasDeRuta.Include("ContratoEmpresas")
                             where C.Periodo >= periodo &&
                             C.ContratoEmpresas.IdContratoEmpresas == idContratoEmpresa
                             //&& C.Estado.IdClasificacion == idEstado
                             select C).ToList();

            Entidades.Legajos legAsociado = (from L in dcLocal.Legajos
                                             where L.IdLegajos == idLegajo
                                             select L).First <Entidades.Legajos>();

            Contrato contratoAsignado = cabeceras.FirstOrDefault().ContratoEmpresas.Contrato;

            foreach (Entidades.CabeceraHojasDeRuta cab in cabeceras)
            {
                List <ContEmpLegajos> legajosExistentes   = cab.ContEmpLegajos.ToList();
                ContEmpLegajos        legAsigndoExistente = legajosExistentes.Where(w => w.IdLegajos == legAsociado.IdLegajos).FirstOrDefault();
                if (legAsigndoExistente == null)
                {
                    Entidades.ContEmpLegajos ContEmpLeg = new Entidades.ContEmpLegajos();
                    ContEmpLeg.Legajos             = legAsociado;
                    ContEmpLeg.ContratoEmpresas    = cab.ContratoEmpresas;
                    ContEmpLeg.CabeceraHojasDeRuta = cab;
                    dcLocal.AddToContEmpLegajos(ContEmpLeg);
                }
                else
                {
                    legAsigndoExistente.FechaTramiteBaja = null;
                }
            }


            /// 91: Categoria del contrato Auditable al ingreso, se debe colocar como
            /// vencimiento de la credencial la fecha de asignación mas un mes, caso contrario
            /// la fecha de vencimiento del contrato.
            if (contratoAsignado.objCategoria.IdClasificacion != 91)
            {
                if (contratoAsignado.Prorroga.HasValue)
                {
                    legAsociado.CredVencimiento = contratoAsignado.Prorroga;
                }
                else
                {
                    legAsociado.CredVencimiento = contratoAsignado.FechaVencimiento;
                }
            }
            else
            {
                legAsociado.CredVencimiento = DateTime.Now.AddMonths(1);
            }



            dcLocal.SaveChanges();
            txtNroDocToolTip.Text = "";
            CargarGrilla();
        }
    }