示例#1
0
        public ActionResult Save(Comum model, Semana dias_culto, Semana dias_rjm, Semana dias_gem)
        {
            try{
                var usuario = UserSession.Get(Request.HttpContext).Usuario;
                if (!usuario.Admin)
                {
                    model.Cod_Comum = usuario.Cod_Comum;
                }

                if (usuario.Instrutor)
                {
                    model.SetDiasCulto(dias_culto);
                    model.SetDiasRJM(dias_rjm);
                    model.SetDiasGEM(dias_gem);

                    char oper = model.Cod_Comum == 0 ? 'C' : 'U';
                    model.Save();
                    Monitor.Add <Comum>(HttpContext, oper, model.Nome);
                }

                return(Json("ok"));
            }
            catch (Exception ex) {
                return(Json(ex.Message));
            }
        }
示例#2
0
        public ActionResult Save(Arquivo model)
        {
            try{
                var usuario = UserSession.Get(Request.HttpContext).Usuario;
                if (model.Cod_Comum == 0 || !usuario.Admin)
                {
                    model.Cod_Comum = usuario.Cod_Comum;
                }

                if (usuario.Instrutor)
                {
                    model.Instrutor   = true;
                    model.Cod_Usuario = usuario.Cod_Usuario;

                    char oper = model.Cod_Arquivo == 0 ? 'C' : 'U';
                    model.Save();
                    Monitor.Add <Arquivo>(HttpContext, oper, model.Nome);
                }

                return(Json("ok"));
            }
            catch (Exception ex) {
                return(Json(ex.Message));
            }
        }
示例#3
0
        static void Main(string[] args)
        {
            var endOfProcess = new QueuedHandler <CustomsDeclaration> (new NullHandler <CustomsDeclaration>("resident"), "end-of-process");

            var customsAgent1 = new QueuedHandler <CustomsDeclaration>(new CustumsAgent(endOfProcess, "joe"), "agent-joe");
            var customsAgent2 = new QueuedHandler <CustomsDeclaration>(new CustumsAgent(endOfProcess, "jack"), "agent-jack");
            var customsAgent3 = new QueuedHandler <CustomsDeclaration>(new CustumsAgent(endOfProcess, "averell"), "agent-averell");

            var customsAgentDispatcher =
                new RoundRobinDispatcher <CustomsDeclaration>(new[] { customsAgent1, customsAgent2, customsAgent3 });

            var visitorHandler = new NullHandler <CustomsDeclaration>("visitor");


            var residencyRouter = new QueuedHandler <CustomsDeclaration>(new ResidencyRouter(customsAgentDispatcher, visitorHandler), "residency-router");

            residencyRouter.Start();
            customsAgent1.Start();
            customsAgent2.Start();
            customsAgent3.Start();

            var monitor = new Monitor();

            monitor.Add(endOfProcess);
            monitor.Add(customsAgent1);
            monitor.Add(customsAgent2);
            monitor.Add(customsAgent3);
            monitor.Add(residencyRouter);

            monitor.Start();

            var airplane = new Airplane(flight: "DC132", passengersCount: 666, handlesDeclaration: residencyRouter);

            var unload = new Task(airplane.Unload);

            unload.Start();
            unload.Wait();
            System.Console.ReadLine();
        }
示例#4
0
            public void Send(long val)
            {
                var input = (int)val;

                switch (_state)
                {
                case ArcadeState.WaitingForX:
                    _interimX = input;
                    _state    = ArcadeState.WaitingForY;
                    break;

                case ArcadeState.WaitingForY:
                    _interimY = input;
                    _state    = ArcadeState.WaitingForType;
                    break;

                case ArcadeState.WaitingForType:
                    if (_interimX == -1)
                    {
                        Score = input;
                    }
                    else
                    {
                        var tileType     = (TileType)input;
                        var tilePosition = new Point(_interimX, _interimY);

                        if (Monitor.ContainsKey(tilePosition))
                        {
                            Monitor[tilePosition] = tileType;
                        }
                        else
                        {
                            Monitor.Add(new Point(_interimX, _interimY), tileType);
                        }

                        if (tileType == TileType.Ball)
                        {
                            _ballDirection = tilePosition.X - _ballPosition.X > 0 ? 1 : -1;
                            _ballPosition  = tilePosition;
                            //Draw();
                        }
                        else if (tileType == TileType.HorizontalPaddle)
                        {
                            _paddlePosition = tilePosition;
                        }
                    }

                    _state = ArcadeState.WaitingForX;
                    break;
                }
            }
示例#5
0
    void Update()
    {
        highWaveMonitorInput.Sample(Mathf.Sin(Mathf.PI * 2f * Time.time));
        lowWaveMonitorInput.Sample(Mathf.Sin(Mathf.PI * 2f * 1.1f * Time.time));

        if (Input.GetKeyDown(KeyCode.Space))
        {
            monitor.Add(new MonitorEvent()
            {
                text = "Space",
                time = Time.time
            });
        }
    }
示例#6
0
        static void Main(string[] args)
        {
            if (args.Length != 1)
            {
                Console.WriteLine("Usage: TestMonitor <uri>");
                return;
            }

            Gnome.Vfs.Vfs.Initialize();

            Monitor monitor = new Monitor();

            monitor.Changed         += OnChanged;
            monitor.Deleted         += OnDeleted;
            monitor.Created         += OnCreated;
            monitor.MetadataChanged += OnMetadataChanged;

            monitor.Add(args[0], MonitorType.Directory);
            monitor.Add("/tmp", MonitorType.Directory);

            new MainLoop().Run();

            Gnome.Vfs.Vfs.Shutdown();
        }
示例#7
0
        public ActionResult RemoveAula(int Cod_Estudo, int Cod_Presenca, string Descricao)
        {
            if (HasSessaoPresenca(Cod_Presenca))
            {
                ViewBag.Cod_Presenca = Cod_Presenca;

                Estudo.Delete(Cod_Estudo, Cod_Presenca);
                Monitor.Add <Estudo>(HttpContext, 'D', Descricao);

                return(View("ListaAula", Estudo.ListByPresenca(Cod_Presenca)));
            }
            else
            {
                return(View("ListaAula", new List <Estudo>()));
            }
        }
示例#8
0
 public ActionResult Delete(int id = 0, int Cod_Comum = 0)
 {
     try{
         if (Cod_Comum == 0 || !UserSession.Get(Request.HttpContext).Admin())
         {
             Cod_Comum = UserSession.Get(Request.HttpContext).Cod_Comum();
         }
         string nome = Arquivo.Find(id).Nome;
         Arquivo.Delete(id, Cod_Comum);
         Monitor.Add <Arquivo>(HttpContext, 'D', nome);
         return(Json("ok"));
     }
     catch (Exception ex) {
         return(Json(ex.Message));
     }
 }
示例#9
0
        private int[] GetCodPresenca(int[] Cod_Usuarios, DateTime Data, int Cod_Comum)
        {
            List <int> result = new List <int>();
            Context    cx     = new Context();

            try{
                cx.BeginTransaction();
                List <Presenca>         presencas = Presenca.ListInCod_Usuario(Cod_Usuarios, Data, cx);
                List <FaltaJustificada> faltas    = FaltaJustificada.ListInCod_Usuario(Cod_Usuarios, Data, cx);

                foreach (var Cod_Usuario in Cod_Usuarios)
                {
                    if (Cod_Usuario != 0)
                    {
                        UsuarioComum usuario  = UsuarioComum.Find(Cod_Usuario, Cod_Comum, cx);
                        Presenca     presenca = presencas.FirstOrDefault(e => e.Cod_Usuario == Cod_Usuario);

                        if (presenca == null && usuario != null)
                        {
                            presenca             = new Presenca();
                            presenca.Cod_Usuario = usuario.Cod_Usuario;
                            presenca.Data        = Data;
                            presenca.Instrutor   = UserSession.Get(Request.HttpContext).Cod_Usuario();
                            presenca.Save(cx);
                            result.Add(presenca.Cod_Presenca);
                        }

                        FaltaJustificada falta = faltas.FirstOrDefault(e => e.Cod_Usuario == Cod_Usuario);
                        if (falta != null)
                        {
                            FaltaJustificada.Delete(falta.Cod_Justificativa, cx);
                            string nome = Usuario.Find(Cod_Usuario).Nome;
                            Monitor.Add <FaltaJustificada>(HttpContext, 'D', GEM.Helpers.Util.ShortName(nome) + " data: " + Data.ToString("dd/MM/yyyy"));
                        }
                    }
                }

                cx.Commit();

                AddSessaoPresenca(result.ToArray());
                return(result.ToArray());
            }catch {
                cx.Rollback();
            }

            return(new int[] { });
        }
示例#10
0
        public ActionResult RegistraAusencia(int Cod_Usuario, string Nome, int Cod_Instrumento, bool Aluno, DateTime Data, int Cod_Comum)
        {
            var instrutor = UserSession.Get(Request.HttpContext).Usuario;

            if (Cod_Comum == 0 || !instrutor.Admin)
            {
                Cod_Comum = instrutor.Cod_Comum;
            }

            int Cod_Presenca = 0;

            if (instrutor.Instrutor)
            {
                Context cx = new Context();
                try
                {
                    cx.BeginTransaction();
                    UsuarioComum usuario  = UsuarioComum.Find(Cod_Usuario, Cod_Comum);
                    Presenca     presenca = Presenca.FirstOrDefault(new{ usuario.Cod_Usuario, Data });
                    Cod_Presenca = presenca.Cod_Presenca;
                    if (presenca != null)
                    {
                        Presenca.Delete(presenca.Cod_Presenca);
                        Monitor.Add <Presenca>(HttpContext, 'D', GEM.Helpers.Util.ShortName(Nome) + " data: " + Data.ToString("dd/MM/yyyy"));

                        RemoveSessaoPresenca(new int[] { presenca.Cod_Presenca });
                        Cod_Presenca = 0;
                    }

                    cx.Commit();
                }
                catch {
                    cx.Rollback();
                }
            }

            return(View("Situacao", new UsuarioPresenca()
            {
                Cod_Presenca = Cod_Presenca,
                Cod_Justificativa = 0,
                Cod_Usuario = Cod_Usuario,
                Nome = Nome,
                Instrumento = Cod_Instrumento == 0 ? "" : Instrumento.Find(Cod_Instrumento).Nome,
                Aluno = Aluno
            }));
        }
示例#11
0
 public ActionResult Delete(int id = 0, int Cod_Comum = 0)
 {
     try{
         var usuario = UserSession.Get(Request.HttpContext).Usuario;
         if (Cod_Comum == 0 || !usuario.Admin)
         {
             Cod_Comum = usuario.Cod_Comum;
         }
         string nome = Grupo.Find(id, Cod_Comum).Nome;
         Grupo.Delete(id, Cod_Comum);
         Monitor.Add <Grupo>(HttpContext, 'D', nome);
         return(Json("ok"));
     }
     catch (Exception ex) {
         return(Json(ex.Message));
     }
 }
示例#12
0
        public ActionResult Save(Escala model, Semana DiasSemana, string[] UsersSelected)
        {
            try{
                if (model.Cod_Escala == 0 && (UsersSelected == null || UsersSelected.Length == 0))
                {
                    throw new Exception("Nenhum usuário selecionado!");
                }

                if (DiasSemana != null)
                {
                    model.SetDiasSemana(DiasSemana);
                }

                if (UsersSelected != null && UsersSelected.Length != 0)
                {
                    model.SetUsuarios(UsersSelected);
                }

                var usuario = UserSession.Get(Request.HttpContext).Usuario;
                if (model.Cod_Comum == 0 || !usuario.Admin)
                {
                    model.Cod_Comum = usuario.Cod_Comum;
                }

                if (UserSession.Get(Request.HttpContext).Instrutor())
                {
                    model.Cod_Usuario = usuario.Cod_Usuario;

                    char oper = model.Cod_Escala == 0 ? 'C' : 'U';
                    model.Save();
                    Monitor.Add <Escala>(HttpContext, oper, model.Nome);
                }

                return(Json("ok"));
            }
            catch (Exception ex) {
                return(Json(ex.Message));
            }
        }
示例#13
0
        public ActionResult Save(Usuario model)
        {
            try{
                var usuario = UserSession.Get(Request.HttpContext).Usuario;
                if (model.Cod_Comum == 0 || !usuario.Admin)
                {
                    model.Cod_Comum = usuario.Cod_Comum;
                }

                //if(!model.Aluno && !model.Oficializado && !model.Instrutor)

                if (model.Cod_Usuario != 0 && !usuario.Admin && UsuarioComum.Find(model.Cod_Usuario, model.Cod_Comum) == null)
                {
                    throw new Exception("Usuário não cadastrado nesta comum!");
                }

                if (Usuario.EmailJaCadastrado(model.Email, model.Cod_Usuario))
                {
                    throw new Exception("Email já cadastrado!");
                }

                char oper = model.Cod_Usuario == 0 ? 'C' : 'U';
                model.Save();
                Monitor.Add <Usuario>(HttpContext, oper, model.Nome);

                if (usuario.Dev || usuario.Admin || usuario.Instrutor)
                {
                    UsuarioPermissao permissao = UsuarioPermissao.Find(model.Cod_Usuario);

                    if (usuario.Dev)
                    {
                        permissao.Dev = model.Dev;
                    }

                    if (usuario.Admin)
                    {
                        permissao.Admin = model.Admin;
                        //permissao.Cod_Comum = model.Cod_Comum;
                    }

                    if (usuario.Instrutor)
                    {
                        permissao.Instrutor    = model.Instrutor;
                        permissao.Oficializado = model.Oficializado;
                        permissao.RJM          = model.RJM;
                        permissao.Aluno        = model.Aluno;
                        permissao.Ativo        = model.Ativo;
                        //permissao.Cod_Grupo = model.Cod_Grupo;
                    }

                    permissao.Update();

                    if (usuario.Instrutor)
                    {
                        UsuarioGrupo.UpdateGrupos(model.Cod_Usuario, model.Cod_Grupos);
                    }
                }

                return(Json("ok"));
            }
            catch (Exception ex) {
                return(Json(ex.Message));
            }
        }
示例#14
0
 private void Num0_Click(object sender, EventArgs e)
 {
     DisplayText.Add("0");
 }