コード例 #1
0
    protected void btnLegajo_Click(object sender, EventArgs e)
    {
        EntidadesConosud dc = new EntidadesConosud();

        List <LegajosContratosImp> legajos = (from L in dc.LegajosContratosImp
                                              select L).ToList <LegajosContratosImp>();

        foreach (LegajosContratosImp item in legajos)
        {
            try
            {
                long     idLegajo = GetLegajo(item);
                DateTime periodo  = item.FechaIngreso.Value;
                long     idEstado = 15;

                long idContratoEmpresa = (from CE in dc.ContratoEmpresas
                                          where CE.Contrato.Codigo == item.NroContrato &&
                                          CE.Empresa.RazonSocial == item.Contratista
                                          select CE.IdContratoEmpresas).FirstOrDefault <long>();

                if (idContratoEmpresa > 0)
                {
                    List <Entidades.CabeceraHojasDeRuta> cabeceras = (from C in dc.CabeceraHojasDeRuta.Include("ContratoEmpresas")
                                                                      where C.Periodo >= periodo &&
                                                                      C.ContratoEmpresas.IdContratoEmpresas == idContratoEmpresa &&
                                                                      C.Estado.IdClasificacion == idEstado
                                                                      select C).ToList <Entidades.CabeceraHojasDeRuta>();



                    foreach (Entidades.CabeceraHojasDeRuta cab in cabeceras)
                    {
                        if (!cab.ContratoEmpresas.EsContratista.Value)
                        {
                            int a = 100;
                        }

                        Entidades.ContEmpLegajos ContEmpLeg = new Entidades.ContEmpLegajos();
                        ContEmpLeg.Legajos = (from L in dc.Legajos
                                              where L.IdLegajos == idLegajo
                                              select L).First <Entidades.Legajos>();
                        ContEmpLeg.ContratoEmpresas    = cab.ContratoEmpresas;
                        ContEmpLeg.CabeceraHojasDeRuta = cab;
                        dc.AddToContEmpLegajos(ContEmpLeg);
                    }
                }
            }
            catch { }
        }

        dc.SaveChanges();
    }
コード例 #2
0
    void gvLegajosAsociados_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item.ItemType == GridItemType.AlternatingItem || e.Item.ItemType == GridItemType.Item)
        {
            Entidades.ContEmpLegajos contratoemp = EntityDataSourceExtensions.GetItemObject <Entidades.ContEmpLegajos>(e.Item.DataItem);

            if (contratoemp.FechaTramiteBaja.HasValue)
            {
                e.Item.Style.Add(HtmlTextWriterStyle.Color, "Red");
                e.Item.ToolTip = "Fecha Baja: " + contratoemp.FechaTramiteBaja.Value.ToShortDateString();
            }
        }
    }
コード例 #3
0
    public void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
        if (e.Argument == "ActualizarGrilla")
        {
            gvLegajosAsociados.Rebind();
            upGrilla.Update();
        }
        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);
                }
            }

            dc.SaveChanges();
            gvLegajosAsociados.Rebind();
            upGrilla.Update();

            //gvLegajosAsociados.Rebind();

            ScriptManager.RegisterStartupScript(upGrilla, typeof(UpdatePanel), "acr", "ActualizarXML();", true);
            Helpers.GeneracionXmlLegajos(Server.MapPath(""));
        }
        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);

            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;

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

            foreach (Entidades.CabeceraHojasDeRuta cab in cabeceras)
            {
                Entidades.ContEmpLegajos ContEmpLeg = new Entidades.ContEmpLegajos();
                ContEmpLeg.Legajos             = legAsociado;
                ContEmpLeg.ContratoEmpresas    = cab.ContratoEmpresas;
                ContEmpLeg.CabeceraHojasDeRuta = cab;
                dcLocal.AddToContEmpLegajos(ContEmpLeg);
            }

            dcLocal.SaveChanges();
            txtNroDocToolTip.Text = "";
            gvLegajosAsociados.Rebind();
            upGrilla.Update();
            Helpers.GeneracionXmlLegajos(Server.MapPath(""));
        }
    }
コード例 #4
0
    protected void btnCopiado_Click(object sender, EventArgs e)
    {
        EntidadesConosud dc                 = new EntidadesConosud();
        List <long>      IdSel              = new List <long>();
        long             Periodo            = long.Parse(Request.QueryString["Periodo"].ToString());
        long             EmpresaContratista = long.Parse(Request.QueryString["Contratista"].ToString());

        long IdContratoEmpresaSeleccionadoOrigen = long.Parse(cboContratoSeleccionable.SelectedItem.Value);


        foreach (GridItem item in gvLegajos.SelectedItems)
        {
            IdSel.Add(long.Parse(gvLegajos.Items[item.DataSetIndex].GetDataKeyValue("IdLegajos").ToString()));
        }

        List <Entidades.Legajos> Legajos = dc.Legajos.Where(
            Helpers.ContainsExpression <Entidades.Legajos, long>(leg => leg.IdLegajos, IdSel)).ToList <Entidades.Legajos>();

        if (Legajos.Count > 0)
        {
            DateTime periodoSeleccionado = (from C in dc.CabeceraHojasDeRuta
                                            where C.IdCabeceraHojasDeRuta == Periodo
                                            select C.Periodo).FirstOrDefault();


            var cabeceras = from C in dc.CabeceraHojasDeRuta.Include("ContratoEmpresas").Include("ContEmpLegajos")
                            where C.Periodo >= periodoSeleccionado &&
                            C.ContratoEmpresas.IdContratoEmpresas == EmpresaContratista &&
                            C.Estado.IdClasificacion == 15
                            select C;


            foreach (Entidades.CabeceraHojasDeRuta cab in cabeceras)
            {
                foreach (Entidades.Legajos leg in Legajos)
                {
                    if (!cab.ContEmpLegajos.IsLoaded)
                    {
                        cab.ContEmpLegajos.Load();
                    }
                    int Existe = (from L in cab.ContEmpLegajos
                                  where L.Legajos.IdLegajos == leg.IdLegajos
                                  select L).Count();

                    if (Existe == 0)
                    {
                        Entidades.ContEmpLegajos ContEmpLeg = new Entidades.ContEmpLegajos();
                        ContEmpLeg.Legajos             = leg;
                        ContEmpLeg.ContratoEmpresas    = cab.ContratoEmpresas;
                        ContEmpLeg.CabeceraHojasDeRuta = cab;
                        dc.AddToContEmpLegajos(ContEmpLeg);
                    }


                    //try
                    //{
                    //    using (EntidadesConosud dc1 = new EntidadesConosud())
                    //    {
                    //        DateTime periodoAnterior = cab.Periodo.AddMonths(-1);
                    //        Entidades.ContEmpLegajos LegajoAsignacionActual = (from L in dc1.ContEmpLegajos
                    //                                                           where L.Legajos.IdLegajos == leg.IdLegajos
                    //                                                           && L.ContratoEmpresas.IdContratoEmpresas == IdContratoEmpresaSeleccionadoOrigen
                    //                                                           && (L.CabeceraHojasDeRuta.Periodo.Month == periodoAnterior.Month && L.CabeceraHojasDeRuta.Periodo.Year == periodoAnterior.Year)
                    //                                                           select L).FirstOrDefault();

                    //        if (LegajoAsignacionActual != null)
                    //        {
                    //            LegajoAsignacionActual.FechaTramiteBaja = DateTime.Now;
                    //        }


                    //    }
                    //}
                    //catch {

                    //}
                }
            }


            dc.SaveChanges();


            ScriptManager.RegisterStartupScript(upAsignar, typeof(UpdatePanel), "Cerrar", "CloseWindows();", true);
        }
    }
コード例 #5
0
    protected void btnGenerar_Click(object sender, EventArgs e)
    {
        EntidadesConosud dc = new EntidadesConosud();
        int Mes_AGenerar    = int.Parse(txtMesAño.Text.Split('/')[0]);
        int Año_AGenerar    = int.Parse(txtMesAño.Text.Split('/')[1]);

        int Mes_Refrencia = Mes_AGenerar - 1;
        int Año_Refrencia = Año_AGenerar;


        Entidades.CabeceraHojasDeRuta cabeceraAnterior = (from C in dc.CabeceraHojasDeRuta
                                                          where (C.ContratoEmpresas.IdContratoEmpresas == 2073) &&
                                                          C.Periodo.Month == Mes_Refrencia && C.Periodo.Year == Año_Refrencia
                                                          select C).FirstOrDefault();

        if (cabeceraAnterior != null)
        {
            if (!cabeceraAnterior.ContratoEmpresasReference.IsLoaded)
            {
                cabeceraAnterior.ContratoEmpresasReference.Load();
            }
            if (!cabeceraAnterior.EstadoReference.IsLoaded)
            {
                cabeceraAnterior.EstadoReference.Load();
            }

            // 1. Creo la cabecera para el periodo solicitado
            Entidades.CabeceraHojasDeRuta newCab = new Entidades.CabeceraHojasDeRuta();
            newCab.Periodo          = DateTime.Parse("01/" + Mes_AGenerar.ToString() + "/" + Año_AGenerar.ToString());
            newCab.ContratoEmpresas = cabeceraAnterior.ContratoEmpresas;
            newCab.Estado           = cabeceraAnterior.Estado;
            newCab.NroCarpeta       = cabeceraAnterior.NroCarpeta;
            newCab.Publicar         = false;
            newCab.EsFueraTermino   = false;
            newCab.Estimacion       = string.Empty;
            dc.AddToCabeceraHojasDeRuta(newCab);

            //2. Creo los items de la hoja de ruta
            if (!cabeceraAnterior.HojasDeRuta.IsLoaded)
            {
                cabeceraAnterior.HojasDeRuta.Load();
            }
            foreach (var item in cabeceraAnterior.HojasDeRuta)
            {
                if (!item.PlantillaReference.IsLoaded)
                {
                    item.PlantillaReference.Load();
                }
                Entidades.HojasDeRuta newHoja = new Entidades.HojasDeRuta();
                newHoja.CabeceraHojasDeRuta = newCab;
                newHoja.Plantilla           = item.Plantilla;
                newHoja.HojaComentario      = string.Empty;
                newHoja.DocComentario       = string.Empty;
                newHoja.HojaAprobado        = false;
            }

            //3. Creo los legajos asociados
            if (!cabeceraAnterior.ContEmpLegajos.IsLoaded)
            {
                cabeceraAnterior.ContEmpLegajos.Load();
            }
            foreach (var item in cabeceraAnterior.ContEmpLegajos)
            {
                if (!item.LegajosReference.IsLoaded)
                {
                    item.LegajosReference.Load();
                }
                Entidades.ContEmpLegajos newLeg = new Entidades.ContEmpLegajos();
                newLeg.CabeceraHojasDeRuta = newCab;
                newLeg.ContratoEmpresas    = cabeceraAnterior.ContratoEmpresas;
                newLeg.Legajos             = item.Legajos;
            }


            dc.SaveChanges();
        }
    }
コード例 #6
0
    protected void btnMesNoviembre_Click(object sender, EventArgs e)
    {
        EntidadesConosud dc = new EntidadesConosud();

        //select * from cabecerahojasderuta where idcontratoempresa in (2128,
        //2129 ,2130 ,2132 ,2133 ,2139 ,2151 ,2152 ,2153 ,2156 ) and
        //month(Periodo) = 12 and year(Periodo) = 2010


        try
        {
            List <Entidades.CabeceraHojasDeRuta> cabeceras = (from C in dc.CabeceraHojasDeRuta
                                                              where (C.ContratoEmpresas.IdContratoEmpresas == 2128 ||
                                                                     C.ContratoEmpresas.IdContratoEmpresas == 2129 ||
                                                                     C.ContratoEmpresas.IdContratoEmpresas == 2130 ||
                                                                     C.ContratoEmpresas.IdContratoEmpresas == 2132 ||
                                                                     C.ContratoEmpresas.IdContratoEmpresas == 2139 ||
                                                                     C.ContratoEmpresas.IdContratoEmpresas == 2151 ||
                                                                     C.ContratoEmpresas.IdContratoEmpresas == 2152 ||
                                                                     C.ContratoEmpresas.IdContratoEmpresas == 2153 ||
                                                                     C.ContratoEmpresas.IdContratoEmpresas == 2156) &&
                                                              C.Periodo.Month == 12 && C.Periodo.Year == 2010
                                                              select C).ToList <Entidades.CabeceraHojasDeRuta>();



            foreach (Entidades.CabeceraHojasDeRuta itemCab in cabeceras)
            {
                if (!itemCab.ContratoEmpresasReference.IsLoaded)
                {
                    itemCab.ContratoEmpresasReference.Load();
                }
                if (!itemCab.EstadoReference.IsLoaded)
                {
                    itemCab.EstadoReference.Load();
                }

                // 1. Creo la cabecera para el periodo 11
                Entidades.CabeceraHojasDeRuta newCab = new Entidades.CabeceraHojasDeRuta();
                newCab.Periodo          = DateTime.Parse("01/11/2010");
                newCab.ContratoEmpresas = itemCab.ContratoEmpresas;
                newCab.Estado           = itemCab.Estado;
                newCab.NroCarpeta       = itemCab.NroCarpeta;
                dc.AddToCabeceraHojasDeRuta(newCab);

                //2. Creo los items de la hoja de ruta
                if (!itemCab.HojasDeRuta.IsLoaded)
                {
                    itemCab.HojasDeRuta.Load();
                }
                foreach (var item in itemCab.HojasDeRuta)
                {
                    if (!item.PlantillaReference.IsLoaded)
                    {
                        item.PlantillaReference.Load();
                    }
                    Entidades.HojasDeRuta newHoja = new Entidades.HojasDeRuta();
                    newHoja.CabeceraHojasDeRuta = newCab;
                    newHoja.Plantilla           = item.Plantilla;
                }

                //3. Creo los legajos asociados
                if (!itemCab.ContEmpLegajos.IsLoaded)
                {
                    itemCab.ContEmpLegajos.Load();
                }
                foreach (var item in itemCab.ContEmpLegajos)
                {
                    if (!item.LegajosReference.IsLoaded)
                    {
                        item.LegajosReference.Load();
                    }
                    Entidades.ContEmpLegajos newLeg = new Entidades.ContEmpLegajos();
                    newLeg.CabeceraHojasDeRuta = newCab;
                    newLeg.ContratoEmpresas    = itemCab.ContratoEmpresas;
                    newLeg.Legajos             = item.Legajos;
                }


                dc.SaveChanges();
            }
        }
        catch (Exception er)
        {
            throw er;
        }
    }
コード例 #7
0
    protected void btnContProrr_Click(object sender, EventArgs e)
    {
        EntidadesConosud dc = new EntidadesConosud();

        List <Entidades.Contrato> contratos = (from C in dc.Contrato
                                               where C.Prorroga != null
                                               select C).ToList <Entidades.Contrato>();


        foreach (Entidades.Contrato itemContratos in contratos)
        {
            if (!itemContratos.ContratoEmpresas.IsLoaded)
            {
                itemContratos.ContratoEmpresas.Load();
            }
            /// Para cada contrato empresa busco los legajos de la ultima hoja de ruta
            /// segun la fecha de vencimiento.
            foreach (Entidades.ContratoEmpresas itemContratosEmp in itemContratos.ContratoEmpresas)
            {
                if (!itemContratosEmp.CabeceraHojasDeRuta.IsLoaded)
                {
                    itemContratosEmp.CabeceraHojasDeRuta.Load();
                }
                Entidades.CabeceraHojasDeRuta CabFechaVencimiento = itemContratosEmp.CabeceraHojasDeRuta.Where(C => C.Periodo.Month == itemContratos.FechaVencimiento.Value.Month && C.Periodo.Year == itemContratos.FechaVencimiento.Value.Year).FirstOrDefault();

                /// Legajos que se tienen que copiar
                if (CabFechaVencimiento != null)
                {
                    if (!CabFechaVencimiento.ContEmpLegajos.IsLoaded)
                    {
                        CabFechaVencimiento.ContEmpLegajos.Load();
                    }

                    /// cabecera pertenecientes a la prorroga
                    List <Entidades.CabeceraHojasDeRuta> CabProrrogadas = itemContratosEmp.CabeceraHojasDeRuta.Where(C => (C.Periodo.Month > itemContratos.FechaVencimiento.Value.Month && C.Periodo.Year == itemContratos.FechaVencimiento.Value.Year) || C.Periodo.Year > itemContratos.FechaVencimiento.Value.Year).ToList();
                    foreach (Entidades.CabeceraHojasDeRuta itemCabPro in CabProrrogadas)
                    {
                        /// si la cabecera prorrogada no tiene legajos asociados
                        /// entonces le copio los legados de la cabecera segun la
                        /// fecha de vencimiento
                        if (!itemCabPro.ContEmpLegajos.IsLoaded)
                        {
                            itemCabPro.ContEmpLegajos.Load();
                        }
                        if (itemCabPro.ContEmpLegajos != null && itemCabPro.ContEmpLegajos.Count == 0)
                        {
                            foreach (Entidades.ContEmpLegajos itemLeg in CabFechaVencimiento.ContEmpLegajos)
                            {
                                if (!itemLeg.LegajosReference.IsLoaded)
                                {
                                    itemLeg.LegajosReference.Load();
                                }
                                Entidades.ContEmpLegajos newContLeg = new Entidades.ContEmpLegajos();
                                newContLeg.ContratoEmpresas    = itemContratosEmp;
                                newContLeg.CabeceraHojasDeRuta = itemCabPro;
                                newContLeg.Legajos             = itemLeg.Legajos;
                                dc.AddToContEmpLegajos(newContLeg);
                            }
                        }
                    }
                }
            }

            dc.SaveChanges();
        }
    }
コード例 #8
0
    protected void btnCopiado_Click(object sender, EventArgs e)
    {
        EntidadesConosud dc    = new EntidadesConosud();
        List <long>      IdSel = new List <long>();
        long             IdCabeceraDestinoIncial = long.Parse(Request.QueryString["Periodo"].ToString());
        long             EmpresaContratista      = long.Parse(Request.QueryString["Contratista"].ToString());



        foreach (GridItem item in gvLegajos.SelectedItems)
        {
            IdSel.Add(long.Parse(gvLegajos.Items[item.DataSetIndex].GetDataKeyValue("IdLegajos").ToString()));
        }

        List <Entidades.Legajos> LegajosSeleccionados = (from l in dc.Legajos
                                                         where IdSel.Contains(l.IdLegajos)
                                                         select l).ToList();

        if (LegajosSeleccionados.Count > 0)
        {
            DateTime periodoSeleccionado = (from C in dc.CabeceraHojasDeRuta
                                            where C.IdCabeceraHojasDeRuta == IdCabeceraDestinoIncial
                                            select C.Periodo).FirstOrDefault();

            /// Recupero las cabeceras donde se tiene que asociar los legajos seleccionados
            var cabeceras = (from C in dc.CabeceraHojasDeRuta
                             where C.Periodo >= periodoSeleccionado &&
                             C.ContratoEmpresas.IdContratoEmpresas == EmpresaContratista &&
                             C.Estado.IdClasificacion == 15
                             select C).ToList();


            var      IdCategoriaContrato      = cabeceras.First().ContratoEmpresas.Contrato.Categoria;
            DateTime FechaVencimientoContrato = !cabeceras.First().ContratoEmpresas.Contrato.Prorroga.HasValue ? cabeceras.First().ContratoEmpresas.Contrato.FechaVencimiento.Value : cabeceras.First().ContratoEmpresas.Contrato.Prorroga.Value;
            DateTime FechaAsociacion          = new DateTime(periodoSeleccionado.Year, periodoSeleccionado.Month, DateTime.Now.Day);
            DateTime FechaVencCredencial      = IdCategoriaContrato == 91 ? DateTime.Now.AddDays(-1) : FechaVencimientoContrato;



            /// Para cada cabecera verifico si el legajo existe y si no existe
            /// entonces creo la asociacion.
            foreach (Entidades.CabeceraHojasDeRuta cab in cabeceras)
            {
                foreach (Legajos leg in LegajosSeleccionados)
                {
                    List <ContEmpLegajos> legajosExistente = cab.ContEmpLegajos.ToList();
                    bool Existe = (from L in legajosExistente
                                   where L.IdLegajos == leg.IdLegajos
                                   select L).Any();

                    if (!Existe)
                    {
                        Entidades.ContEmpLegajos ContEmpLeg = new Entidades.ContEmpLegajos();
                        ContEmpLeg.IdLegajos           = leg.IdLegajos;
                        ContEmpLeg.ContratoEmpresas    = cab.ContratoEmpresas;
                        ContEmpLeg.CabeceraHojasDeRuta = cab;
                        dc.AddToContEmpLegajos(ContEmpLeg);
                    }

                    /// Actualizo la fecha de vencimiento credencial de cada uno de los
                    /// legajos copiados.
                    leg.CredVencimiento = FechaVencCredencial;



                    /// Codigo para setear la fecha de baja, pero no se utiliza mas.
                    //try
                    //{
                    //    long IdContratoEmpresaSeleccionadoOrigen = long.Parse(cboContratoSeleccionable.SelectedItem.Value);
                    //    using (EntidadesConosud dc1 = new EntidadesConosud())
                    //    {
                    //        DateTime periodoAnterior = cab.Periodo.AddMonths(-1);
                    //        Entidades.ContEmpLegajos LegajoAsignacionActual = (from L in dc1.ContEmpLegajos
                    //                                                           where L.Legajos.IdLegajos == leg.IdLegajos
                    //                                                           && L.ContratoEmpresas.IdContratoEmpresas == IdContratoEmpresaSeleccionadoOrigen
                    //                                                           && (L.CabeceraHojasDeRuta.Periodo.Month == periodoAnterior.Month && L.CabeceraHojasDeRuta.Periodo.Year == periodoAnterior.Year)
                    //                                                           select L).FirstOrDefault();

                    //        if (LegajoAsignacionActual != null)
                    //        {
                    //            LegajoAsignacionActual.FechaTramiteBaja = DateTime.Now;
                    //        }


                    //    }
                    //}
                    //catch {

                    //}
                }
            }


            dc.SaveChanges();


            ScriptManager.RegisterStartupScript(upAsignar, typeof(UpdatePanel), "Cerrar", "CloseWindows();", true);
        }
    }
コード例 #9
0
    public static void GenerarHojadeRuta(ObjectContext pContext, DateTime FInicio, DateTime FFin, Entidades.ContratoEmpresas pContratoEmpresas)
    {
        string queryString = @"SELECT VALUE CabeceraHojasDeRuta FROM 
            EntidadesConosud.CabeceraHojasDeRuta AS CabeceraHojasDeRuta";
        ObjectQuery <Entidades.CabeceraHojasDeRuta> CabeceraHojasDeRutaQuery1 =
            new ObjectQuery <Entidades.CabeceraHojasDeRuta>(queryString, pContext);

        DateTime FechaInicio = FInicio;
        DateTime FechaFinal  = FFin;

        int ultimonrocarpeta = 1;

        try
        {
            ultimonrocarpeta  = CabeceraHojasDeRutaQuery1.Max(c => c.NroCarpeta);
            ultimonrocarpeta += 1;
        }
        catch { }


        long id = Convert.ToInt64(Helpers.EstadosHoja.NoAprobada);
        IEnumerable <KeyValuePair <string, object> > entityKeyValues = new KeyValuePair <string, object>[] {
            new KeyValuePair <string, object>("IdClasificacion", id)
        };
        EntityKey key = new EntityKey("EntidadesConosud.Clasificacion", entityKeyValues);

        Entidades.Clasificacion _est = (Entidades.Clasificacion)pContext.GetObjectByKey(key);

        /// Guardo la ultima cabecera antes de generar las nuevas para
        /// luego obtener los legados de la mism.

        Entidades.CabeceraHojasDeRuta UltimaCabecera = null;
        if (pContratoEmpresas.IdContratoEmpresas > 0)
        {
            if (!pContratoEmpresas.CabeceraHojasDeRuta.IsLoaded)
            {
                pContratoEmpresas.CabeceraHojasDeRuta.Load();
            }
            UltimaCabecera = pContratoEmpresas.CabeceraHojasDeRuta.OrderBy(w => w.Periodo).Last();
        }


        while (GeneraxFecha(ref FechaInicio, ref FechaFinal))
        {
            if (UltimaCabecera == null || !(UltimaCabecera.Periodo.Month == FechaFinal.Month && UltimaCabecera.Periodo.Year == FechaFinal.Year))
            {
                /// control por las dudas que el primer periodo que se intenta crear ya existe.
                if (UltimaCabecera == null || string.Format("{0:MMyyyy}", FechaInicio) != string.Format("{0:MMyyyy}", UltimaCabecera.Periodo))
                {
                    /// controlo que el periodo que se esta intentando crear no exista ya.
                    if (!pContratoEmpresas.CabeceraHojasDeRuta.Any(w => string.Format("{0:MMyyyy}", w.Periodo) == string.Format("{0:MMyyyy}", FechaInicio)))
                    {
                        /// Genero la cabecera de hoja de ruta
                        Entidades.CabeceraHojasDeRuta _CabHojaRuta = new Entidades.CabeceraHojasDeRuta();
                        _CabHojaRuta.ContratoEmpresas = pContratoEmpresas;
                        _CabHojaRuta.Estado           = _est;
                        _CabHojaRuta.Periodo          = FechaInicio;
                        _CabHojaRuta.NroCarpeta       = ultimonrocarpeta;
                        _CabHojaRuta.Estimacion       = string.Empty;
                        _CabHojaRuta.EsFueraTermino   = false;
                        pContext.AddObject("EntidadesConosud.CabeceraHojasDeRuta", _CabHojaRuta);

                        queryString = @"SELECT VALUE Plantilla FROM EntidadesConosud.Plantilla AS Plantilla";

                        ObjectQuery <Entidades.Plantilla> PlantillaQuery1 =
                            new ObjectQuery <Entidades.Plantilla>(queryString, pContext);

                        /// Genero los items de las hojas de ruta
                        foreach (Entidades.Plantilla plan in PlantillaQuery1.Select(p => p))
                        {
                            Entidades.HojasDeRuta _HojasDeRuta = new Entidades.HojasDeRuta();
                            _HojasDeRuta.Plantilla      = plan;
                            _HojasDeRuta.HojaAprobado   = false;
                            _HojasDeRuta.HojaComentario = string.Empty;
                            _HojasDeRuta.AuditadoPor    = string.Empty;
                            _HojasDeRuta.DocComentario  = string.Empty;
                            _CabHojaRuta.HojasDeRuta.Add(_HojasDeRuta);

                            pContext.AddObject("EntidadesConosud.HojasDeRuta", _HojasDeRuta);
                        }

                        /// Asocio  los legajos a la nueva cabecera

                        if (UltimaCabecera != null)
                        {
                            if (!UltimaCabecera.ContEmpLegajos.IsLoaded)
                            {
                                UltimaCabecera.ContEmpLegajos.Load();
                            }
                            foreach (Entidades.ContEmpLegajos itemContLeg in UltimaCabecera.ContEmpLegajos)
                            {
                                if (!itemContLeg.LegajosReference.IsLoaded)
                                {
                                    itemContLeg.LegajosReference.Load();
                                }

                                Entidades.ContEmpLegajos newContLeg = new Entidades.ContEmpLegajos();
                                newContLeg.ContratoEmpresas = pContratoEmpresas;
                                newContLeg.Legajos          = itemContLeg.Legajos;
                                _CabHojaRuta.ContEmpLegajos.Add(newContLeg);

                                pContext.AddObject("EntidadesConosud.ContEmpLegajos", newContLeg);
                            }
                        }
                    }
                }
            }

            FechaInicio       = FechaInicio.AddMonths(1);
            ultimonrocarpeta += 1;
        }
    }
コード例 #10
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();
        }
    }