Ejemplo n.º 1
0
    protected void btnAsignar_Click(object sender, EventArgs e)
    {
        Entidades.EntidadesConosud dcAux = new Entidades.EntidadesConosud();

        long idRol = long.Parse(Request.QueryString["IdRol"].ToString());

        Entidades.SegRol CurrentRol = (from M in dcAux.SegRol
                                       where M.IdSegRol == idRol
                                       select M).First <Entidades.SegRol>();

        List <Entidades.SegRolMenu> MenuEliminar = (from M in dcAux.SegRolMenu
                                                    where M.SegRol.IdSegRol == idRol
                                                    select M).ToList <Entidades.SegRolMenu>();

        foreach (Entidades.SegRolMenu item in MenuEliminar)
        {
            dcAux.DeleteObject(item);
        }
        dcAux.SaveChanges();



        foreach (GridDataItem item in gvSubContratistas.Items)
        {
            if ((item.FindControl("chkSeleccion") as CheckBox).Checked)
            {
                long idMenu = long.Parse(gvSubContratistas.Items[item.DataSetIndex].GetDataKeyValue("IdSegMenu").ToString());
                Entidades.SegMenu CurrentMenu = (from M in dcAux.SegMenu
                                                 where M.IdSegMenu == idMenu
                                                 select M).First <Entidades.SegMenu>();


                Entidades.SegRolMenu segMenu = new Entidades.SegRolMenu();
                segMenu.SegMenu      = CurrentMenu;
                segMenu.SegRol       = CurrentRol;
                segMenu.Creacion     = (item.FindControl("chkCreacion") as CheckBox).Checked;
                segMenu.Modificacion = (item.FindControl("chkModificacion") as CheckBox).Checked;
                segMenu.Lectura      = (item.FindControl("chkLectura") as CheckBox).Checked;


                dcAux.AddObject("EntidadesConosud.SegRolMenu", segMenu);
            }
        }

        dcAux.SaveChanges();
        ScriptManager.RegisterStartupScript(Page, typeof(Page), "ocultar", "CloseWindows();", true);
    }
    protected void btnAsignar_Click(object sender, EventArgs e)
    {
        Entidades.EntidadesConosud dcAux = new Entidades.EntidadesConosud();

        long idUsuario = long.Parse(Request.QueryString["IdUsuario"].ToString());

        Entidades.SegUsuario CurrentUsuario = (from M in dcAux.SegUsuario
                                               where M.IdSegUsuario == idUsuario
                                               select M).First <Entidades.SegUsuario>();


        List <Entidades.SegUsuarioRol> rolesEliminar = (from M in dcAux.SegUsuarioRol
                                                        where M.SegUsuario.IdSegUsuario == idUsuario
                                                        select M).ToList <Entidades.SegUsuarioRol>();

        foreach (Entidades.SegUsuarioRol item in rolesEliminar)
        {
            dcAux.DeleteObject(item);
        }
        dcAux.SaveChanges();



        foreach (GridDataItem item in gvRoles.Items)
        {
            if ((item.FindControl("chkSeleccion") as CheckBox).Checked)
            {
                long idRol = long.Parse(gvRoles.Items[item.DataSetIndex].GetDataKeyValue("IdSegRol").ToString());

                Entidades.SegRol CurrentRol = (from M in dcAux.SegRol
                                               where M.IdSegRol == idRol
                                               select M).First <Entidades.SegRol>();


                Entidades.SegUsuarioRol segRol = new Entidades.SegUsuarioRol();
                segRol.SegRol     = CurrentRol;
                segRol.SegUsuario = CurrentUsuario;


                dcAux.AddObject("EntidadesConosud.SegUsuarioRol", segRol);
            }
        }

        dcAux.SaveChanges();
        ScriptManager.RegisterStartupScript(Page, typeof(Page), "ocultar", "CloseWindows();", true);
    }
    protected void btnEliminar_Click(object sender, EventArgs e)
    {
        try
        {
            /// Logica:
            /// Dar la posibilidad de asignar y desadignar las empresas a un contrato haciendo que las hojas de ruta
            /// respondan a las fechas de ejecución de la accion:
            /// Asignacion: solo se dejan las hojas de ruta desde la fecha de sistema hasta la finalización del contratl.
            /// Desasignacion: se deben eliminar las hojas de ruta y sus relaciones desde el mes siguiente a la ejecución de dicha acción.

            Entidades.EntidadesConosud dcAux = new Entidades.EntidadesConosud();

            foreach (GridDataItem item in gvSubContratistas.Items)
            {
                if ((item.FindControl("chkSeleccion") as CheckBox).Checked)
                {
                    int      año = txtFechaBaja.SelectedDate.Value.AddMonths(1).Year;
                    int      mes = txtFechaBaja.SelectedDate.Value.AddMonths(1).Month;
                    DateTime fechaEliminacion = new DateTime(año, mes, 1, 0, 0, 0);

                    long IdContratoEmpresas = long.Parse(gvSubContratistas.Items[item.DataSetIndex].GetDataKeyValue("IdContratoEmpresas").ToString());

                    List <Entidades.CabeceraHojasDeRuta> cabEliminar = (from C in dcAux.CabeceraHojasDeRuta
                                                                        where (C.Periodo >= fechaEliminacion) &&
                                                                        C.ContratoEmpresas.IdContratoEmpresas == IdContratoEmpresas
                                                                        select C).ToList <Entidades.CabeceraHojasDeRuta>();



                    foreach (Entidades.CabeceraHojasDeRuta cab in cabEliminar)
                    {
                        long IdCabeceraEliminar = cab.IdCabeceraHojasDeRuta;

                        /// Eliminacion de los legajos asociados
                        var contratoLegajos = (from CL in dcAux.ContEmpLegajos
                                               where CL.CabeceraHojasDeRuta.IdCabeceraHojasDeRuta == IdCabeceraEliminar
                                               select CL);

                        foreach (ContEmpLegajos itemContLeg in contratoLegajos)
                        {
                            dcAux.DeleteObject(itemContLeg);
                        }

                        /// YA NO SE DEBERIAN BORRAR LOS COMENTARIO GENERALES
                        /// YA QUE ES POSIBLE QUE QUEDEN HOJAS DE RUTA ANTERIORES
                        /// AL MES ACTUAL.
                        ///// Eliminacion de los comentarios generales asociados a la hoja de ruta
                        //var ComentariosGrales = (from CL in dcAux.ComentariosGral
                        //                         where CL.ContratoEmpresas.IdContratoEmpresas == IdContratoEmpresas
                        //                         select CL);

                        //foreach (ComentariosGral itemComent in ComentariosGrales)
                        //{
                        //    dcAux.DeleteObject(itemComent);
                        //}


                        // Eliminacion del contrato empresa
                        dcAux.DeleteObject(cab);
                    }

                    dcAux.SaveChanges();


                    /// Si despues de eliminar las cabeceras seleccionadas, la empresa subcontratista
                    /// se queda sin cabeceras, entoces borro el contrato de la misma, ya que no tiene
                    /// sentido que siga asignado.
                    List <Entidades.CabeceraHojasDeRuta> CabEliminar = (from C in dcAux.CabeceraHojasDeRuta
                                                                        where C.ContratoEmpresas.IdContratoEmpresas == IdContratoEmpresas
                                                                        select C).ToList <Entidades.CabeceraHojasDeRuta>();

                    if (CabEliminar.Count == 0)
                    {
                        // Eliminacion de los comentarios Generales
                        var ComentariosGrales = (from CL in dcAux.ComentariosGral
                                                 where CL.ContratoEmpresas.IdContratoEmpresas == IdContratoEmpresas
                                                 select CL);

                        foreach (ComentariosGral itemComent in ComentariosGrales)
                        {
                            dcAux.DeleteObject(itemComent);
                        }


                        // Eliminacion del contrato empresa
                        Entidades.ContratoEmpresas ContratoEliminar = (from C in dcAux.ContratoEmpresas
                                                                       where C.IdContratoEmpresas == IdContratoEmpresas
                                                                       select C).FirstOrDefault();
                        dcAux.DeleteObject(ContratoEliminar);


                        dcAux.SaveChanges();
                    }
                }
            }

            ScriptManager.RegisterStartupScript(Page, typeof(Page), "ocultar", "CloseWindows();", true);
        }
        catch
        { }
    }