protected void Page_Init(object sender, EventArgs e)
 {
     // it gets an appropiate context (LainsaSciCTX -> web.config)
     ctx = new LainsaSci("LainsaSciCTX");
     // Comprobar que hay algún usuario
     if (Session["UsuarioId"] != null)
     {
         usuario = CntLainsaSci.GetUsuario(int.Parse(Session["UsuarioId"].ToString()), ctx);
         if (usuario == null)
         {
             Response.Redirect("Default.aspx");
         }
     }
     else
     {
         Response.Redirect("Default.aspx");
     }
     lblUsuario.Text = usuario.Nombre;
     if (Request.QueryString["Id"] != null)
     {
         r = CntLainsaSci.GetRevision(int.Parse(Request.QueryString["Id"]), ctx);
     }
     if (r == null)
     {
         Response.Redirect("ProgramaList.aspx");
     }
     numpag         = r.DatosRevisions.Count + 1;
     pagina         = numpag;
     lblTitulo.Text = String.Format("{0}: {1} / {2} <br/> <b>D: </b>{3}", r.PlantillaRevision.Descripcion,
                                    pagina, numpag,
                                    r.Dispositivo.Nombre);
 }
    protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
    {
        // we only process commands with a datasource (our image buttons)
        if (e.CommandSource == null)
        {
            return;
        }
        string typeOfControl = e.CommandSource.GetType().ToString();

        if (typeOfControl.Equals("System.Web.UI.WebControls.ImageButton"))
        {
            int         id   = 0;
            ImageButton imgb = (ImageButton)e.CommandSource;
            if (imgb.ID != "New" && imgb.ID != "Exit" && imgb.ID != "Generar")
            {
                id = (int)e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex][e.Item.OwnerTableView.DataKeyNames[0]];
            }
            switch (imgb.ID)
            {
            case "Select":
                break;

            case "Edit":
                break;

            case "Delete":
                try
                {
                    Revision revision = CntLainsaSci.GetRevision(id, ctx);
                    //PlanificacionRevision plan = revision.PlanificacionRevision;
                    //plan.Revisions.Remove(revision);
                    foreach (DatosRevision item in revision.DatosRevisions)
                    {
                        CntLainsaSci.CTXEliminar(item, ctx);
                    }
                    CntLainsaSci.CTXEliminar(revision, ctx);
                    //plan.FechaUltimaRevision = CntLainsaSci.GetFUltimarevision(plan, ctx);
                    CntLainsaSci.CTXGuardar(ctx);

                    RefreshGrid(true);
                }
                catch (Exception ex)
                {
                    ControlDeError(ex);
                }
                break;

            case "Generar":
                CntLainsaSci.ProgramarRevisiones(dispositivo, ctx);
                RefreshGrid(true);
                break;
            }
        }
    }
    protected void Page_Init(object sender, EventArgs e)
    {
        // it gets an appropiate context (LainsaSciCTX -> web.config)
        ctx = new LainsaSci("LainsaSciCTX");
        // Comprobar que hay algún usuario
        if (Session["UsuarioId"] != null)
        {
            usuario = CntLainsaSci.GetUsuario(int.Parse(Session["UsuarioId"].ToString()), ctx);
            if (usuario == null)
            {
                Response.Redirect("Default.aspx");
            }
        }
        else
        {
            Response.Redirect("Default.aspx");
        }
        lblUsuario.Text = usuario.Nombre;
        if (Request.QueryString["Id"] != null)
        {
            r = CntLainsaSci.GetRevision(int.Parse(Request.QueryString["Id"]), ctx);
        }
        if (Request.QueryString["P"] != null)
        {
            pagina = int.Parse(Request.QueryString["P"]);
        }
        if (r == null)
        {
            Response.Redirect("ProgramaList.aspx");
        }
        numpag = r.DatosRevisions.Count + 1;
        IList <DatosRevision> ldr = r.DatosRevisions.OrderBy(x => x.Campo.Posicion).ToList <DatosRevision>();

        dr             = ldr[pagina - 1];
        lblTitulo.Text = String.Format("{0}: {1} / {2} <br/> <b>D: </b>{3}", r.PlantillaRevision.Descripcion,
                                       pagina, numpag,
                                       r.Dispositivo.Nombre);
        // cargar controles segun los datos
        CargarControl(dr);
        if (pagina == 1)
        {
            btnAnterior.Text = "S";
        }
    }
Exemple #4
0
 string caller        = ""; // who's calling the grid form
 #endregion
 #region Init, load, unload events
 protected void Page_Init(object sender, EventArgs e)
 {
     // it gets an appropiate context (LainsaSciCTX -> web.config)
     ctx = new LainsaSci("LainsaSciCTX");
     // verify if a Usuario is logged
     usuario = CntWinWeb.IsSomeoneLogged(this, ctx);
     if (usuario == null)
     {
         Response.Redirect("Default.aspx");
     }
     else
     {
         Session["UsuarioId"] = usuario.UsuarioId;
     }
     // si llega aquí está autorizado
     permiso = CntLainsaSci.GetPermiso(usuario.GrupoUsuario, "Sustituciongrid", ctx);
     if (permiso == null)
     {
         RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                               (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                               (string)GetGlobalResourceObject("ResourceLainsaSci", "NoPermissionsAssigned"));
         RadNotification1.Show();
         RadAjaxManager1.ResponseScripts.Add("closeWindow();");
     }
     CntWinWeb.TranslateRadGridFilters(RadGrid1);
     if (Request.QueryString["Mode"] != null)
     {
         mode = Request.QueryString["Mode"];
     }
     if (Request.QueryString["Caller"] != null)
     {
         caller = Request.QueryString["Caller"];
     }
     if (Request.QueryString["TipoId"] != null)
     {
         tipo = CntLainsaSci.GetTipoDispositivo(int.Parse(Request.QueryString["TipoId"]), ctx);
         if (tipo != null)
         {
             RadGrid1.Columns.FindByDataField("TipoDispositivo.Nombre").Visible = false;
         }
     }
     if (Request.QueryString["ProgramaId"] != null)
     {
         programa = CntLainsaSci.GetPrograma(int.Parse(Request.QueryString["ProgramaId"]), ctx);
         if (programa != null)
         {
             // Modificar la altura del grid para que quepan otros
             RadGrid1.PageSize       = 3;
             RadGrid1.ShowGroupPanel = false;
         }
     }
     if (Request.QueryString["RevisionId"] != null)
     {
         revision = CntLainsaSci.GetRevision(int.Parse(Request.QueryString["RevisionId"]), ctx);
         if (revision != null)
         {
             Title = String.Format("Sustituciones [REV]: {0:dd/MM/yyyy} {1}",
                                   revision.FechaPlanificada,
                                   CntLainsaSci.GetNomLargo(revision.Dispositivo));
         }
     }
 }
 protected void Page_Init(object sender, EventArgs e)
 {
     // it gets an appropiate context (LainsaSciCTX -> web.config)
     ctx = new LainsaSci("LainsaSciCTX");
     // verify if a Usuario is logged
     Usuario = CntWinWeb.IsSomeoneLogged(this, ctx);
     if (Usuario == null)
     {
         Response.Redirect("Default.aspx");
     }
     else
     {
         Session["UsuarioId"] = Usuario.UsuarioId;
         CargaOperario(Usuario);
     }
     //
     // si llega aquí está autorizado
     permiso = CntLainsaSci.GetPermiso(Usuario.GrupoUsuario, "DispositivoGrid", ctx);
     if (permiso == null)
     {
         RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                               (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                               (string)GetGlobalResourceObject("ResourceLainsaSci", "NoPermissionsAssigned"));
         RadNotification1.Show();
         RadAjaxManager1.ResponseScripts.Add("closeWindow();");
     }
     btnAccept.Visible = permiso.Modificar;
     if (Request.QueryString["InTab"] != null)
     {
         inTab = Request.QueryString["InTab"];
     }
     // Si esto no va antes de RevisionID tendrás problemas.
     if (Request.QueryString["Caller"] != null)
     {
         caller = Request.QueryString["Caller"];
         caller = caller.Replace("'", "");
     }
     if (Request.QueryString["DispositivoId"] != null)
     {
         dispositivo         = CntLainsaSci.GetDispositivo(int.Parse(Request.QueryString["DispositivoId"]), ctx);
         txtDispositivo.Text = dispositivo.Nombre;
     }
     // Is it a new record or not?
     if (Request.QueryString["RevisionId"] != null)
     {
         revision    = CntLainsaSci.GetRevision(int.Parse(Request.QueryString["RevisionId"]), ctx);
         dispositivo = revision.Dispositivo;
         LoadData(revision);
         this.Title = String.Format("Revision: ");
         newRecord  = false;
     }
     if (Request.QueryString["Modo"] != null)
     {
         modo = Request.QueryString["Modo"];
         if (modo == "S")
         {
             // en silencio
             btnAccept.Visible      = false;
             btnSustitucion.Visible = false;
         }
     }
     //if (revision.Estado == "PROGRAMADA")
     //    crearPlantilla();
     //else if (revision.Estado == "REALIZADA")
     //    cargarPlantilla();
     cargarPlantilla();
 }
    protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridCommandItem)
        {
            GridCommandItem item = (GridCommandItem)e.Item;
            ImageButton     img  = (ImageButton)item.FindControl("New");
            if (crear)
            {
                img.Visible = permiso.Crear;
            }
            else
            {
                img.Visible = false;
            }
            if (dispositivo != null)
            {
                img.OnClientClick = String.Format("newRevisionFromDispositivo('{0}');", dispositivo.DispositivoId);
            }
            if (mode.Equals("S"))
            {
                img         = (ImageButton)item.FindControl("Exit");
                img.Visible = false;
            }
            img = (ImageButton)item.FindControl("Generar");
            if (img != null && dispositivo == null)
            {
                img.Visible = false;
            }

            img = (ImageButton)item.FindControl("Exit");
            if (!crear)
            {
                img.Visible = false;
            }
        }
        if (e.Item is GridDataItem)
        {
            ImageButton  imgb     = null;
            string       jCommand = "";
            GridDataItem item     = (GridDataItem)e.Item;
            string       strKey   = item.GetDataKeyValue("RevisionId").ToString();
            Revision     revision = CntLainsaSci.GetRevision(int.Parse(strKey), ctx);

            if (CntLainsaSci.FechaNula(DateTime.Parse(item["FechaRevision"].Text)))
            {
                item["FechaRevision"].Text = "";
            }
            if (CntLainsaSci.FechaNula(DateTime.Parse(item["FechaProgramada"].Text)))
            {
                item["FechaProgramada"].Text = "";
            }
            if (item["CaduProx"].Text == "True")
            {
                item.BackColor = System.Drawing.Color.DeepPink;
            }
            if (item["PlantillaRevision.NoPeriodica"].Text == "True")
            {
                item.BackColor = System.Drawing.Color.LightBlue;
            }

            //item["dispositivo"].Text = revision.PlanificacionRevision.dispositivo.Nombre;
            //item["PlantillaRevision"].Text=revision.PlanificacionRevision.PlantillaRevision.Descripcion;
            //item["FechaProgramada"].Text = String.Format("{0:dd/MM/yyyy}", revision.FechaProgramada);

            // when it returns from form with new record
            if (Session["NewRecordId"] != null)
            {
                if (strKey == Session["NewRecordId"] as String)
                {
                    item.Selected          = true;
                    Session["NewRecordId"] = null;
                }
            }

            // in order to assign the appropiate javascript function to select button
            imgb = (ImageButton)item.FindControl("Select");
            //jCommand = String.Format("returnValues3('{0}','{1}','{2}');", strKey, item["Nombre"].Text,"Revision");
            //imgb.OnClientClick = jCommand;
            //if (mode == "S")
            //    imgb.Visible = true;
            //else
            imgb.Visible = false;

            // assign the appropiate javascript function to edit button
            imgb = (ImageButton)item.FindControl("Edit");
            if (revision.Estado == CntLainsaSci.EstadoRevision.Planificada.ToString())
            {
                imgb.Visible = false;
            }
            else
            {
                jCommand = String.Format("editRevision({0});", strKey);
                if (dispositivo != null)
                {
                    jCommand = String.Format("editRevisionFromDispositivo({0},{1});", strKey, dispositivo.DispositivoId);
                }
                imgb.OnClientClick = jCommand;
                imgb.Visible       = permiso.Ver;
            }
            // assign to delete button (not needed by now)
            imgb               = (ImageButton)item.FindControl("Delete");
            jCommand           = String.Format("return radconfirm('{0}',event,300,100,'','{1}');", Resources.ResourceLainsaSci.DeleteRecordQuestion + " " + item["RevisionId"].Text, Resources.ResourceLainsaSci.DeleteRecord);
            imgb.OnClientClick = jCommand;
            imgb.Visible       = permiso.Crear;
        }
    }
        private void GuardarSustituciones(Dispositivo dispositivo, TDispositivo disp, SqlCeConnection conn)
        {
            IList <TSustitucion> sustituciones = CntSciTerminal.GetTSustituciones(disp, conn);

            foreach (TSustitucion sust in sustituciones)
            {
                Sustitucion sustitucion;
                var         rs = (from d in ctx.Sustitucions
                                  where d.SustitucionId == sust.SustitucionId && d.DispositivoOriginal.DispositivoId == dispositivo.DispositivoId
                                  select d).FirstOrDefault <Sustitucion>();
                if (rs != null)
                {
                    sustitucion         = rs;
                    sustitucion.Usuario = CntLainsaSci.GetUsuario(sust.TUsuario.UsuarioId, ctx);
                    if (!CntSciTerminal.FechaNula(sust.Fecha))
                    {
                        sustitucion.Fecha = sust.Fecha;
                    }
                    sustitucion.Estado = sust.Estado;
                    if (sust.TDispositivoSustituto != null)
                    {
                        sustitucion.DispositivoSustituto = CntLainsaSci.GetDispositivo(sust.TDispositivoSustituto.DispositivoId, ctx);
                    }
                    sustitucion.Comentarios = sust.Comentarios;
                }
                else
                {
                    Revision revision = null;
                    if (sust.TRevision != null)
                    {
                        revision = CntLainsaSci.GetRevision(sust.TRevision.RevisionId, ctx);
                    }
                    Programa p = null;
                    if (revision != null && revision.Programa != null)
                    {
                        p = CntLainsaSci.GetPrograma(revision.Programa.ProgramaId, ctx);
                    }
                    DateTime fecha = new DateTime();
                    if (!CntSciTerminal.FechaNula(sust.Fecha))
                    {
                        fecha = sust.Fecha;
                    }
                    Dispositivo d = null;
                    if (sust.TDispositivoSustituto != null)
                    {
                        d = CntLainsaSci.GetDispositivo(sust.TDispositivoSustituto.DispositivoId, ctx);
                    }
                    sustitucion = new Sustitucion()
                    {
                        Usuario              = CntLainsaSci.GetUsuario(sust.TUsuario.UsuarioId, ctx),
                        Revision             = revision,
                        Estado               = sust.Estado,
                        Programa             = p,
                        Comentarios          = sust.Comentarios,
                        Fecha                = fecha,
                        DispositivoOriginal  = dispositivo,
                        DispositivoSustituto = d,
                    };
                    ctx.Add(sustitucion);
                }
                ctx.SaveChanges();
            }
        }
        protected void GuardarSustituciones(SqlCeConnection conn, LainsaSci ctx)
        {
            IList <TSustitucion> ltsu = CntSciTerminal.GetTSustituciones(conn);

            foreach (TSustitucion tsu in ltsu)
            {
                if (tsu.Abm == 0)
                {
                    continue;               // no hay cambios
                }
                Sustitucion sustitucion;
                switch (tsu.Abm)
                {
                case 1:
                    // alta
                    // hay que controlar el doble procesamiento del fichero
                    Sustitucion sus = (from st in ctx.Sustitucions
                                       where st.DispositivoOriginal.DispositivoId == tsu.TDispositivoOriginal.DispositivoId &&
                                       st.DispositivoSustituto.DispositivoId == tsu.TDispositivoSustituto.DispositivoId &&
                                       st.Fecha == tsu.Fecha
                                       select st).FirstOrDefault <Sustitucion>();
                    if (sus != null)
                    {
                        break;                  // entendemos que ya se ha dado de alta en otro procesamiento.
                    }
                    sustitucion = new Sustitucion();
                    // atributos directos
                    sustitucion.Fecha       = tsu.Fecha;
                    sustitucion.Comentarios = tsu.Comentarios;
                    sustitucion.Estado      = tsu.Estado;
                    // atributos como objetos
                    if (tsu.TUsuario != null)
                    {
                        sustitucion.Usuario = CntLainsaSci.GetUsuario(tsu.TUsuario.UsuarioId, ctx);
                    }
                    if (tsu.TDispositivoOriginal != null)
                    {
                        sustitucion.DispositivoOriginal = CntLainsaSci.GetDispositivo(tsu.TDispositivoOriginal.DispositivoId, ctx);
                    }
                    if (tsu.TDispositivoSustituto != null)
                    {
                        sustitucion.DispositivoSustituto = CntLainsaSci.GetDispositivo(tsu.TDispositivoSustituto.DispositivoId, ctx);
                    }
                    if (tsu.TRevision != null)
                    {
                        sustitucion.Revision = CntLainsaSci.GetRevision(tsu.TRevision.RevisionId, ctx);
                    }
                    if (tsu.TPrograma != null)
                    {
                        sustitucion.Programa = CntLainsaSci.GetPrograma(tsu.TPrograma.ProgramaId, ctx);
                    }
                    ctx.Add(sustitucion);
                    ctx.SaveChanges();
                    break;

                case 2:
                    // baja
                    sustitucion = CntLainsaSci.GetSustitucion(tsu.SustitucionId, ctx);
                    if (sustitucion != null)
                    {
                        ctx.Delete(sustitucion);
                        ctx.SaveChanges();
                    }
                    break;

                case 3:
                    // modificacion
                    sustitucion = CntLainsaSci.GetSustitucion(tsu.SustitucionId, ctx);
                    if (sustitucion != null)
                    {
                        // atributos directos
                        sustitucion.Fecha       = tsu.Fecha;
                        sustitucion.Comentarios = tsu.Comentarios;
                        sustitucion.Estado      = tsu.Estado;
                        // atributos como objetos
                        if (tsu.TUsuario != null)
                        {
                            sustitucion.Usuario = CntLainsaSci.GetUsuario(tsu.TUsuario.UsuarioId, ctx);
                        }
                        if (tsu.TDispositivoOriginal != null)
                        {
                            sustitucion.DispositivoOriginal = CntLainsaSci.GetDispositivo(tsu.TDispositivoOriginal.DispositivoId, ctx);
                        }
                        if (tsu.TDispositivoSustituto != null)
                        {
                            sustitucion.DispositivoSustituto = CntLainsaSci.GetDispositivo(tsu.TDispositivoSustituto.DispositivoId, ctx);
                        }
                        if (tsu.TRevision != null)
                        {
                            sustitucion.Revision = CntLainsaSci.GetRevision(tsu.TRevision.RevisionId, ctx);
                        }
                        if (tsu.TPrograma != null)
                        {
                            sustitucion.Programa = CntLainsaSci.GetPrograma(tsu.TPrograma.ProgramaId, ctx);
                        }
                        ctx.SaveChanges();
                    }
                    break;
                }
            }
        }
    protected void Page_Init(object sender, EventArgs e)
    {
        // it gets an appropiate context (LainsaSciCTX -> web.config)
        ctx = new LainsaSci("LainsaSciCTX");
        // verify if a Usuario is logged
        usuario = CntWinWeb.IsSomeoneLogged(this, ctx);
        if (usuario == null)
        {
            Response.Redirect("Default.aspx");
        }
        else
        {
            Session["UsuarioId"] = usuario.UsuarioId;
        }
        if (Request.QueryString["Informe"] != null)
        {
            informe = Request.QueryString["Informe"];
            switch (informe)
            {
            case "RptInventario":
                RptInventario rptInventario = new RptInventario();
                this.Title = "Inventario por instalacion";
                if (usuario.Empresa != null)
                {
                    rptInventario.ReportParameters["Empresa"].Value   = usuario.Empresa.EmpresaId;
                    rptInventario.ReportParameters["Empresa"].Visible = false;
                }
                ReportViewer1.Report = rptInventario;
                break;

            case "RptIncidenciaEmpresa":
                RptIncidenciaEmpresa rptIncidenciaEmpresa = new RptIncidenciaEmpresa();
                this.Title = "Incidencias por empresa";
                if (usuario.Empresa != null)
                {
                    rptIncidenciaEmpresa.ReportParameters["Empresa"].Value   = usuario.Empresa.EmpresaId;
                    rptIncidenciaEmpresa.ReportParameters["Empresa"].Visible = false;
                }
                ReportViewer1.Report = rptIncidenciaEmpresa;
                break;
            }
        }
        if (Request.QueryString["Observaciones"] != null)
        {
            observaciones = Request.QueryString["Observaciones"];
        }
        if (Request.QueryString["FechaActa"] != null)
        {
            fechaActa = DateTime.Parse(Request.QueryString["FechaActa"]);
        }
        if (Request.QueryString["ActaNumero"] != null)
        {
            actaNumero = Request.QueryString["ActaNumero"];
        }
        if (Request.QueryString["TecnicoResponsable"] != null)
        {
            Usuario usu = CntLainsaSci.GetUsuario(int.Parse(Request.QueryString["TecnicoResponsable"]), ctx);
            tecnicoResponsable = usu.Nombre;
        }
        if (Request.QueryString["InstalacionId"] != null)
        {
            instalacion = CntLainsaSci.GetInstalacion(int.Parse(Request.QueryString["InstalacionId"]), ctx);
            if (instalacion == null)
            {
                empresa = CntLainsaSci.GetEmpresa(int.Parse(Request.QueryString["EmpresaId"]), ctx);
            }

            if (instalacion != null || empresa != null)
            {
                switch (informe)
                {
                case "RptActa":
                    // este informe es especial y en realidad es un book
                    Plantilla    plantilla        = CntLainsaSci.GetPlantilla(1, ctx); // la primera plantilla es la de acta.
                    string       numeroAutorizado = ConfigurationManager.AppSettings["NumeroAutorizado"];
                    string       contenido        = String.Format(plantilla.Contenido, numeroAutorizado, tecnicoResponsable, actaNumero, fechaActa);
                    ReportBook   reportBook       = new ReportBook();
                    RptCartaActa rptCartaActa     = new RptCartaActa(contenido);
                    reportBook.Reports.Add(rptCartaActa);
                    if (instalacion != null)
                    {
                        RptInformeActa rptInformeActa = new RptInformeActa(instalacion, observaciones, actaNumero, fechaActa, tecnicoResponsable, ctx);
                        reportBook.Reports.Add(rptInformeActa);
                    }
                    else
                    {
                        RptInformeActaEmpresa rptInformeActaEmpresa = new RptInformeActaEmpresa(empresa, observaciones, actaNumero, fechaActa, tecnicoResponsable, ctx);
                        reportBook.Reports.Add(rptInformeActaEmpresa);
                    }
                    ReportViewer1.Report = reportBook;
                    break;
                }
            }
        }
        else if (Request.QueryString["ProgramaId"] != null)
        {
            programa = CntLainsaSci.GetPrograma(int.Parse(Request.QueryString["ProgramaId"]), ctx);
            if (programa != null)
            {
                switch (informe)
                {
                case "RptPrograma2":
                    RptPrograma2 rptPrograma2 = new RptPrograma2(programa.ProgramaId, ctx);
                    ReportViewer1.Report = rptPrograma2;
                    break;

                case "RptRevisionFormulario":
                    RptRevisionFormulario rptRF = new RptRevisionFormulario(programa, ctx);
                    ReportViewer1.Report = rptRF;
                    break;

                case "RptInformePlanta":
                    RptInformePlanta rptIP = new RptInformePlanta(programa, ctx);
                    ReportViewer1.Report = rptIP;
                    break;
                }
            }
            newRecord = false;
        }
        else if (Request.QueryString["EmpresaId"] != null)
        {
            empresa = CntLainsaSci.GetEmpresa(int.Parse(Request.QueryString["EmpresaId"]), ctx);

            if (empresa != null)
            {
                desdeFecha = DateTime.Parse(Request.QueryString["DesdeFecha"]);
                hastaFecha = DateTime.Parse(Request.QueryString["HastaFecha"]);
                switch (informe)
                {
                case "RptResumenEmpresaInstalacion":
                    RptResumenEmpresaInstalacion rpt = new RptResumenEmpresaInstalacion(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), ctx);
                    ReportViewer1.Report = rpt;
                    break;

                case "RptFacturableEmpresaInstalacion":
                    RptFacturableEmpresaInstalacion rpt2 = new RptFacturableEmpresaInstalacion(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), ctx);
                    ReportViewer1.Report = rpt2;
                    break;

                case "RptResumenEmpresaTipoDispositivo":
                    RptResumenEmpresaTipoDispositivo rptT = new RptResumenEmpresaTipoDispositivo(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["TipoDispId"]), ctx);
                    ReportViewer1.Report = rptT;
                    break;

                case "RptFacturableEmpresaTipoDispositivo":
                    RptFacturableEmpresaTipoDispositivo rptT2 = new RptFacturableEmpresaTipoDispositivo(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["TipoDispId"]), ctx);
                    ReportViewer1.Report = rptT2;
                    break;

                case "RptResumenEmpresa":
                    RptResumenEmpresa rptE = new RptResumenEmpresa(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), int.Parse(Request.QueryString["TipoDispId"]), ctx);
                    ReportViewer1.Report = rptE;
                    break;

                case "RptFacturableEmpresa":
                    RptFacturableEmpresa rptE2 = new RptFacturableEmpresa(desdeFecha, hastaFecha, empresa.EmpresaId, int.Parse(Request.QueryString["InstId"]), int.Parse(Request.QueryString["TipoDispId"]), ctx);
                    ReportViewer1.Report = rptE2;
                    break;
                }
            }
        }
        else if (Request.QueryString["Filtro"] != null)
        {
            List <string> filtro   = (List <string>)Session["Filtro"];
            string        consulta = "";
            switch (informe)
            {
            case "RptConsultaRevision":
                if (Request.QueryString["mode"].ToString() == "G")
                {
                    RptConsultaRevisionGeneral cr = new RptConsultaRevisionGeneral(filtro);
                    ReportViewer1.Report = cr;
                }
                break;

            case "RptConsultaDispositivos":
                consulta = "Consulta dispositivos. ";
                if (Session["Consulta"] != null)
                {
                    consulta += (string)Session["Consulta"];
                }
                this.Title = consulta;

                if (Request.QueryString["mode"].ToString() == "D")
                {
                    RptConsultaDispositivos cd = new RptConsultaDispositivos(filtro, consulta);
                    ReportViewer1.Report = cd;
                }
                else
                {
                    RptConsultaDispositivosGeneral cd = new RptConsultaDispositivosGeneral(filtro, consulta);
                    ReportViewer1.Report = cd;
                }
                break;

            case "RptInfConsultaRevision":
                IList <Revision> lr = new List <Revision>();
                foreach (string rid in filtro)
                {
                    lr.Add(CntLainsaSci.GetRevision(int.Parse(rid), ctx));
                }
                consulta = "Consulta revisiones";
                if (Session["Consulta"] != null)
                {
                    consulta = (string)Session["Consulta"];
                }
                this.Title = consulta;
                RptInfConsultaRevision icr = new RptInfConsultaRevision(lr, consulta);
                ReportViewer1.Report = icr;
                break;
            }
        }
        // control de skin
        if (Session["Skin"] != null)
        {
            RadSkinManager1.Skin = Session["Skin"].ToString();
        }
    }
    protected void CrearInforme(Filtro f, string repositorio)
    {
        string consulta = string.Empty;

        Documento documento = new Documento();

        documento.Nombre      = f.Nombre;
        documento.Empresa     = usuario.Empresa;
        documento.Instalacion = usuario.Instalacion;
        documento.Fecha       = DateTime.Now;
        documento.Comentarios = "Informe generado automáticamente";
        documento.Extension   = "PDF";
        ctx.Add(documento);
        ctx.SaveChanges();

        string directorio    = repositorio;
        string nombreFichero = String.Format("{0:000000000}", documento.DocumentoId) + ".PDF";
        string fichero       = String.Format("{0}\\{1}", directorio, nombreFichero);

        ReportProcessor reportProcessor = new ReportProcessor();
        RenderingResult renderingResult = null;

        switch (f.Tipo)
        {
        case "Dsipositivo":
            List <string> dispositivos = new List <string>();
            //ConsDisp.AllowPaging = false;// disabling paging
            //ConsDisp.Rebind();
            foreach (GridDataItem item in ConsDisp.MasterTableView.Items)
            {
                dispositivos.Add(item["DispositivoId"].Text);
            }
            Session["Filtro"] = dispositivos;
            //ConsDisp.AllowPaging = true;// disabling paging
            //ConsDisp.Rebind();
            consulta = "Consulta dispositivos. " + f.Nombre;
            RptConsultaDispositivos cd = new RptConsultaDispositivos(dispositivos, consulta);
            renderingResult = reportProcessor.RenderReport("PDF", cd, null);
            break;

        case "Revision":
            List <string> revisiones = new List <string>();
            //ConsRev.AllowPaging = false;// disabling paging
            //ConsRev.Rebind();
            foreach (GridDataItem item in ConsRev.MasterTableView.Items)
            {
                revisiones.Add(item["RevisionId"].Text);
            }
            Session["Filtro"] = revisiones;
            //ConsRev.AllowPaging = true;// disabling paging
            //ConsDisp.Rebind();
            consulta = "Consulta revisiones. " + f.Nombre;
            IList <Revision> lr = new List <Revision>();
            foreach (string rid in revisiones)
            {
                lr.Add(CntLainsaSci.GetRevision(int.Parse(rid), ctx));
            }
            RptInfConsultaRevision icr = new RptInfConsultaRevision(lr, consulta);
            renderingResult = reportProcessor.RenderReport("PDF", icr, null);
            break;
        }

        FileStream fs = new FileStream(fichero, FileMode.Create);

        fs.Write(renderingResult.DocumentBytes, 0, renderingResult.DocumentBytes.Length);
        fs.Close();
    }
 protected void Page_Init(object sender, EventArgs e)
 {
     // it gets an appropiate context (LainsaSciCTX -> web.config)
     ctx = new LainsaSci("LainsaSciCTX");
     // verify if a Usuario is logged
     usuario = CntWinWeb.IsSomeoneLogged(this, ctx);
     if (usuario == null)
     {
         Response.Redirect("Default.aspx");
     }
     else
     {
         Session["UsuarioId"] = usuario.UsuarioId;
     }
     //
     // si llega aquí está autorizado
     permiso = CntLainsaSci.GetPermiso(usuario.GrupoUsuario, "sustituciongrid", ctx);
     if (permiso == null)
     {
         RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                               (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                               (string)GetGlobalResourceObject("ResourceLainsaSci", "NoPermissionsAssigned"));
         RadNotification1.Show();
         RadAjaxManager1.ResponseScripts.Add("closeWindow();");
     }
     btnAccept.Visible = permiso.Modificar;
     // Si esto no va antes de SustitucionDispositivoID tendrás problemas.
     if (Request.QueryString["Caller"] != null)
     {
         caller = Request.QueryString["Caller"];
         caller = caller.Replace("'", "");
     }
     // Esto es cuando es llamada desde una revisión
     if (Request.QueryString["RevisionId"] != null)
     {
         revision = CntLainsaSci.GetRevision(int.Parse(Request.QueryString["RevisionId"]), ctx);
         if (revision != null)
         {
             Title = String.Format("Sustitución [REV]: {0:dd/MM/yyyy} {1}",
                                   revision.FechaPlanificada,
                                   CntLainsaSci.GetNomLargo(revision.Dispositivo));
             rdcDispositivoOriginal.Items.Clear();
             rdcDispositivoOriginal.Items.Add(new RadComboBoxItem(CntLainsaSci.GetNomLargo(revision.Dispositivo),
                                                                  revision.Dispositivo.DispositivoId.ToString()));
             rdcDispositivoOriginal.SelectedValue = revision.Dispositivo.DispositivoId.ToString();
             Session["DispositivoOriginal"]       = revision.Dispositivo;
         }
     }
     // Is it a new record or not?
     if (Request.QueryString["SustitucionId"] != null)
     {
         sustitucion = CntLainsaSci.GetSustitucion(int.Parse(Request.QueryString["SustitucionId"]), ctx);
         LoadData(sustitucion);
         newRecord = false;
     }
     else
     {
         newRecord = true;
         CargarUsuarios(null);
         CargarEstados("");
     }
 }
Exemple #12
0
        protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
        {
            // we only process commands with a datasource (our image buttons)
            if (e.CommandSource == null)
            {
                return;
            }
            string typeOfControl = e.CommandSource.GetType().ToString();

            if (typeOfControl.Equals("System.Web.UI.WebControls.ImageButton"))
            {
                int         id   = 0;
                ImageButton imgb = (ImageButton)e.CommandSource;
                if (imgb.ID != "New" && imgb.ID != "Exit" && imgb.ID != "Program")
                {
                    id = (int)e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex][e.Item.OwnerTableView.DataKeyNames[0]];
                }
                switch (imgb.ID)
                {
                case "Select":
                    break;

                case "Edit":
                    break;

                case "Program":
                    bool     firstTime = true;
                    Programa prog      = null;
                    string   jCommand  = "";
                    foreach (GridDataItem dataItem in RadGrid1.MasterTableView.Items)
                    {
                        if (dataItem.Selected == true)
                        {
                            if (firstTime)
                            {
                                // Creamos el programa
                                prog             = new Programa();
                                prog.Usuario     = usuario;
                                prog.Comentarios = String.Format("Programación creada el {0:dd/MM/yyyy hh:mm:ss}", DateTime.Now);
                                firstTime        = false;
                            }
                            id = (int)dataItem.OwnerTableView.DataKeyValues[dataItem.ItemIndex][dataItem.OwnerTableView.DataKeyNames[0]];
                            Revision r = CntLainsaSci.GetRevision(id, ctx);
                            if (r != null)
                            {
                                r.Programa = prog;
                                r.Estado   = "PROGRAMADA";
                                prog.Revisions.Add(r);
                                CntLainsaSci.AgruparCompanyeros(r, prog, ctx);
                            }
                        }
                    }
                    CntLainsaSci.EliminarProgramadasInferiores(prog);
                    CntLainsaSci.ProgramarSustituciones(prog, ctx);
                    if (!CntLainsaSci.ProgramaMezclado(prog))
                    {
                        CntLainsaSci.CTXGuardar(ctx);
                        if (!firstTime)
                        {
                            //var url = "RevisionForm.aspx?Caller=ProgramarGrid&RevisionId=" + id;
                            //var name = "RevisionForm";
                            //openOutSide(url, name);
                            string url = String.Format("ProgramaForm.aspx?Caller=ProgramarGrid&ProgramaId={0}", prog.ProgramaId);
                            jCommand = String.Format("openOutSide('{0}','{1}');", url, "ProgramaForm");
                            RadAjaxManager1.ResponseScripts.Add(jCommand);
                        }
                    }
                    else
                    {
                        RadNotification1.Text = "No debe mezclar instalaciones";
                        RadNotification1.Show();
                    }
                    RefreshGrid(true);
                    break;

                case "Delete":
                    try
                    {
                        Revision revision = CntLainsaSci.GetRevision(id, ctx);
                        //PlanificacionRevision plan = revision.PlanificacionRevision;
                        //plan.Revisions.Remove(revision);
                        foreach (DatosRevision item in revision.DatosRevisions)
                        {
                            CntLainsaSci.CTXEliminar(item, ctx);
                        }
                        CntLainsaSci.CTXEliminar(revision, ctx);

                        //plan.FechaUltimaRevision = CntLainsaSci.GetFUltimarevision(plan, ctx);
                        CntLainsaSci.CTXGuardar(ctx);

                        RefreshGrid(true);
                    }
                    catch (Exception ex)
                    {
                        ControlDeError(ex);
                    }
                    break;
                }
            }
        }