Beispiel #1
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);
 }
    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, "ResponsableGrid", 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 ResponsableID 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["ResponsableId"] != null)
        {
            responsable = CntLainsaSci.GetResponsable(int.Parse(Request.QueryString["ResponsableId"]), ctx);
            LoadData(responsable);
            newRecord = false;
        }
        // control de skin
        if (Session["Skin"] != null)
        {
            RadSkinManager1.Skin = Session["Skin"].ToString();
        }
    }
    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
                {
                    Responsable responsable = CntLainsaSci.GetResponsable(id, ctx);
                    CntLainsaSci.CTXEliminar(responsable, ctx);
                    CntLainsaSci.CTXGuardar(ctx);
                    RefreshGrid(true);
                }
                catch (Exception ex)
                {
                    ControlDeError(ex);
                }
                break;
            }
        }
    }
        // 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();
            }
        }