private void GuardarIncidenciaEvolucions(TIncidencia ti, Incidencia inci, SqlCeConnection conn, LainsaSci ctx)
        {
            IList <TIncidenciaEvolucion> ltie = CntSciTerminal.GetTIncidenciaEvolucions(ti, conn);

            foreach (TIncidenciaEvolucion tie in ltie)
            {
                if (tie.Abm == 0)
                {
                    continue;               // no cambiada
                }
                switch (tie.Abm)
                {
                case 1:
                    // alta
                    // aqui no verificamos un doble pase de fcihero porque lo ha sido en la
                    // incidencia padre.
                    IncidenciaEvolucion ie = new IncidenciaEvolucion();
                    ie.Incidencia     = inci; // en esta rutina la incidencia es conocida
                    ie.FechaEvolucion = tie.FechaEvolucion;
                    ie.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                    ie.Comentarios    = tie.Comentarios;
                    ie.Operativo      = tie.Operativo;
                    ctx.Add(ie);
                    break;

                case 2:
                    // baja
                    IncidenciaEvolucion ie2 = CntLainsaSci.GetIncidenciaEvolucion(tie.IncidenciaEvolucionId, ctx);
                    if (ie2 != null)
                    {
                        ctx.Delete(ie2);
                    }
                    break;

                case 3:
                    // modificada
                    // este caso no debería darse pero por si acaso
                    IncidenciaEvolucion ie3 = CntLainsaSci.GetIncidenciaEvolucion(tie.IncidenciaEvolucionId, ctx);
                    if (ie3 != null)
                    {
                        Incidencia i3 = CntLainsaSci.GetIncidencia(tie.Incidencia.IncidenciaId, ctx);
                        ie3.Incidencia     = i3;
                        ie3.FechaEvolucion = tie.FechaEvolucion;
                        ie3.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                        ie3.Comentarios    = tie.Comentarios;
                        ie3.Operativo      = tie.Operativo;
                    }
                    break;

                default:
                    break;
                }
                ctx.SaveChanges();
            }
        }
        // guardar las evoluciones relacionadas con una incidencia.
        private void GuardarIncidenciaEvolucion(TIncidencia ti, int abm, SqlCeConnection conn, LainsaSci ctx)
        {
            Incidencia incidencia = CntLainsaSci.GetIncidencia(ti.IncidenciaId, ctx);

            if (incidencia == null)
            {
                return;
            }
            // caso de las bajas, se eliminan todas las asociadas.
            if (abm == 2)
            {
                ctx.Delete(incidencia.IncidenciaEvolucions);
            }
            else
            {
                IncidenciaEvolucion          ie;
                IList <TIncidenciaEvolucion> tlie = CntSciTerminal.GetTIncidenciaEvolucions(ti, conn);
                foreach (TIncidenciaEvolucion tie in tlie)
                {
                    if (tie.Abm == 0)
                    {
                        continue;
                    }
                    switch (tie.Abm)
                    {
                    case 1:
                        // alta
                        ie                = new IncidenciaEvolucion();
                        ie.Incidencia     = incidencia;
                        ie.FechaEvolucion = tie.FechaEvolucion;
                        ie.Comentarios    = tie.Comentarios;
                        ie.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                        ctx.Add(ie);
                        break;

                    case 2:
                        // baja
                        // ya ha sido tratado en un paso anterior.
                        break;

                    case 3:
                        // modificación
                        ie = CntLainsaSci.GetIncidenciaEvolucion(tie.IncidenciaEvolucionId, ctx);
                        ie.FechaEvolucion = tie.FechaEvolucion;
                        ie.Comentarios    = tie.Comentarios;
                        ie.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                        break;

                    default:
                        break;
                    }
                }
            }
        }
Example #3
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 != "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
                {
                    IncidenciaEvolucion incidenciaEvolucion = CntLainsaSci.GetIncidenciaEvolucion(id, ctx);
                    CntLainsaSci.CTXEliminar(incidenciaEvolucion, ctx);
                    CntLainsaSci.CTXGuardar(ctx);

                    RefreshGrid(true);
                }
                catch (Exception ex)
                {
                    ControlDeError(ex);
                }
                break;
            }
        }
    }
Example #4
0
    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 (incidencia != null)
            {
                img.OnClientClick = String.Format("newIncidenciaEvolucion('{0}');", incidencia.IncidenciaId);
            }
            // si la incidencia está cerrada no se pueden anotar evoluciones.
            if (incidencia != null && !CntLainsaSci.FechaNula(incidencia.FechaCierre))
            {
                img.Visible = false;
            }
        }
        if (e.Item is GridDataItem)
        {
            ImageButton         imgb                = null;
            string              jCommand            = "";
            GridDataItem        item                = (GridDataItem)e.Item;
            string              strKey              = item.GetDataKeyValue("IncidenciaEvolucionId").ToString();
            IncidenciaEvolucion incidenciaEvolucion = CntLainsaSci.GetIncidenciaEvolucion(int.Parse(strKey), ctx);

            if (CntLainsaSci.FechaNula(DateTime.Parse(item["FechaEvolucion"].Text)))
            {
                item["FechaEvolucion"].Text = "";
            }
            // 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,"IncidenciaEvolucion");
            //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");
            jCommand           = String.Format("editIncidenciaEvolucion({0});", strKey);
            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["IncidenciaEvolucionId"].Text, Resources.ResourceLainsaSci.DeleteRecord);
            imgb.OnClientClick = jCommand;
            imgb.Visible       = permiso.Crear;
            // si la incidencia está cerrada no se pueden eliminar evoluciones.
            if (incidencia != null && !CntLainsaSci.FechaNula(incidencia.FechaCierre))
            {
                imgb.Visible = false;
            }
        }
    }
        //
        private void GuardarIncidenciaEvolucions(SqlCeConnection conn, LainsaSci ctx)
        {
            IList <TIncidenciaEvolucion> ltie = CntSciTerminal.GetTIncidenciaEvolucions(conn);

            foreach (TIncidenciaEvolucion tie in ltie)
            {
                if (tie.Abm == 0)
                {
                    continue;               // no cambiada
                }
                if (tie.Incidencia.Abm == 1)
                {
                    continue;                          // las evoluciones de las incidencias creadas ya han sido procesadas (GuardarIncidencias)
                }
                switch (tie.Abm)
                {
                case 1:
                    // alta
                    // primero evitar un doble procesamiento
                    IncidenciaEvolucion ie1 = (from ine in ctx.IncidenciaEvolucions
                                               where ine.Incidencia.IncidenciaId == tie.Incidencia.IncidenciaId &&
                                               ine.FechaEvolucion == tie.FechaEvolucion &&
                                               ine.Comentarios == tie.Comentarios
                                               select ine).FirstOrDefault <IncidenciaEvolucion>();
                    if (ie1 != null)
                    {
                        break;                  // la evolución entendemos que ya ha sido dada de alta
                    }
                    IncidenciaEvolucion ie = new IncidenciaEvolucion();
                    Incidencia          i  = CntLainsaSci.GetIncidencia(tie.Incidencia.IncidenciaId, ctx);
                    ie.Incidencia     = i;
                    ie.FechaEvolucion = tie.FechaEvolucion;
                    ie.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                    ie.Comentarios    = tie.Comentarios;
                    ie.Operativo      = tie.Operativo;
                    ctx.Add(ie);
                    break;

                case 2:
                    // baja
                    IncidenciaEvolucion ie2 = CntLainsaSci.GetIncidenciaEvolucion(tie.IncidenciaEvolucionId, ctx);
                    if (ie2 != null)
                    {
                        ctx.Delete(ie2);
                    }
                    break;

                case 3:
                    // modificada
                    IncidenciaEvolucion ie3 = CntLainsaSci.GetIncidenciaEvolucion(tie.IncidenciaEvolucionId, ctx);
                    if (ie3 != null)
                    {
                        Incidencia i3 = CntLainsaSci.GetIncidencia(tie.Incidencia.IncidenciaId, ctx);
                        ie3.Incidencia     = i3;
                        ie3.FechaEvolucion = tie.FechaEvolucion;
                        ie3.Usuario        = CntLainsaSci.GetUsuario(tie.Usuario.UsuarioId, ctx);
                        ie3.Comentarios    = tie.Comentarios;
                        ie3.Operativo      = tie.Operativo;
                    }
                    break;

                default:
                    break;
                }
                ctx.SaveChanges();
            }
        }
        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();
            }
        }