コード例 #1
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;
        }
    }
コード例 #2
0
 protected void LoadData(Sustitucion sustitucion)
 {
     txtSustitucionId.Text = sustitucion.SustitucionId.ToString();
     CargarUsuarios(sustitucion.Usuario);
     CargarEstados(sustitucion.Estado);
     if (!CntLainsaSci.FechaNula(sustitucion.Fecha))
     {
         dtpFecha.SelectedDate = sustitucion.Fecha;
     }
     txtComentarios.Text = sustitucion.Comentarios;
     rdcDispositivoOriginal.Items.Clear();
     Session["DispositivoOriginal"] = sustitucion.DispositivoOriginal;
     rdcDispositivoOriginal.Items.Add(new RadComboBoxItem(CntLainsaSci.GetNomLargoModelo(sustitucion.DispositivoOriginal),
                                                          sustitucion.DispositivoOriginal.DispositivoId.ToString()));
     rdcDispositivoOriginal.SelectedValue = sustitucion.DispositivoOriginal.DispositivoId.ToString();
     if (sustitucion.DispositivoSustituto != null)
     {
         rdcDispositivoSustituto.Items.Clear();
         rdcDispositivoSustituto.Items.Add(new RadComboBoxItem(CntLainsaSci.GetNomLargo(sustitucion.DispositivoSustituto),
                                                               sustitucion.DispositivoSustituto.DispositivoId.ToString()));
         rdcDispositivoSustituto.SelectedValue = sustitucion.DispositivoSustituto.DispositivoId.ToString();
     }
     else
     {
         CargarPosiblesSustitutos(sustitucion.DispositivoOriginal);
     }
 }
コード例 #3
0
    protected bool DataOk()
    {
        if (txtResultado.Text == "")
        {
            RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                                  (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                                  (string)GetGlobalResourceObject("ResourceLainsaSci", "NombreNeeded"));
            RadNotification1.Show();
            return(false);
        }
        if (rdpFechaRevision.SelectedDate == null)
        {
            RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
                                                  (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
                                                  (string)GetGlobalResourceObject("ResourceLainsaSci", "FechaRevisionNeeded"));
            RadNotification1.Show();
            return(false);
        }
        // Hay que controlar si hay un cambio programado pendiente
        if (revision != null)
        {
            Sustitucion sus = (from s in revision.Sustitucions
                               where s.Estado == "PROGRAMADA"
                               select s).FirstOrDefault <Sustitucion>();
            if (sus != null)
            {
                RadNotification1.Text = "Hay un cambio programado pendiente, hágalo antes de cerrar la revisión";
                RadNotification1.Show();
                return(false);
            }
            // Ha habido un cambio?
            if (revision.Sustitucions.Count == 1)
            {
                // Preguntamos si quiere hacer descambio
                string mens = "El dispositivo de esta revisión fué cambiado por un sustituto ¿Desea descambiar los dispositivos?";
                RadWindowManager1.RadConfirm(mens, "retornoConfirm", 330, 110, null, "DESCAMBIO");
                return(false);
            }
        }
        //if (rdpFechaRevision.SelectedDate < rdpFechaPlanificada.SelectedDate)
        //{
        //    RadNotification1.Text = String.Format("<b>{0}</b><br/>{1}",
        //                                          (string)GetGlobalResourceObject("ResourceLainsaSci", "Warning"),
        //                                          (string)GetGlobalResourceObject("ResourceLainsaSci", "RevisionMenosPlanificacion"));
        //    RadNotification1.Show();
        //    return false;
        //}

        return(true);
    }
コード例 #4
0
 protected void btnAccept_Click(object sender, ImageClickEventArgs e)
 {
     try
     {
         if (!DataOk())
         {
             return;
         }
         if (newRecord)
         {
             sustitucion = new Sustitucion();
             if (revision != null)
             {
                 sustitucion.Revision = revision;
             }
         }
         UnloadData(sustitucion);
         if (newRecord)
         {
             ctx.Add(sustitucion);
         }
         ctx.SaveChanges();
         if (revision == null)
         {
             if (newRecord)
             {
                 RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'new');"
                                                                   , caller));
             }
             else
             {
                 RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');"
                                                                   , caller));
             }
         }
         else
         {
             RadAjaxManager1.ResponseScripts.Add("closeWindow();");
         }
     }
     catch (Exception ex)
     {
         ControlDeError(ex);
     }
 }
コード例 #5
0
        ProgramarSustituciones(Programa prog, LainsaSci ctx)
        {
            // primero buscamos si hay revisiones con marca de sustitución
            var rs = from r in prog.Revisions
                     where r.PlantillaRevision.ConSustitucion == true
                     select r;

            foreach (Revision rev in rs)
            {
                Sustitucion s = new Sustitucion()
                {
                    Fecha = prog.FechaProgramada,
                    DispositivoOriginal = rev.Dispositivo,
                    Estado   = "PROGRAMADA",
                    Revision = rev,
                    Programa = prog
                };
                ctx.Add(s);
            }
        }
コード例 #6
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
                {
                    Sustitucion sustitucion = CntLainsaSci.GetSustitucion(id, ctx);
                    CntLainsaSci.CTXEliminar(sustitucion, ctx);
                    CntLainsaSci.CTXGuardar(ctx);
                    RefreshGrid(true);
                }
                catch (Exception ex)
                {
                    ControlDeError(ex);
                }
                break;
            }
        }
    }
コード例 #7
0
        protected void CrearSustitucion(object Sender, EventArgs E)
        {
            if (dtSustitucion.Rows.Count == 0)
            {
                Utils.MostrarAlerta(Response, "No se ha seleccionado ningun item para realizar sustituciones.\\nRevise Por Favor");
                return;
            }
            Sustitucion miSustitucion = new Sustitucion(prefijo, Convert.ToUInt32(numero), dtSustitucion);

            miSustitucion.Fecha   = DateTime.Now.ToString("yyyy-MM-dd");
            miSustitucion.Usuario = HttpContext.Current.User.Identity.Name;
            if (miSustitucion.CrearSustitucion())
            {
                //lb.Text += "<br>Bien "+miSustitucion.ProcessMsg;
                Utils.MostrarAlerta(Response, "La sustitucion ha sido realizada Satisfactoriamente !!! ");
                Response.Redirect(indexPage + "?process=Inventarios.AdminSustitucion");
            }
            else
            {
                lb.Text += "<br>Error " + miSustitucion.ProcessMsg;
            }
        }
コード例 #8
0
        private static void CargarSustitucion(Sustitucion s, SqlCeConnection conn, LainsaSci ctx)
        {
            TPrograma    tpr    = null;
            TUsuario     tusu   = null;
            TDispositivo tdispo = null;
            TDispositivo tdisps = null;

            if (s.Usuario != null)
            {
                tusu = CntSciTerminal.GetTUsuario(s.Usuario.UsuarioId, conn);
            }
            if (s.Programa != null)
            {
                tpr = CntSciTerminal.GetTPrograma(s.Programa.ProgramaId, conn);
            }
            if (s.DispositivoOriginal != null)
            {
                tdispo = CntSciTerminal.GetTDispositivo(s.DispositivoOriginal.DispositivoId, conn);
            }
            if (s.DispositivoSustituto != null)
            {
                tdisps = CntSciTerminal.GetTDispositivo(s.DispositivoSustituto.DispositivoId, conn);
            }
            TSustitucion ts = new TSustitucion()
            {
                SustitucionId         = s.SustitucionId,
                Comentarios           = s.Comentarios,
                Estado                = s.Estado,
                TUsuario              = tusu,
                TDispositivoOriginal  = tdispo,
                TDispositivoSustituto = tdisps,
                TPrograma             = tpr,
                Fecha = s.Fecha
            };

            CntSciTerminal.TSave(ts, conn);
        }
コード例 #9
0
    protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
        string valor = e.Argument;
        string tipo  = valor.Substring(0, 1);

        valor = valor.Substring(1);
        switch (tipo)
        {
        case "A":
            DateTime fechaBaja;
            if (DateTime.TryParse(valor, out fechaBaja))
            {
                revision.Dispositivo.Caducado  = true;
                revision.Dispositivo.FechaBaja = fechaBaja;
                ctx.SaveChanges();
                CntLainsaSci.EliminarRevisionesPendientes(revision.Dispositivo, ctx, revision);
                string mensaje = String.Format("El dispositivo ha sido dado de baja con fecha {0:dd/MM/yyyy}", fechaBaja);
                RadWindowManager1.RadAlert(mensaje, 330, 110, "DADO DE BAJA", "retornoAlert");
                RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller));
                //string jCommand = String.Format("radalert('{0}');", mensaje);
                //RadAjaxManager1.ResponseScripts.Add(jCommand);
            }
            else
            {
                string mensaje = (string)GetGlobalResourceObject("ResourceLainsaSci", "DateNeeded");
                mensaje = "La fecha introducida es incorrecta";
                RadWindowManager1.RadAlert(mensaje, 330, 110, "AVISO", "retornoAlert");
                //string jCommand = String.Format("radalert('{0}');", mensaje);
                //RadAjaxManager1.ResponseScripts.Add(jCommand);
            }
            break;

        case "B":
            if (valor == "true")
            {
                // quiere descambiar
                Sustitucion s  = revision.Sustitucions[0];    // solo tiene que estar el cambio inicial
                Sustitucion ns = new Sustitucion()
                {
                    DispositivoOriginal  = s.DispositivoSustituto,
                    DispositivoSustituto = s.DispositivoOriginal,
                    Fecha    = DateTime.Now,
                    Revision = revision
                };
                ns.Estado = "REALIZADA";     // si llega aquí es realizada fijo.
                // control de estados
                Dispositivo dspo = ns.DispositivoOriginal;
                Dispositivo dsps = ns.DispositivoSustituto;
                dspo.Estado = "A";
                if (dsps.Funcion == "R")
                {
                    dsps.Estado = "S";
                }
                else
                {
                    dsps.Estado = "N";
                }
                dsps.Posicion = dsps.Posicion;
                dspo.Posicion = "SUSTITUIDOS";
                ctx.Add(ns);
            }
            else
            {
                Sustitucion s = revision.Sustitucions[0];     // solo tiene que estar el cambio inicial
                s.DispositivoOriginal.Funcion = "R";
            }
            // Como si hubiera pulsado el botón.
            UnloadData(revision);
            CntLainsaSci.CTXGuardar(ctx);

            CntLainsaSci.EliminarInferiores(revision, ctx);
            CntLainsaSci.ProgramarSiguienteRevision(revision, ctx, true);
            CntLainsaSci.ProgramarInferiores(revision, ctx);
            RadAjaxManager1.ResponseScripts.Add(String.Format("closeWindowRefreshGrid('{0}', 'edit');", caller));
            break;
        }
    }
コード例 #10
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();
            }
        }
コード例 #11
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;
                }
            }
        }
コード例 #12
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, "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("");
     }
 }