/// <summary>
 /// Agrega una  configuracion al grid
 /// </summary>
 /// <param name="bo"></param>
 public void agregarGrid(ConfiguracionAuditoriaMantenimientoBO bo)
 {
     this.vista.ConfiguracionID     = bo.ConfiguracionAuditoriaMantenimientoId;
     this.vista.TipoMantenimiento   = bo.TipoMantenimiento.ToString();
     this.vista.TipoMantenimientoID = (int)bo.TipoMantenimiento;
     this.vista.Aleatorias          = bo.NumeroActividadesAleatorias;
 }
        /// <summary>
        /// Consulta y muestra los detalles de una actividad inactiva
        /// </summary>
        public void mostrarInactivo()
        {
            var recibida = this.vista.ConfiguracionRecibida;

            this.vista.ConfiguracionID     = recibida.ConfiguracionAuditoriaMantenimientoId;
            this.vista.SucursalID          = recibida.Sucursal.Id;
            this.vista.SucursalNombre      = recibida.Sucursal.Nombre;
            this.vista.Taller              = recibida.Taller.Nombre;
            this.vista.TallerID            = recibida.Taller.Id;
            this.vista.Modelo              = recibida.Modelo.Nombre;
            this.vista.ModeloID            = recibida.Modelo.Id;
            this.vista.TipoMantenimiento   = recibida.TipoMantenimiento.ToString();
            this.vista.TipoMantenimientoID = (int)recibida.TipoMantenimiento;
            this.vista.Aleatorias          = recibida.NumeroActividadesAleatorias;

            var filtro = new ConfiguracionAuditoriaMantenimientoBO()
            {
                ConfiguracionAuditoriaMantenimientoId = recibida.ConfiguracionAuditoriaMantenimientoId,
                Sucursal = new SucursalBO {
                    Id = recibida.Sucursal.Id
                },
                Taller = new TallerBO {
                    Id = recibida.Taller.Id
                },
                Modelo = new ModeloBO {
                    Id = recibida.Modelo.Id
                },
            };

            var configuraciones = ctrConfiguracionAuditoria.Consultar(dataContext, filtro);

            if (configuraciones != null && configuraciones.Count > 0)
            {
                configuraciones = this.CompletarDatos(configuraciones);
                this.vista.ConfiguracionesAuditoria = configuraciones;
                this.vista.GridConfiguracionesAuditoria.DataSource = this.vista.ConfiguracionesAuditoria;
                this.vista.GridConfiguracionesAuditoria.DataBind();

                var configDetalle = this.vista.ConfiguracionesAuditoria.Find(x => x.TipoMantenimiento == recibida.TipoMantenimiento);
                this.vista.ActividadesAuditoria = configDetalle.DetalleConfiguracion;
                this.vista.GridActividadesAuditoria.DataSource = this.vista.ActividadesAuditoria;
                this.vista.GridActividadesAuditoria.DataBind();
            }
            else
            {
                this.vista.MostrarMensaje("NO SE ENCONTRO EL PAQUETE DE MANTENIMIENTO DE ESTA CONFIGURACION DE AUDITORIA EN LIDER, EL PAQUETE SE ELIMINO O CAMBIO DE NOMBRE?", ETipoMensajeIU.ERROR);
            }
        }
        /// <summary>
        /// Mapea los valores de la interfaz a un objeto
        /// </summary>
        /// <returns></returns>
        private ConfiguracionAuditoriaMantenimientoBO InterfazAObjeto()
        {
            var bo = new ConfiguracionAuditoriaMantenimientoBO();

            bo.Sucursal.Nombre = this.ucvista.SucursalNombre;
            if (bo.Sucursal.Nombre != string.Empty)
            {
                bo.Sucursal.Id = this.ucvista.SucursalID;
            }
            bo.Taller.Id     = this.ucvista.TallerID;
            bo.Modelo.Nombre = this.ucvista.Modelo;
            if (bo.Modelo.Nombre != string.Empty)
            {
                bo.Modelo.Id = this.ucvista.ModeloID;
            }
            bo.Activo = this.vista.Estatus;
            return(bo);
        }
예제 #4
0
        private ConfiguracionAuditoriaMantenimientoBO InterfazUsuarioAObjeto()
        {
            var bo = new ConfiguracionAuditoriaMantenimientoBO();

            bo.ConfiguracionAuditoriaMantenimientoId = this.vista.ConfiguracionID;
            bo.Sucursal.Id       = this.vista.SucursalID;
            bo.Sucursal.Nombre   = this.vista.SucursalNombre;
            bo.Taller.Id         = this.vista.TallerID;
            bo.Taller.Nombre     = this.vista.Taller;
            bo.TipoMantenimiento = (ETipoMantenimiento)Enum.ToObject(typeof(ETipoMantenimiento), this.vista.TipoMantenimientoID);
            bo.Modelo.Id         = this.vista.ModeloID;
            bo.Modelo.Nombre     = this.vista.Modelo;

            bo.NumeroActividadesAleatorias = this.vista.Aleatorias;
            foreach (GridViewRow item in this.vista.GridActividadesAuditoria.Rows)
            {
                DetalleConfiguracionAuditoriaMantenimientoBO detalle = new DetalleConfiguracionAuditoriaMantenimientoBO();
                detalle.ConfiguracionPosicionTrabajo = new ConfiguracionPosicionTrabajoBO();

                Label    NombreActividad = item.FindControl("lbActividadAuditoria") as Label;
                Label    idActividad     = item.FindControl("lbActividadID") as Label;
                TextBox  txtCriterio     = item.FindControl("txbCriterioActividad") as TextBox;
                CheckBox chbxObligatoria = item.FindControl("chbxObligatoria") as CheckBox;

                detalle.ConfiguracionPosicionTrabajo.DescriptorTrabajo = new DescriptorTrabajoBO {
                    Nombre = NombreActividad.Text
                };
                detalle.ConfiguracionPosicionTrabajo.Id = int.Parse(idActividad.Text);
                detalle.Criterio = txtCriterio.Text;

                if (chbxObligatoria.Checked == true)
                {
                    detalle.Obligatorio = true;
                }
                else if (chbxObligatoria.Checked == false)
                {
                    detalle.Obligatorio = false;
                }

                bo.DetalleConfiguracion.Add(detalle);
            }

            return(bo);
        }
예제 #5
0
 protected void btnRegistrar_Click(object sender, EventArgs e)
 {
     try
     {
         if (ConfiguracionesAuditoria != null && ConfiguracionesAuditoria.Count > 0)
         {
             int exito = presentador.guardarConfiguraciones();
             if (exito == 1)
             {
                 ConfiguracionAuditoriaMantenimientoBO bo = presentador.consultarGuardado();
                 this.LimpiarSession();
                 Session["ConfiguracionRecibida"] = bo;
                 Response.Redirect("~/Mantenimiento.UI/DetalleConfiguracionParametrosAuditoriaUI.aspx");
             }
         }
     }
     catch (Exception ex)
     {
         this.MostrarMensaje("Error al guardar las configuraciones", ETipoMensajeIU.ERROR, ex.Message);
     }
 }
        /// <summary>
        /// Activa una configuracion inactiva
        /// </summary>
        public void activarConfiguracion()
        {
            var seguridad = this.CrearObjetoSeguridad();
            var bo        = this.vista.ConfiguracionRecibida;
            var filtro    = new ConfiguracionAuditoriaMantenimientoBO()
            {
                Sucursal = bo.Sucursal,
                Modelo   = bo.Modelo,
                Taller   = bo.Taller,
                Activo   = true
            };
            var list       = ctrConfiguracionAuditoria.Consultar(dataContext, filtro);
            var encontrado = list.Exists(x => x.Sucursal.Id == bo.Sucursal.Id && x.Taller.Id == bo.Taller.Id && x.Modelo.Id == bo.Modelo.Id && x.TipoMantenimiento == bo.TipoMantenimiento);

            if (encontrado == false)
            {
                ctrConfiguracionAuditoria.Activar(dataContext, bo, seguridad);
            }
            else if (encontrado == true)
            {
                this.vista.MostrarMensaje("YA EXISTE UNA CONFIGURACION CON LOS MISMOS PARAMETROS, NO ES POSIBLE REACTIVAR", ETipoMensajeIU.ADVERTENCIA);
            }
        }
        /// <summary>
        /// Complementa los datos del mantenimiento para la crearcion del objeto de auditoria
        /// </summary>
        /// <param name="AuditoriaMantenimiento"></param>
        /// <returns></returns>
        private AuditoriaMantenimientoBO ComplementarDatos(AuditoriaMantenimientoBO AuditoriaMantenimiento)
        {
            AuditoriaMantenimiento = this.ctrAuditoriaMantenimiento.ComplementarAuditoria(dataContext, AuditoriaMantenimiento);
            if (AuditoriaMantenimiento.OrdenServicio.Unidad.ConfiguracionModeloMotorizacion.Modelo != null)
            {
                ConfiguracionAuditoriaMantenimientoBO configuracionAuditoria = new ConfiguracionAuditoriaMantenimientoBO()
                {
                    Sucursal          = AuditoriaMantenimiento.OrdenServicio.AdscripcionServicio.Sucursal,
                    Modelo            = AuditoriaMantenimiento.OrdenServicio.Unidad.ConfiguracionModeloMotorizacion.Modelo,
                    Taller            = AuditoriaMantenimiento.OrdenServicio.AdscripcionServicio.Taller,
                    TipoMantenimiento = AuditoriaMantenimiento.TipoMantenimiento
                };
                configuracionAuditoria = this.ctrConfiguracionAuditoria.Consultar(dataContext, configuracionAuditoria).FirstOrDefault();
                if (configuracionAuditoria != null)
                {
                    foreach (var item in AuditoriaMantenimiento.DetalleAuditoria)
                    {
                        var DetalleConfig = configuracionAuditoria.DetalleConfiguracion.Find(x => x.ConfiguracionPosicionTrabajo.Id == item.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.Id);

                        if (DetalleConfig != null)
                        {
                            item.Criterio = DetalleConfig.Criterio;
                        }
                    }
                    List <DetalleAuditoriaMantenimientoBO> listaPosicionesAleatorias = new List <DetalleAuditoriaMantenimientoBO>();
                    List <DetalleAuditoriaMantenimientoBO> DetalleObligatorias       = new List <DetalleAuditoriaMantenimientoBO>();
                    foreach (var item in AuditoriaMantenimiento.DetalleAuditoria)
                    {
                        if (configuracionAuditoria.DetalleConfiguracion.Exists(x => x.ConfiguracionPosicionTrabajo.Id == item.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.Id && x.Obligatorio == false) == true)
                        {
                            listaPosicionesAleatorias.Add(item);
                        }
                        else if (configuracionAuditoria.DetalleConfiguracion.Exists(x => x.ConfiguracionPosicionTrabajo.Id == item.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.Id && x.Obligatorio == true) == true)
                        {
                            DetalleObligatorias.Add(item);
                        }
                    }
                    AuditoriaMantenimiento.DetalleAuditoria = DetalleObligatorias;
                    if (listaPosicionesAleatorias != null && listaPosicionesAleatorias.Count > 0)
                    {
                        Random IndexRandom = new Random();
                        int    indexMaximo = listaPosicionesAleatorias.Count;
                        int    iteraciones = (int)configuracionAuditoria.NumeroActividadesAleatorias;
                        for (int i = 0; i < iteraciones; i++)
                        {
                            bool bandera;
                            int  index;
                            do
                            {
                                index   = IndexRandom.Next(0, indexMaximo);
                                bandera = AuditoriaMantenimiento.DetalleAuditoria.Exists(x => x.PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.Id == listaPosicionesAleatorias[index].PosicionTrabajoPaquete.ConfiguracionPosicionTrabajo.Id);
                            } while (bandera == true);

                            AuditoriaMantenimiento.DetalleAuditoria.Add(listaPosicionesAleatorias[index]);
                        }
                    }
                }
                else
                {
                    this.vista.MostrarMensaje("No se encontro una configuracion de auditoria para el modelo, taller y tipo de mantenimiento de esta unidad", ETipoMensajeIU.ERROR);
                }
            }
            else
            {
                this.vista.MostrarMensaje("No se encontro la unidad de esta orden de servicio", ETipoMensajeIU.ERROR);
            }

            return(AuditoriaMantenimiento);
        }
        public int guardarConfiguraciones()
        {
            int exito = 0;

            if (this.vista.ConfiguracionesAuditoria != null && this.vista.ConfiguracionesAuditoria.Count > 0)
            {
                var filtro = new ConfiguracionAuditoriaMantenimientoBO()
                {
                    Sucursal = new SucursalBO {
                        Id = this.vista.ConfiguracionesAuditoria.FirstOrDefault().Sucursal.Id
                    },
                    Taller = new TallerBO {
                        Id = this.vista.ConfiguracionesAuditoria.FirstOrDefault().Taller.Id
                    },
                    Modelo = new ModeloBO {
                        Id = this.vista.ConfiguracionesAuditoria.FirstOrDefault().Modelo.Id
                    },
                    Activo = true
                };

                var configActuales = ctrConfiguracionAuditoria.Consultar(dataContext, filtro);
                if (configActuales != null && configActuales.Count > 0)
                {
                    string seriviciosExistentes = null;
                    bool   exist = false;
                    foreach (var item in configActuales)
                    {
                        if (this.vista.ConfiguracionesAuditoria.Exists(x => x.TipoMantenimiento == item.TipoMantenimiento) == true)
                        {
                            var existencia = this.vista.ConfiguracionesAuditoria.Find(x => x.TipoMantenimiento == item.TipoMantenimiento);
                            seriviciosExistentes += "," + existencia.TipoMantenimiento.ToString();
                            existencia.Activo     = false;
                        }
                    }
                    exist = this.vista.ConfiguracionesAuditoria.Exists(x => x.Activo == false);
                    if (exist == true)
                    {
                        this.vista.ConfiguracionesAuditoria.RemoveAll(x => x.Activo == false);
                        this.vista.GridConfiguracionesAuditoria.DataSource = this.vista.ConfiguracionesAuditoria;
                        this.vista.GridConfiguracionesAuditoria.DataBind();
                        this.vista.MostrarMensaje("El Modelo, Taller y Sucursal ya tienen configurados los siguientes servicios :" + seriviciosExistentes, ETipoMensajeIU.ADVERTENCIA);
                    }
                    else
                    {
                        foreach (var item in  this.vista.ConfiguracionesAuditoria)
                        {
                            var seguridad = this.obtenerUsuario();
                            ctrConfiguracionAuditoria.Insertar(dataContext, item, seguridad);
                            exito = 1;
                        }
                    }
                }
                else
                {
                    foreach (var item in this.vista.ConfiguracionesAuditoria)
                    {
                        var seguridad = this.obtenerUsuario();
                        ctrConfiguracionAuditoria.Insertar(dataContext, item, seguridad);
                        exito = 1;
                    }
                }
            }
            else
            {
                this.vista.MostrarMensaje("debe agregar una configuracion para guardar", ETipoMensajeIU.ADVERTENCIA);
            }

            return(exito);
        }