예제 #1
0
 protected void rdcDispositivoOriginal_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
 {
     if (rdcDispositivoOriginal.SelectedValue != "")
     {
         Session["DispositivoOriginal"] = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivoOriginal.SelectedValue), ctx);
     }
 }
예제 #2
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, "dispositivogrid", ctx);
     //usuario.GrupoTrabajo = CntLainsaSci.GetGrupoTrabajo(1, 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["InTab"] != null)
     {
         mode = Request.QueryString["InTab"];
     }
     if (Request.QueryString["Caller"] != null)
     {
         caller = Request.QueryString["Caller"];
     }
     if (Request.QueryString["DispositivoId"] != null)
     {
         dispositivo = CntLainsaSci.GetDispositivo(int.Parse(Request.QueryString["DispositivoId"]), ctx);
         if (dispositivo != null)
         {
             RadGrid1.Columns.FindByDataField("dispositivo.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       = 7;
             RadGrid1.ShowGroupPanel = false;
         }
     }
     if (Request.QueryString["InFrame"] != null)
     {
         if (Request.QueryString["InFrame"] == "S")
         {
             crear = false;
         }
     }
 }
예제 #3
0
 protected void UnloadData(Incidencia incidencia)
 {
     if (rdcDispositivo.SelectedValue != "")
     {
         dispositivo = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivo.SelectedValue), ctx);
     }
     if (rdpFechaPrevista.SelectedDate != null)
     {
         incidencia.FechaPrevista = (DateTime)rdpFechaPrevista.SelectedDate;
     }
     incidencia.Usuario = usuario;
     if (CntLainsaSci.FechaNula(incidencia.FechaApertura))
     {
         incidencia.FechaApertura = DateTime.Now;
     }
     incidencia.Dispositivo = dispositivo;
     incidencia.Comentarios = txtComentarios.Text;
     incidencia.Operativo   = !chkOperativo.Checked;
     dispositivo.Operativo  = !chkOperativo.Checked;
     incidencia.SiguePlan   = !chkSiguePlan.Checked;
     dispositivo.SiguePlan  = incidencia.SiguePlan;
     incidencia.Estado      = CntLainsaSci.GetEstado(int.Parse(rdcEstado.SelectedValue), ctx);
     incidencia.Prioridad   = CntLainsaSci.GetPrioridad(int.Parse(rdcPrioridad.SelectedValue), ctx);
     incidencia.Responsable = CntLainsaSci.GetResponsable(int.Parse(rdcResponsable.SelectedValue), ctx);
 }
예제 #4
0
    protected void UnloadData(Sustitucion sustitucion)
    {
        sustitucion.Usuario              = CntLainsaSci.GetUsuario(int.Parse(rdcUsuario.SelectedValue), ctx);
        sustitucion.Fecha                = (DateTime)dtpFecha.SelectedDate;
        sustitucion.DispositivoOriginal  = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivoOriginal.SelectedValue), ctx);
        sustitucion.DispositivoSustituto = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivoSustituto.SelectedValue), ctx);
        sustitucion.Comentarios          = txtComentarios.Text;
        sustitucion.Estado               = "REALIZADA"; // si llega aquí es realizada fijo.
        // control de estados
        Dispositivo dspo = sustitucion.DispositivoOriginal;
        Dispositivo dsps = sustitucion.DispositivoSustituto;

        dspo.Estado = "A";
        if (dsps.Funcion == "R")
        {
            dsps.Estado = "S";
        }
        else
        {
            dsps.Estado = "N";
        }
        //Control de posición
        if (rbInt.Checked)
        {
            string pos_orig = dspo.Posicion;
            dspo.Posicion = dsps.Posicion;
            dsps.Posicion = pos_orig;
        }
    }
예제 #5
0
    protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
        // Se manda en los argumentos el código del dispositivo
        // hay que cargar las plantillas en consonancia
        Dispositivo dsp = CntLainsaSci.GetDispositivo(int.Parse(e.Argument), ctx);

        CargarPlantillas(dsp);
    }
예제 #6
0
 protected void rdcDispositivo_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
 {
     if (rdcDispositivo.SelectedValue != "")
     {
         // Veamos qué se ha seleccionado
         dispositivo = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivo.SelectedValue), ctx);
         CargarPlantillas(dispositivo);
     }
 }
예제 #7
0
    protected void rdcDispositivoOriginal_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
    {
        Dispositivo dispositivoOriginal;

        if (rdcDispositivoOriginal.SelectedValue != "")
        {
            dispositivoOriginal            = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivoOriginal.SelectedValue), ctx);
            Session["DispositivoOriginal"] = dispositivoOriginal;
            CargarPosiblesSustitutos(dispositivoOriginal);
        }
    }
예제 #8
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, "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();");
     }
     CntWinWeb.TranslateRadGridFilters(RadGrid1);
     if (Request.QueryString["Intab"] != null)
     {
         mode = Request.QueryString["Intab"];
     }
     if (Request.QueryString["Caller"] != null)
     {
         caller = Request.QueryString["Caller"];
     }
     if (Request.QueryString["DispositivoId"] != null)
     {
         dispositivo = CntLainsaSci.GetDispositivo(int.Parse(Request.QueryString["DispositivoId"]), ctx);
         if (dispositivo != null)
         {
             RadGrid1.Columns.FindByDataField("PlanificacionRevision.dispositivo.Nombre").Visible = false;
         }
     }
     //Inicializamos la primera vez que entramos al grid de revisiones a programar, la variable de sesión que almacenará las revisiones seleccionadas
     if (!IsPostBack)
     {
         Session["selectedItems"] = null;
     }
     // control de skin
     if (Session["Skin"] != null)
     {
         RadSkinManager1.Skin = Session["Skin"].ToString();
     }
 }
예제 #9
0
        protected void UnloadData(Incidencia incidencia)
        {
            if (rdcDispositivo.SelectedValue != "")
            {
                dispositivo = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivo.SelectedValue), ctx);
            }

            incidencia.Usuario     = usuario;
            incidencia.Fecha       = DateTime.Now;
            incidencia.Dispositivo = dispositivo;
            incidencia.Comentarios = txtComentarios.Text;
            incidencia.Operativo   = !chkOperativo.Checked;
            dispositivo.Operativo  = !chkOperativo.Checked;
        }
예제 #10
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")
            {
                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
                {
                    Dispositivo dispositivo = CntLainsaSci.GetDispositivo(id, ctx);
                    if (dispositivo.Revisiones != null)
                    {
                        if (dispositivo.Revisiones.Count > 0)
                        {
                            ControlDeError(new Exception(string.Format("No se puede borrar el dispositivo con ID = {0}.\nTiene revisiones asignadas.", dispositivo.DispositivoId)));
                            break;
                        }
                    }

                    CntLainsaSci.BorrarDispositivo(dispositivo, ctx);
                    CntLainsaSci.CTXGuardar(ctx);
                    RefreshGrid(true);
                }
                catch (Exception ex)
                {
                    ControlDeError(ex);
                }
                break;
            }
        }
    }
예제 #11
0
        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, "IncidenciaGrid", 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["InTab"] != null)
            {
                inTab = Request.QueryString["InTab"];
            }
            if (Request.QueryString["Caller"] != null)
            {
                caller = Request.QueryString["Caller"];
            }
            if (Request.QueryString["DispositivoId"] != null)
            {
                dispositivo = CntLainsaSci.GetDispositivo(int.Parse(Request.QueryString["DispositivoId"]), ctx);
                RadGrid1.Columns.FindByDataField("Dispositivo.Nombre").Visible = false;
            }
            // control de skin
            if (Session["Skin"] != null)
            {
                RadSkinManager1.Skin = Session["Skin"].ToString();
            }
        }
    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;
        }

        CntWinWeb.TranslateRadGridFilters(RadGrid1);
        if (Request.QueryString["InTab"] != null)
        {
            mode = Request.QueryString["InTab"];
        }
        if (Request.QueryString["Caller"] != null)
        {
            caller = Request.QueryString["Caller"];
        }
        if (Request.QueryString["DispositivoId"] != null)
        {
            dispositivo = CntLainsaSci.GetDispositivo(int.Parse(Request.QueryString["DispositivoId"]), ctx);
            if (dispositivo != null)
            {
                RadGrid1.Columns.FindByDataField("dispositivo.Nombre").Visible = false;
            }
        }
        if (Request.QueryString["ProgramaId"] != null)
        {
            programa = CntLainsaSci.GetPrograma(int.Parse(Request.QueryString["ProgramaId"]), ctx);
            if (programa != null)
            {
            }
        }
        RadScriptManager1.RegisterPostBackControl(this.FindControl("pnlBtnExcel"));
        // control de skin
        if (Session["Skin"] != null)
        {
            RadSkinManager1.Skin = Session["Skin"].ToString();
        }
    }
예제 #13
0
 /// <summary>
 /// Descarga los controles y los asigna a los atributos
 /// </summary>
 protected void DescargarControles(Revision revision)
 {
     if (revision == null)
     {
         revision = new Revision();
         ctx.Add(revision);
     }
     revision.Dispositivo       = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivo.SelectedValue), ctx);
     revision.PlantillaRevision = CntLainsaSci.GetPlantillaRevision(int.Parse(rdcPlantilla.SelectedValue), ctx);
     revision.FechaPlanificada  = (DateTime)rdtFecha.SelectedDate;
     revision.Usuario           = CntLainsaSci.GetUsuario(int.Parse(rdcUsuario.SelectedValue), ctx);
     revision.Estado            = "PLANIFICADA";
     // Ahora hay que crear los datos asociados a esa revisión
     foreach (Campo c in revision.PlantillaRevision.Campos)
     {
         DatosRevision dr = new DatosRevision();
         dr.Campo    = c;
         dr.Revision = revision;
         ctx.Add(dr);
     }
     ctx.SaveChanges();
 }
예제 #14
0
    protected bool DataOk()
    {
        // controlamos los equipos
        Dispositivo dspo = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivoOriginal.SelectedValue), ctx);
        Dispositivo dsps = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivoSustituto.SelectedValue), ctx);

        if (dspo.Instalacion.InstalacionId != dsps.Instalacion.InstalacionId)
        {
            RadNotification1.Text = "Los dispositivos pertenecen a diferentes instalaciones";
            RadNotification1.Show();
            return(false);
        }
        if (dspo.TipoDispositivo.TipoId != dsps.TipoDispositivo.TipoId)
        {
            RadNotification1.Text = "Los dispositivos son de diferente tipo";
            RadNotification1.Show();
            return(false);
        }
        if (dsps.Estado != "A")
        {
            RadNotification1.Text = "El sustituto no figura en almacen";
            RadNotification1.Show();
            return(false);
        }
        if (dspo.Estado == "A")
        {
            RadNotification1.Text = "El dispositivo original figura en el almacén";
            RadNotification1.Show();
            return(false);
        }
        //if (dsps.Estado == "S")
        //{
        //    RadNotification1.Text = "Los dispositivo sustituto tiene estado 'SUSTITUIDO'";
        //    RadNotification1.Show();
        //    return false;
        //}
        return(true);
    }
예제 #15
0
    protected void rdcDispositivoSustituto_ItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e)
    {
        if (e.Text == "")
        {
            return;
        }
        if (rdcDispositivoOriginal.SelectedValue == "")
        {
            return;
        }
        Dispositivo dispositivoOriginal = CntLainsaSci.GetDispositivo(int.Parse(rdcDispositivoOriginal.SelectedValue), ctx);

        if (dispositivoOriginal == null)
        {
            return;
        }
        RadComboBox combo = (RadComboBox)sender;

        combo.Items.Clear();
        foreach (Dispositivo dsp in CntLainsaSci.GetPosiblesSustitutos(e.Text, usuario, dispositivoOriginal, ctx))
        {
            combo.Items.Add(new RadComboBoxItem(CntLainsaSci.GetNomLargo(dsp), dsp.DispositivoId.ToString()));
        }
    }
예제 #16
0
        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;
                }
            }
        }
예제 #17
0
 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();
 }
예제 #18
0
 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, "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;
     // Si esto no va antes de DispositivoID tendrás problemas.
     if (Request.QueryString["Caller"] != null)
     {
         caller = Request.QueryString["Caller"];
         caller = caller.Replace("'", "");
     }
     // Mirar si se ha pasado una Instalacion
     if (Request.QueryString["RevisionId"] != null)
     {
         instalacion = CntLainsaSci.GetInstalacion(int.Parse(Request.QueryString["RevisionId"]), ctx);
         CargarInstalaciones(instalacion);
     }
     else
     {
         CargarInstalaciones(null);
     }
     if (Request.QueryString["DispositivoPadreId"] != null)
     {
         dispositivoPadre = CntLainsaSci.GetDispositivo(int.Parse(Request.QueryString["DispositivoPadreId"]), ctx);
         instalacion      = CntLainsaSci.GetInstalacion(dispositivoPadre.Instalacion.InstalacionId, ctx);
         CargaInstalacion(instalacion);
     }
     // Is it a new record or not?
     if (Request.QueryString["DispositivoId"] != null)
     {
         dispositivo      = CntLainsaSci.GetDispositivo(int.Parse(Request.QueryString["DispositivoId"]), ctx);
         dispositivoPadre = dispositivo.DispositivoPadre;
         // comprobamos los resumenes
         CntLainsaSci.CrearResumenesRevision(dispositivo, ctx);
         LoadData(dispositivo);
         newRecord = false;
     }
     else
     {
         CargarFunciones(null);
         CargarEstados(null);
         CargarTipos(0);
         //CargarModelos(0); // de momento los modelos dependen de los tipos
         CargarFabricantes(0);
         CargarAgentesExtintores(0);
         if (instalacion == null && usuario.Instalacion != null)
         {
             instalacion = usuario.Instalacion;
             CargaInstalacion(instalacion);
         }
     }
     if (Request.QueryString["Modo"] != null)
     {
         modo = Request.QueryString["Modo"];
         if (modo == "S")
         {
             // en silencio
             btnAccept.Visible = false;
         }
     }
     // control de skin
     if (Session["Skin"] != null)
     {
         RadSkinManager1.Skin = Session["Skin"].ToString();
     }
 }
        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, "IncidenciaGrid", 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 DispositivoID tendrás problemas.
            if (Request.QueryString["Caller"] != null)
            {
                caller = Request.QueryString["Caller"];
                caller = caller.Replace("'", "");
            }
            // Is it a new record or not?
            if (Request.QueryString["IncidenciaEvolucionId"] != null)
            {
                incidenciaEvo = CntLainsaSci.GetIncidenciaEvolucion(int.Parse(Request.QueryString["IncidenciaEvolucionId"]), ctx);
                incidencia    = incidenciaEvo.Incidencia;
                dispositivo   = incidencia.Dispositivo;
                LoadData(incidenciaEvo);
                Title     = String.Format("Inc. Evolución ID:{0}", incidenciaEvo.IncidenciaEvolucionId);
                newRecord = false;
            }
            else
            {
                txtUsuario.Text        = usuario.Nombre;
                txtFechaEvolucion.Text = DateTime.Now.ToString();
            }
            if (Request.QueryString["IncidenciaId"] != null)
            {
                incidencia          = CntLainsaSci.GetIncidencia(int.Parse(Request.QueryString["IncidenciaId"]), ctx);
                dispositivo         = incidencia.Dispositivo;
                txtDispositivo.Text = dispositivo.Nombre;
            }
            if (Request.QueryString["DispositivoId"] != null)
            {
                dispositivo         = CntLainsaSci.GetDispositivo(int.Parse(Request.QueryString["DispositivoId"]), ctx);
                txtDispositivo.Text = dispositivo.Nombre;
            }
            if (Request.QueryString["Modo"] != null)
            {
                modo = Request.QueryString["Modo"];
                if (modo == "S")
                {
                    // en silencio
                    btnAccept.Visible = false;
                }
            }
            // control de skin
            if (Session["Skin"] != null)
            {
                RadSkinManager1.Skin = Session["Skin"].ToString();
            }
        }
예제 #20
0
        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();
            }
        }
예제 #21
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, "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();");
        }
        if (Request.QueryString["Mode"] != null)
        {
            mode = Request.QueryString["Mode"];
        }
        if (Request.QueryString["Caller"] != null)
        {
            caller = Request.QueryString["Caller"];
            if (caller.Equals("DispositivoTab"))
            {
                RadTabStrip1.Tabs[1].Visible = false;
                this.Title = String.Format("Accesorio");
            }
        }
        if (Request.QueryString["DispositivoId"] != null)
        {
            dispositivoId = int.Parse(Request.QueryString["DispositivoId"]);
            Dispositivo dispositivo = CntLainsaSci.GetDispositivo(dispositivoId, ctx);
            if (caller.Equals("DispositivoTab"))
            {
                this.Title = String.Format("Accesorio: {0}", dispositivo.Nombre);
            }
            else
            {
                this.Title = String.Format("Dispositivo: {0}", dispositivo.Nombre);
            }
        }
        else
        {
            CntWinWeb.OcultarPestanyas(RadTabStrip1);
        }
        if (Request.QueryString["InstalacionId"] != null)
        {
            instalacionId = int.Parse(Request.QueryString["InstalacionId"]);
        }

        if (Request.QueryString["DispositivoPadreId"] != null)
        {
            dispositivoPadreId = int.Parse(Request.QueryString["DispositivoPadreId"]);
        }
    }
예제 #22
0
        private void GuardarDispositivos(SqlCeConnection conn)
        {
            IList <TDispositivo> disps   = CntSciTerminal.GetTDispositivos(conn);
            RadProgressContext   context = RadProgressContext.Current;

            context.PrimaryTotal   = 1;
            context.PrimaryValue   = 1;
            context.PrimaryPercent = 100;
            int total = disps.Count;

            context.SecondaryTotal = total;
            int i = 0;

            foreach (TDispositivo disp in disps)
            {
                i++;
                if (disp.Abm == 0)
                {
                    continue;
                }
                RadProgress(context, i, total, disp.Nombre);
                // hay tres casos posible segun el valor de ABM
                // 0 = No cambia
                // 1 = nuevo
                // 2 = baja
                // 3 = modificación
                Dispositivo dispositivo;
                switch (disp.Abm)
                {
                case 1:
                    // nuevo
                    // primero comprobamos que ese dispositivo no se ha dado de alta previamente
                    Dispositivo dsp = (from d in ctx.Dispositivos
                                       where d.CodBarras == disp.CodBarras
                                       select d).FirstOrDefault <Dispositivo>();
                    if (dsp != null)
                    {
                        break;                  // ya existe han cargado dos veces el fichero.
                    }
                    dispositivo                 = new Dispositivo();
                    dispositivo.Nombre          = disp.Nombre;
                    dispositivo.Instalacion     = CntLainsaSci.GetInstalacion(disp.Instalacion.InstalacionId, ctx);
                    dispositivo.Operativo       = disp.Operativo;
                    dispositivo.TipoDispositivo = CntLainsaSci.GetTipoDispositivo(disp.Tipo.TipoId, ctx);
                    if (disp.Modelo != null)
                    {
                        dispositivo.ModeloDispositivo = CntLainsaSci.GetModelodispositivo(disp.Modelo.ModeloId, ctx);
                    }
                    dispositivo.CodBarras = disp.CodBarras;
                    dispositivo.Funcion   = "";
                    dispositivo.Estado    = disp.Estado;
                    dispositivo.Caducado  = false;
                    dispositivo.CargaKg   = 0;
                    ctx.Add(dispositivo);
                    break;

                case 2:
                    // baja
                    dispositivo = CntLainsaSci.GetDispositivo(disp.DispositivoId, ctx);
                    if (dispositivo != null)
                    {
                        ctx.Delete(dispositivo);
                    }
                    break;

                case 3:
                    // modificación
                    dispositivo = CntLainsaSci.GetDispositivo(disp.DispositivoId, ctx);
                    if (dispositivo != null)
                    {
                        dispositivo.Operativo = disp.Operativo;
                        dispositivo.Estado    = disp.Estado;
                    }
                    break;

                default:
                    break;
                }
                ctx.SaveChanges();
            }
            context.CurrentOperationText = "Importación finalizada.";
            context.OperationComplete    = true;
        }
예제 #23
0
        // lee secuancialmente las incidencias del fichero de terminal y las guarda en la base de datos
        private void GuardarIncidencias(SqlCeConnection conn, LainsaSci ctx)
        {
            IList <TIncidencia> lti = CntSciTerminal.GetTIncidencias(conn);
            Incidencia          incidencia;

            foreach (TIncidencia ti in lti)
            {
                // no ha sufrido cambios
                if (ti.Abm == 0)
                {
                    continue;
                }
                switch (ti.Abm)
                {
                case 1:
                    // alta
                    // comprobar que no se ha dado de alta previamente
                    // es el caso de recarga del mismo fichero
                    Incidencia inci = (from i in ctx.Incidencias
                                       where i.Dispositivo.DispositivoId == ti.TDispositivo.DispositivoId &&
                                       i.FechaApertura == ti.FechaApertura &&
                                       i.Comentarios == ti.Comentarios
                                       select i).FirstOrDefault <Incidencia>();
                    if (inci != null)
                    {
                        break;
                    }
                    incidencia = new Incidencia();
                    incidencia.FechaApertura = ti.FechaApertura;
                    incidencia.FechaPrevista = ti.FechaPrevista;
                    incidencia.FechaCierre   = ti.FechaCierre;
                    incidencia.Dispositivo   = CntLainsaSci.GetDispositivo(ti.TDispositivo.DispositivoId, ctx);
                    if (ti.TEstado != null)
                    {
                        incidencia.Estado = CntLainsaSci.GetEstado(ti.TEstado.EstadoId, ctx);
                    }
                    if (ti.TPrioridad != null)
                    {
                        incidencia.Prioridad = CntLainsaSci.GetPrioridad(ti.TPrioridad.PrioridadId, ctx);
                    }
                    if (ti.TResponsable != null)
                    {
                        incidencia.Responsable = CntLainsaSci.GetResponsable(ti.TResponsable.ResponsableId, ctx);
                    }
                    incidencia.Usuario     = CntLainsaSci.GetUsuario(ti.TUsuario.UsuarioId, ctx);
                    incidencia.Comentarios = ti.Comentarios;
                    incidencia.Operativo   = ti.Operativo;
                    incidencia.SiguePlan   = true;   // hasta que no se cambie el programa de terminal para que contemple ese campo.
                    ctx.Add(incidencia);
                    ctx.SaveChanges();
                    // Si es un alta hay que verificar que las evoluciones asociadas se cree contra
                    // la incidencia de servidor correcta.
                    GuardarIncidenciaEvolucions(ti, incidencia, conn, ctx);
                    break;

                case 2:
                    incidencia = CntLainsaSci.GetIncidencia(ti.IncidenciaId, ctx);
                    if (incidencia != null)
                    {
                        ctx.Delete(incidencia.IncidenciaEvolucions);
                        ctx.SaveChanges();
                        ctx.Delete(incidencia);
                        ctx.SaveChanges();
                    }
                    break;

                case 3:
                    incidencia = CntLainsaSci.GetIncidencia(ti.IncidenciaId, ctx);
                    incidencia.FechaApertura = ti.FechaApertura;
                    incidencia.FechaPrevista = ti.FechaPrevista;
                    incidencia.FechaCierre   = ti.FechaCierre;
                    incidencia.Dispositivo   = CntLainsaSci.GetDispositivo(ti.TDispositivo.DispositivoId, ctx);
                    if (ti.TEstado != null)
                    {
                        incidencia.Estado = CntLainsaSci.GetEstado(ti.TEstado.EstadoId, ctx);
                    }
                    if (ti.TPrioridad != null)
                    {
                        incidencia.Prioridad = CntLainsaSci.GetPrioridad(ti.TPrioridad.PrioridadId, ctx);
                    }
                    if (ti.TResponsable != null)
                    {
                        incidencia.Responsable = CntLainsaSci.GetResponsable(ti.TResponsable.ResponsableId, ctx);
                    }
                    incidencia.Usuario     = CntLainsaSci.GetUsuario(ti.TUsuario.UsuarioId, ctx);
                    incidencia.Comentarios = ti.Comentarios;
                    incidencia.Operativo   = ti.Operativo;
                    break;

                default:
                    break;
                }
                ctx.SaveChanges();
            }
        }