public void ObjectGraphTest()
        {
            String[] items = { "camera", "film" };
            String[] discounts = { "nodiscount", "nodiscount" };

            PurchaseOrder po = new PurchaseOrder(items, discounts);
            PurchaseOrder po1 = new PurchaseOrder(items, discounts);
            CustomerTestClass cust = new CustomerTestClass();
            CustomerTestClass cust2 = new CustomerTestClass();
            LocationTestClass theLoc = new LocationTestClass("1", "root location");

            cust.IntVal = 4;
            cust.TheLocation.Description = "first location";
            cust2.TheLocation.Description = "second location";
            cust2.TheLocation.ID = "3";

            Agenda agenda = new Agenda();
            List<WME> facts = new List<WME>();
            facts.AddRange(agenda.CreateFactSetFromObjectInstanceWithObjectGrapher(new ObjectInstance("PurchaseOrder", po)));
            facts.AddRange(agenda.CreateFactSetFromObjectInstanceWithObjectGrapher(new ObjectInstance("PurchaseOrder", po1)));
            facts.AddRange(agenda.CreateFactSetFromObjectInstanceWithObjectGrapher(new ObjectInstance("CustomerTestClass", cust)));
            facts.AddRange(agenda.CreateFactSetFromObjectInstanceWithObjectGrapher(new ObjectInstance("CustomerTestClass", cust2)));
            facts.AddRange(agenda.CreateFactSetFromObjectInstanceWithObjectGrapher(new ObjectInstance("LocationTestClass", theLoc)));
            facts.AddRange(agenda.CreateFactSetFromObjectInstanceWithObjectGrapher(new ObjectInstance("MyClass", this)));

            Assert.IsTrue(facts.Count == 1770, "Wrong # of facts.");
        }
    public string EditarAgenda(Agenda agenda)
    {
        HttpCookie Cookie = HttpContext.Current.Request.Cookies.Get("Usuario");
        if (Cookie != null && AutentificacionBD.VerificarToken(Cookie.Values.Get("Token")))
        {
            string cliente = new Codificador().Desencriptar(Cookie.Values.Get("Cliente"));
            cliente = cliente.Replace("\0", string.Empty);
            agenda.Cliente = cliente;
            double anti = ReporteAutomaticoBUI.GetAnticipacion(agenda);
            List<DateTime> fechas = ReporteAutomaticoBUI.Fechas(agenda);
            List<FechasAgenda> fechasAgenda = new List<FechasAgenda>();

            foreach (DateTime fecha in fechas)
            {
                FechasAgenda fa = new FechasAgenda();
                fa.AgendaID = -1;
                fa.FechaReporte = fecha;
                fa.Realizada = false;
                fechasAgenda.Add(fa);
            }
            agenda.FechasReporte = fechasAgenda.ToArray();
            bool geocercas = (agenda.DetallesReporte.Geocercas != null && agenda.DetallesReporte.Geocercas.Length > 0) ? true : false;
            bool grupos = (agenda.DetallesReporte.Grupos != null && agenda.DetallesReporte.Grupos.Length > 0) ? true : false;
            string  result = ReporteAutomaticoBUI.ModificarAgenda(agenda.ID.ToString(), agenda, true, true, geocercas, grupos);
            if (!result.Contains("0"))
            {
                return "ok";
            }
            else
                return result;
        }
        else
            return "error404";
    }
        public void ObjectMapTest()
        {
            //String[] items = {"camera", "film"};
            //String[] discounts = {"nodiscount", "nodiscount"};

            //PurchaseOrder po = new PurchaseOrder(items, discounts);
            //PurchaseOrder po1 = new PurchaseOrder(items, discounts);
            CustomerTestClass cust = new CustomerTestClass();
            CustomerTestClass cust2 = new CustomerTestClass();
            LocationTestClass theLoc = new LocationTestClass("1", "root location");

            cust.IntVal = 4;
            cust.TheLocation.Description = "first location";
            cust2.TheLocation.Description = "second location";
            cust2.TheLocation.ID = "3";

            Stream mapStream = this.GetType().Assembly.GetManifestResourceStream("Expergent.Tester.ObjectMap.xml");
            StreamReader mapReader = new StreamReader(mapStream);

            ObjectMapTable theTable = new ObjectMapTable(mapReader);

            Agenda agenda = new Agenda();
            List<WME> facts = new List<WME>();
            facts.AddRange(agenda.CreateFactSetFromObjectInstance(new ObjectInstance("CustomerTestClass", cust), theTable));
            facts.AddRange(agenda.CreateFactSetFromObjectInstance(new ObjectInstance("CustomerTestClass", cust2), theTable));
            facts.AddRange(agenda.CreateFactSetFromObjectInstance(new ObjectInstance("LocationTestClass", theLoc), theTable));
            facts.AddRange(agenda.CreateFactSetFromObjectInstance(new ObjectInstance("MyClass", this), theTable));

            Assert.IsTrue(facts.Count == 31, "Wrong # of facts.");
        }
        public void AgendaDevePossuirUmContato()
        {
            var agenda = new Agenda();

            agenda.AdicionarContato(new Contato() { Nome="Mephisto",Numero=6667});
            Assert.AreEqual(agenda.GetQuantidadeContatos(), 1);
        }
 public void AgendaTemUmContato()
 {
     var agenda = new Agenda();
     var contato = new Contato() { Nome = "Júlio Cesar", Numero = 123456789 };
     agenda.AdicionarContato(contato);
     Assert.AreEqual(agenda.QuantidadeContatos, 1);
 }
 public void UpdateData(Agenda agenda)
 {
     this.Db.Update("Agenda", "Id", new
     {
         Id = agenda.Id,
         Data = agenda.Data
     });
 }
Exemple #7
0
        public static void Create(Agenda pAgenda)
        {
            dataBase db = getDataBase();

            db.Agenda.InsertOnSubmit(pAgenda);

            db.SubmitChanges();
        }
        public void AgendaTemUmContato()
        {
            var agenda = new Agenda();

            agenda.AdicionarContato(new Contato() { Nome = "Renan", Numero = 12355 });

            Assert.AreEqual(agenda.QuantidadeContatos, 1);
        }
 public void Remover2ContatosDeNomesIguaisPorTelefone()
 {
     var agenda = new Agenda();
     agenda.AdicionarContato(new Contato("Leonardo", 123));
     agenda.AdicionarContato(new Contato("Leonardo", 123));
     agenda.AdicionarContato(new Contato("Pessoa", 1223));
     agenda.RemoverContatosPorNome("Leonardo");
     Assert.AreEqual(agenda.QuantidadeContatos, 1);
 }
        public void AgendaTemUmContato()
        {
            var agenda = new Agenda();
            var contato1 = new Contato("marvinn",23873);

            agenda.AdcionarContato(contato1);

            Assert.AreEqual(agenda.quantidadeContatos, 1);
        }
        public void AgendaRemoveContatoPorNumero()
        {
            var agenda = new Agenda();
            agenda.AdicionarContato(new Contato() { Nome = "Ester", Numero = 12345543 });
            agenda.AdicionarContato(new Contato() { Nome = "Teste", Numero = 123456789 });

            agenda.RemoverContatoPorNumero(12345543);
            Assert.AreEqual(agenda.QuantidadeContatos, 1);
        }
Exemple #12
0
 public static TurnoViewModel Create(DateTime diaConHora, Agenda agendaDia)
 {
     var vm = new TurnoViewModel();
     vm.FechaTurnoInicial = diaConHora;
     vm.DuracionTurno = agendaDia.DuracionTurno;
     vm.Consultorio = Mapper.Map<InfoViewModel>(agendaDia.Consultorio);
     vm.EspecialidadesAtendidas = Mapper.Map<List<InfoViewModel>>(agendaDia.EspecialidadesAtendidas);
     return vm;
 }
        public void AgendaTemUmContato()
        {
            var agenda = new Agenda();
            var contato = new Contato ("Iaaago", 12345678);

            agenda.AdicionarContato(contato);

            Assert.AreEqual(agenda.QuantidadeContatos, 1);
        }
        public void AgendaTemUmContato()
        {
            var agenda = new Agenda();
            var contato = new Contato("Júlio César", 977454545);

            agenda.AdicionarContato(contato);

            Assert.AreEqual(agenda.QuantidadeContatos, 1);
        }
        private Agenda GetHorarioDisponivel(Agenda agenda)
        {
            var sql = PetaPoco.Sql.Builder.Append("SELECT Agenda.*")
                                          .Append("FROM Agenda")
                                          .Append("WHERE Agenda.UnidadeId = @0 AND Data = @1", agenda.UnidadeId, agenda.Data)
                                          .Append("ORDER BY Data DESC")
                                          .Append("LIMIT 1");

            return this.Db.SingleOrDefault<Agenda>(sql);
        }
 public void AgendaTemCincoContatos()
 {
     var agenda = new Agenda();
     agenda.AdicionarContato(new Contato("Leonardo", 123));
     agenda.AdicionarContato(new Contato("pessoa2", 123));
     agenda.AdicionarContato(new Contato("pessoa3", 123));
     agenda.AdicionarContato(new Contato("pessoa4", 123));
     agenda.AdicionarContato(new Contato("pessoa5", 123));
     Assert.AreEqual(agenda.QuantidadeContatos, 5);
 }
        public void AgendaTemTresContatoEListaOsOrdenados()
        {
            var agenda = new Agenda();

            agenda.AdicionarContato(new Contato("Júlio César", 42535));
            agenda.AdicionarContato(new Contato("Ana", 425));
            agenda.AdicionarContato(new Contato("Eduardo",  300));

            Assert.AreEqual("Ana 425\r\nEduardo 300\r\nJúlio César 42535\r\n", agenda.ListarContatosOrdenadoPorNome());
        }
Exemple #18
0
        public bool Adicionar(Agenda agenda)
        {
            var agendaRepositorio = new AgendaRepositorio();

            agenda.Usuario = Account.Current.Usuario;

            agendaRepositorio.Insert(agenda);

            return true;
        }
Exemple #19
0
        public void AgendaTemUmContato()
        {
            var agenda = new Agenda();

            var contato = new Contato() { Nome = "Malaquias", Numero = 99999999 };

            agenda.AdicionarContato(contato);

            Assert.AreEqual(agenda.QuantidadeContatos, 1);
        }
Exemple #20
0
        public static void Delete(Agenda pAgenda)
        {
            dataBase db = getDataBase();
            var query = from a in db.Agenda
                        where a.IdAgenda == pAgenda.IdAgenda
                        select a;

            db.Agenda.DeleteOnSubmit(query.ToList()[0]);
            db.SubmitChanges();
        }
        public void AgendaRemoveMaisDeUmContatoPorNomeSeTiverMesmoNome()
        {
            var agenda = new Agenda();
            agenda.AdicionarContato(new Contato() { Nome = "Ester", Numero = 12345543 });
            agenda.AdicionarContato(new Contato() { Nome = "Ester", Numero = 76543274 });
            agenda.AdicionarContato(new Contato() { Nome = "Teste", Numero = 123456789 });

            agenda.RemoverContatoPorNome("Ester");
            Assert.AreEqual(agenda.QuantidadeContatos, 1);
        }
        public void AgendaTemDoisContatoERemoveUmPorNumero()
        {
            var agenda = new Agenda();

            agenda.AdicionarContato(new Contato("Júlio César", 42535));
            agenda.AdicionarContato(new Contato("Júlio", 425));
            agenda.RemoverContato(425);

            Assert.AreEqual("Júlio César 42535\r\n", agenda.ListarContatos());
        }
        public void AgendaRecebeDoisContatos()
        {
            var agenda = new Agenda();
            var contato1 = new Contato ("Iaaago", 12345678);
            var contato2 = new Contato("Iaaago", 12345678);

            agenda.AdicionarContato(contato1);
            agenda.AdicionarContato(contato2);

            Assert.AreEqual(agenda.QuantidadeContatos, 2);
        }
        public void AgendaTemDoisContatosEOsListaOrdenadosPorNome()
        {
            var agenda = new Agenda();
            var contato = new Contato("William", 99763336);
            var seya = new Contato("Seya", 9999);
            var esperado = "Nome: Seya Numero: 9999\nNome: William Numero: 99763336\n";
            agenda.AdicionarContato(contato);
            agenda.AdicionarContato(seya);

            Assert.AreEqual(esperado, agenda.ListarContatosOrdenadosPorNome());
        }
        public void UmContatoEhRemovidoPorNome()
        {
            var agenda = new Agenda();
            var contato1 = new Contato("marvinSantos", 23873);
            var contato2 = new Contato("marvin", 23873);

            agenda.AdcionarContato(contato1);
            agenda.AdcionarContato(contato2);
            agenda.RemoverContatoPorNome("marvinSantos");

            Assert.AreEqual(agenda.quantidadeContatos, 1);
        }
        public void DoisContatosSaoRemovidosPorNumero()
        {
            var agenda = new Agenda();
            var contato1 = new Contato("marvinn", 23873);
            var contato2 = new Contato("marvin", 23873);

            agenda.AdcionarContato(contato1);
            agenda.AdcionarContato(contato2);
            agenda.RemoverContatoPorNumero(23873);

            Assert.AreEqual(agenda.quantidadeContatos, 0);
        }
        public void AgendaTemDoisContatosIguaisERemovePorNome()
        {
            var agenda = new Agenda();
            var contato = new Contato("Seya", 99763336);
            var seya = new Contato("Seya", 9999);
            agenda.AdicionarContato(contato);
            agenda.AdicionarContato(seya);

            agenda.RemoverContatoPorNome("Seya");

            Assert.AreEqual(agenda.QuantidadeContatos, 0);
        }
        public void AgendaRemoveDoisContatosPeloNumero()
        {
            var agenda = new Agenda();
            var contato1 = new Contato("bruno", 12334);
            var contato2 = new Contato("bruno1", 12334);

            agenda.AdicionarContato(contato1);
            agenda.AdicionarContato(contato2);

            agenda.RemoverContatosPorNumero(12334);

            Assert.AreEqual(0,agenda.QuantidadeContatos);
        }
        public void AgendaRemoveDoisContatosPorNumero()
        {
            var agenda = new Agenda();
              var contato1 = new Contato("Júlio César", 977454545);
              var contato2 = new Contato("Ben Hur", 666);
              var contato3 = new Contato("Fabricio", 666);
              agenda.AdicionarContato(contato1);
              agenda.AdicionarContato(contato2);
              agenda.AdicionarContato(contato3);

              agenda.RemoverContatosPorNumero(666);

              Assert.AreEqual(agenda.QuantidadeContatos, 1);
        }
        public void AgendaTemDoisContatosERemoveSeya()
        {
            var agenda = new Agenda();
            var contato = new Contato("William", 99763336);
            var seya = new Contato("Seya", 9999);
            var esperado = "Nome: William Numero: 99763336\n";
            agenda.AdicionarContato(contato);
            agenda.AdicionarContato(seya);

            agenda.RemoverContatoPorNome("Seya");

            Assert.AreEqual(esperado, agenda.ListarContatos());
            Assert.AreEqual(agenda.QuantidadeContatos, 1);
        }
Exemple #31
0
        public void Execute(IPluginExecutionContext context)
        {
            try
            {
                organizacao = new Organizacao(context.OrganizationName);

                DynamicEntity preImage = (DynamicEntity)context.PreEntityImages["ParticipanteImage"];
                if (!preImage.Properties.Contains("new_participantesid"))
                {
                    return;
                }

                Guid agendaId = new Guid(((Lookup)preImage.Properties["new_participantesid"]).Value.ToString());

                int inscritos = DomainService.RepositoryAgenda.ObterQuantidadeInscritos(agendaId);

                Agenda agenda = new Agenda(organizacao)
                {
                    Id = agendaId, Inscritos = (inscritos < 1) ? 0 : inscritos
                };
                DomainService.RepositoryAgenda.Update(agenda);
            }
            catch (Exception ex) { LogService.GravaLog(ex, TipoDeLog.PluginNew_calendario_participante); }
        }
Exemple #32
0
        public async Task <AgendaResponseDto> CreateAsync(AgendaRequestDto model)
        {
            var agenda = new Agenda(
                Convert.ToDateTime(model.Data),
                Convert.ToDateTime($"{model.Data} {model.HoraInicio}"),
                Convert.ToDateTime($"{model.Data} {model.HoraFim}"),
                model.SalaId,
                model.PessoaId,
                model.QuantidadePessoas
                );

            await _repo.CreateAsync(agenda);

            return(new AgendaResponseDto
            {
                Id = agenda.Id,
                Data = agenda.Data.ToString("dd/MM/yyyy"),
                HoraInicio = agenda.HoraInicio.ToString("HH:mm"),
                HoraFim = agenda.HoraFim.ToString("HH:mm"),
                QuantidadePessoas = agenda.QuantidadePessoas,
                PessoaId = agenda.PessoaId,
                SalaId = agenda.SalaId
            });
        }
Exemple #33
0
        public ActionResult IncluirAgendamento(Agenda agendaObj)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    _repositorio = new AgendamentoRepositorio();

                    if (_repositorio.AdicionarAgendamento(agendaObj))
                    {
                        ViewBag.Mensagem = "Seu agendamento foi realizado com sucesso!";
                    }
                }

                _repositorio.ObterAgendamentos();
                ModelState.Clear();

                return(RedirectToAction("IncluirAgendamento"));
            }
            catch (Exception)
            {
                return(View("IncluirAgendamento"));
            }
        }
Exemple #34
0
        public Agenda Select(string cpf_cnpjPsicologo)
        {
            Agenda agenda = null;

            SQL = new StringBuilder();


            using (IDbConnection conn = Connection)
            {
                SQL.AppendLine(string.Format(@"
                       SELECT  [CPF_CNPJPROF] AS CPF_CNPJPROF
                              ,[CPF_PACIENTE] AS CPF_PACIENTE
                              ,[DATA_AGENDAMENTO] AS DATA_AGENDAMENTO
                              ,[HORARIO] AS HORARIO
                          FROM [dbo].[TBAGENDA]
                          WHERE CPF_CNPJPROF = {0} ",
                                             cpf_cnpjPsicologo));


                agenda = conn.QueryFirstOrDefault <Agenda>(SQL.ToString());
            }

            return(agenda);
        }
Exemple #35
0
 public void Update(int id, Agenda entity)
 {
     _agendasRepository.Update(id, entity);
 }
Exemple #36
0
 public void Create(Agenda entity)
 {
     _agendasRepository.Create(entity);
 }
Exemple #37
0
        public JsonResult Edit(Agenda Agenda)
        {
            var      Retorno = new RetornoJson();
            TimeSpan minuto  = new TimeSpan(00, 30, 00);

            DateTime DataAgenda = DateTime.Parse(Agenda.DataAgendamento.ToString());

            Agenda.Inicio = DataAgenda + Agenda.Inicio.TimeOfDay;
            Agenda.Fim    = DataAgenda + Agenda.Fim.TimeOfDay;

            //validar se o horario Inicio é menor que o Fim
            if (Agenda.Inicio >= Agenda.Fim)
            {
                Retorno.Mensagem += "<span> Horario Inicio é obrigatoriamente menor que o horário Fim</span>";
            }

            //validar se a data ultrapassa 4 meses
            DateTime AgendamentoDistante = DateTime.Now.AddMonths(4);

            if (Agenda.Fim > AgendamentoDistante)
            {
                Retorno.Mensagem += "<span> Agendamento não pode ultrapassar 4 meses</span>";
            }

            //agendamentos somente devem ser feito em horario de funcionamento
            TimeSpan HorarioAbre  = new TimeSpan(10, 00, 00);
            TimeSpan HorarioFecha = new TimeSpan(20, 00, 00);

            if (!(Agenda.Inicio.Hour >= HorarioAbre.Hours && Agenda.Inicio.Hour <= HorarioFecha.Hours) || !(Agenda.Fim.Hour >= HorarioAbre.Hours && Agenda.Fim.Hour <= HorarioFecha.Hours))
            {
                Retorno.Mensagem += "<span> O Agendamento deve ser dentro do horário de funcionamento do estabelecimento</span>";
            }


            //todo agendamento deve ser agendado com 30 minutos de antecedencia
            DateTime DataHoraRetroativa = Agenda.Inicio.Subtract(minuto);

            if (DataHoraRetroativa <= DateTime.Now)
            {
                Retorno.Mensagem += "<span> Não é possivel agendar nesta data, pois todos agendamentos precisam ter pelo menos 30 minutos de antecedencia</span>";
            }

            //nao pode agendar em horario igual com o mesmo funcionario mas como esta editando ele aceita o mesmo horario ainda que foi criado o agendamento inicial
            var EditandoMesmaAgendamento = contexto.Agenda.Any(x => x.FuncionarioId == Agenda.FuncionarioId &&
                                                               x.Inicio == Agenda.Inicio && x.Fim == Agenda.Fim && x.ClienteId == Agenda.ClienteId
                                                               );

            if (!EditandoMesmaAgendamento)
            {
                var agendaMarcada = contexto.Agenda.Where(x => x.FuncionarioId == Agenda.FuncionarioId).Count(x => (Agenda.Inicio >= x.Inicio && Agenda.Inicio <= x.Fim) || (Agenda.Fim >= x.Inicio && Agenda.Fim <= x.Fim)) > 0;
                if (agendaMarcada)
                {
                    Retorno.Mensagem += "<span> Escolha outro horario</span>";
                }
            }


            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }


            var bdAgenda = new AgendaRepositorioEF(contexto);

            bdAgenda.Atualizar(Agenda);
            bdAgenda.SalvarTodos();

            //abaixo tratando as comissoes
            if (Agenda.Pago == false)
            {
                var Existecomissao = contexto.Comissao.FirstOrDefault(x => x.AgendaId == Agenda.AgendaId);
                if (Existecomissao != null)
                {
                    //se o usuario setar como nao pago o agendamento exclui a comissao
                    using (var bdComisao = new ComissaoRepositorioEF(contexto))
                    {
                        var comissao = contexto.Comissao.FirstOrDefault(x => x.AgendaId == Agenda.AgendaId);
                        bdComisao.Excluir(x => x.AgendaId == Agenda.AgendaId);
                        bdComisao.SalvarTodos();
                    }
                }
            }
            //se o usuario editar  e deixar agenda paga, edita a comissao
            if (Agenda.Pago == true)
            {
                using (var bdComisao = new ComissaoRepositorioEF(contexto))
                {
                    var comissao = contexto.Comissao.FirstOrDefault(x => x.AgendaId == Agenda.AgendaId);

                    //no caso do usuario ter excluido a comissao cria ela denovo
                    if (comissao == null)
                    {
                        {
                            Comissao c = new Comissao();
                            c.Data          = DateTime.Now;
                            c.AgendaId      = Agenda.AgendaId;
                            c.FuncionarioId = Agenda.FuncionarioId;
                            c.ServicoId     = Agenda.ServicoId;
                            c.valorComissao = (Agenda.Servico.Preco * 5) / 100;

                            bdComisao.Adicionar(c);
                            bdComisao.SalvarTodos();
                        }
                    }
                    else // neste caso ele nao excluiu a comissao apenas editou a agenda e deixou agenda paga
                    {
                        comissao.Data          = comissao.Data;
                        comissao.AgendaId      = comissao.AgendaId;
                        comissao.FuncionarioId = Agenda.FuncionarioId;
                        comissao.ServicoId     = Agenda.ServicoId;
                        comissao.valorComissao = (Agenda.Servico.Preco * 5) / 100;

                        bdComisao.Atualizar(comissao);
                        bdComisao.SalvarTodos();
                    }
                }
            }

            Retorno.Mensagem += "<span> Editado com sucesso</span>";

            Retorno.Sucesso      = true;
            Retorno.Redirecionar = true;
            Retorno.Link         = "/Admin/Agenda/IndexAgenda";

            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Exemple #38
0
        public void TestAddProduction()
        {
            Production prod = new Production();

            prod.Label = "find-stack-of-two-blocks-to-the-left-of-a-red-block";
            Variable x = new Variable("x");
            Variable y = new Variable("y");
            Variable z = new Variable("z");

            prod.AddConditionToLHS(new PositiveCondition("C1", x, "on", y));
            prod.AddConditionToLHS(new PositiveCondition("C2", y, "left of", z));
            prod.AddConditionToLHS(new PositiveCondition("C3", z, "color", "red"));

            AssertCondition rhs = new AssertCondition("C4", x, "is", "on top");

            rhs.ConditionType = ConditionType.Assert;

            prod.AddConditionToRHS(rhs);

            Agenda agenda = new Agenda();

            agenda.ConflictResolutionStrategy = new SalienceResolver();
            agenda.AddProduction(prod);

            WME wme1 = new WME("W1");

            wme1.Fields[0] = "B1";
            wme1.Fields[1] = "on";
            wme1.Fields[2] = "B2";
            agenda.AddFact(wme1);

            WME wme2 = new WME("W2");

            wme2.Fields[0] = "B1";
            wme2.Fields[1] = "on";
            wme2.Fields[2] = "B3";
            agenda.AddFact(wme2);

            WME wme3 = new WME("W3");

            wme3.Fields[0] = "B1";
            wme3.Fields[1] = "color";
            wme3.Fields[2] = "red";
            agenda.AddFact(wme3);

            WME wme4 = new WME("W4");

            wme4.Fields[0] = "B2";
            wme4.Fields[1] = "on";
            wme4.Fields[2] = "table";
            agenda.AddFact(wme4);

            WME wme5 = new WME("W5");

            wme5.Fields[0] = "B2";
            wme5.Fields[1] = "left of";
            wme5.Fields[2] = "B3";
            agenda.AddFact(wme5);

            WME wme6 = new WME("W6");

            wme6.Fields[0] = "B2";
            wme6.Fields[1] = "color";
            wme6.Fields[2] = "blue";
            agenda.AddFact(wme6);

            WME wme7 = new WME("W7");

            wme7.Fields[0] = "B3";
            wme7.Fields[1] = "left of";
            wme7.Fields[2] = "B4";
            agenda.AddFact(wme7);

            WME wme8 = new WME("W8");

            wme8.Fields[0] = "B3";
            wme8.Fields[1] = "on";
            wme8.Fields[2] = "table";
            agenda.AddFact(wme8);

            WME wme9 = new WME("W9");

            wme9.Fields[0] = "B3";
            wme9.Fields[1] = "color";
            wme9.Fields[2] = "red";
            agenda.AddFact(wme9);

            agenda.Run();

            agenda.VisualizeNetworkToFile(@"C:\Temp\TestAgenda.log", false);

            Assert.IsTrue(agenda.ActivatedRuleCount == 1, "Rule did not fire.");
            Assert.IsTrue(agenda.InferredFacts.Count == 1, "Bad");
        }
Exemple #39
0
        public async void CreateAppointments(Agenda agenda)
        {
            var calendar = new Calendar()
            {
                Name      = "VCALENDAR",
                ProductId = "//Fourth//ScheduleImporter ical.net 4.0//EN",
                Scale     = "GREGORIAN"
            };

            foreach (var scheduledTime in agenda.Schedule)
            {
                var engineer = agenda.Engineers.FirstOrDefault(x => x.Nickname == scheduledTime.EngineerNickname);

                calendar.Events.Add(new CalendarEvent
                {
                    Uid         = Guid.NewGuid().ToString(),
                    Name        = "VEVENT",
                    Class       = "PUBLIC",
                    Summary     = $"{engineer.Name} - OOH Appointment",
                    Description = "API & Services - WFM / Our of office hours support appointment",
                    Created     = new CalDateTime(DateTime.UtcNow),
                    Start       = new CalDateTime(scheduledTime.From),
                    End         = new CalDateTime(scheduledTime.To),
                    Sequence    = 0,
                    Status      = "CONFIRMED",
                });
            }

            var serializer         = new CalendarSerializer(new SerializationContext());
            var serializedCalendar = serializer.SerializeToString(calendar);
            var bytesCalendar      = Encoding.UTF8.GetBytes(serializedCalendar);
            var contentStream      = new MemoryStream(bytesCalendar);

            var calendarsPath = $"{_hostingEnvironment.ContentRootPath}/../../calendars/";

            using (Stream stream = new FileStream($"{calendarsPath}/Full_OOH_Schedule_{DateTime.Now.ToString("yyyy-MM-dd").Replace("/", string.Empty)}.ics", FileMode.Create, FileAccess.Write, FileShare.None, (int)contentStream.Length, true))
            {
                await contentStream.CopyToAsync(stream);
            }

            contentStream.Close();

            foreach (var engineer in agenda.Engineers)
            {
                var engineerCalendar = new Calendar()
                {
                    Name      = "VCALENDAR",
                    ProductId = "//Fourth//ScheduleImporter ical.net 4.0//EN",
                    Scale     = "GREGORIAN"
                };

                foreach (var scheduledTime in agenda.Schedule.Where(x => x.EngineerNickname == engineer.Nickname))
                {
                    engineerCalendar.Events.Add(new CalendarEvent
                    {
                        Uid         = Guid.NewGuid().ToString(),
                        Name        = "VEVENT",
                        Class       = "PUBLIC",
                        Summary     = $"{engineer.Name} - OOH Appointment",
                        Description = "API & Services - WFM / Our of office hours support appointment",
                        Created     = new CalDateTime(DateTime.UtcNow),
                        Start       = new CalDateTime(scheduledTime.From),
                        End         = new CalDateTime(scheduledTime.To),
                        Sequence    = 0,
                        Status      = "CONFIRMED",
                    });
                }

                var engineerSerializer         = new CalendarSerializer(new SerializationContext());
                var engineerSerializedCalendar = engineerSerializer.SerializeToString(engineerCalendar);
                var engineerBytesCalendar      = Encoding.UTF8.GetBytes(engineerSerializedCalendar);
                var engineerContentStream      = new MemoryStream(engineerBytesCalendar);

                var engineerCalendarsPath = $"{_hostingEnvironment.ContentRootPath}/../../calendars/";
                using (Stream stream = new FileStream($"{engineerCalendarsPath}/{engineer.Nickname.RemoveSpaces()}-{engineer.Name.RemoveSpaces()}-OOH-Schedule_{DateTime.Now.ToString("yyyy-MM-dd").Replace("/", string.Empty)}.ics", FileMode.Create, FileAccess.Write, FileShare.None, (int)engineerContentStream.Length, true))
                {
                    await engineerContentStream.CopyToAsync(stream);
                }

                engineerContentStream.Close();
            }
        }
Exemple #40
0
        static void Main(string[] args)
        {
            Agenda agenda = new Agenda();

            agenda.Menu();
        }
Exemple #41
0
 public void AtualizarAgenda(Agenda entidadeModificada)
 {
     agendaNegocio.Atualizar <Agenda>(entidadeModificada);
 }
Exemple #42
0
 public void Editar(Agenda agenda)
 {
     _repositorio.Editar(agenda);
 }
Exemple #43
0
 public void ExcluirAgenda(Agenda entidadeExcluida)
 {
     agendaNegocio.Excluir <Agenda>(entidadeExcluida);
 }
Exemple #44
0
 public void Deletar(Agenda agenda)
 {
     _repositorio.Deletar(agenda);
 }
Exemple #45
0
 public void Inserir(Agenda agenda)
 {
     _repositorio.Inserir(agenda);
 }
Exemple #46
0
 public Agenda Recuperar(Agenda agenda)
 {
     return(_repositorio.Recuperar(agenda));
 }
Exemple #47
0
 public Agenda Insert(Agenda metadata)
 {
     return(repository.Insert(metadata));
 }
Exemple #48
0
 public int Delete(Agenda obj)
 {
     return(repository.Delete(obj));
 }
Exemple #49
0
 public int Update(Agenda metadata)
 {
     return(repository.Update(metadata));
 }
Exemple #50
0
 public AgendaResult UserSetAgenda(Agenda a)
 {
     return(Controller.RetrieveEntity <AgendaResult>(Dict[Calls.AgendaAdd], a));
 }
Exemple #51
0
        public IActionResult Agenda(string tipo, string busqueda)
        {
            Agenda a1 = new Agenda
            {
                Propietario = "Arrate",
                //FechaCreacion = new DateTime(2017,3,12)
                //FechaCreacion = DateTime.Today
                FechaCreacion = Convert.ToDateTime("22/09/2017")
            };

            Contacto c1 = new Contacto
            {
                Nombre   = "Arrate",
                Apellido = "Ortiz de Zarate",
                Imagen   = "~/img/contact.png",
                Tipo     = "Familia",
                Telefono = "8273728282"
            };
            Contacto c2 = new Contacto
            {
                Nombre   = "Arrate",
                Apellido = "Ortiz de Zarate",
                Imagen   = "~/img/contact.png",
                Tipo     = "Familia",
                Telefono = "8273728282"
            };
            Contacto c3 = new Contacto
            {
                Nombre   = "Arrate",
                Apellido = "Ortiz de Zarate",
                Imagen   = "~/img/contact.png",
                Tipo     = "Amigos",
                Telefono = "8273728282"
            };
            Contacto c4 = new Contacto
            {
                Nombre   = "Arrate",
                Apellido = "Ortiz de Zarate",
                Imagen   = "~/img/contact.png",
                Tipo     = "Amigos",
                Telefono = "8273728282"
            };
            Contacto c5 = new Contacto
            {
                Nombre   = "Arrate",
                Apellido = "Ortiz de Zarate",
                Imagen   = "~/img/contact.png",
                Tipo     = "Trabajo",
                Telefono = "8273728282"
            };
            Contacto c6 = new Contacto
            {
                Nombre   = "Arrate",
                Apellido = "Ortiz de Zarate",
                Imagen   = "~/img/contact.png",
                Tipo     = "Trabajo",
                Telefono = "8273728282"
            };
            List <Contacto> contactos = new List <Contacto>()
            {
                c1, c2, c3, c4, c5, c6
            };

            if (tipo == "Familia")
            {
                contactos = contactos.Where(x => x.Tipo == "Familia").ToList();
            }
            else if (tipo == "Amigos")
            {
                contactos = contactos.Where(x => x.Tipo == "Amigos").ToList();
            }
            else if (tipo == "Trabajo")
            {
                contactos = contactos.Where(x => x.Tipo == "Trabajo").ToList();
            }

            AgendaContactoVM ac1 = new AgendaContactoVM
            {
                Agenda    = a1,
                Contactos = contactos
            };

            return(View(ac1));
        }
Exemple #52
0
        public void DeleteAgenda(Agenda A)
        {
            DadosAgenda dl = new DadosAgenda();

            dl.DeleteAgenda(A);
        }
Exemple #53
0
 public void InserirAgenda(Agenda entidadeNova)
 {
     agendaNegocio.Inserir <Agenda>(entidadeNova);
 }
Exemple #54
0
        public void CancelarAgenda(Agenda A)
        {
            DadosAgenda dl = new DadosAgenda();

            dl.CancelarAgenda(A);
        }
 public Task <int> DeleteNoteAsync(Agenda note)
 {
     return(_database.DeleteAsync(note));
 }
Exemple #56
0
        public void VerificarExistencia(Agenda A)
        {
            DadosAgenda dl = new DadosAgenda();

            dl.VerificarExistencia(A);
        }
Exemple #57
0
        public JsonResult Create(Agenda Agenda)
        {
            var Retorno = new RetornoJson();

            if (Agenda.FuncionarioId == 0)
            {
                Retorno.Mensagem += "<span> Escolha o Funcionario</span>";
            }
            if (Agenda.ClienteId == 0)
            {
                Retorno.Mensagem += "<span> Escolha o Cliente</span>";
            }
            if (Agenda.ServicoId == 0)
            {
                Retorno.Mensagem += "<span> Escolha o Servico</span>";
            }

            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            TimeSpan minuto = new TimeSpan(00, 30, 00);


            DateTime DataAgenda = DateTime.Parse(Agenda.DataAgendamento.ToString());

            Agenda.Inicio = DataAgenda + Agenda.Inicio.TimeOfDay;
            Agenda.Fim    = DataAgenda + Agenda.Fim.TimeOfDay;

            //validar se o horario Inicio é menor que o Fim
            if (Agenda.Inicio >= Agenda.Fim)
            {
                Retorno.Mensagem += "<span> Horario Inicio é obrigatoriamente menor que o horário Fim</span>";
            }

            //validar se a data ultrapassa 4 meses
            DateTime AgendamentoDistante = DateTime.Now.AddMonths(4);

            if (Agenda.Fim > AgendamentoDistante)
            {
                Retorno.Mensagem += "<span> Agendamento não pode ultrapassar 4 meses</span>";
            }

            //agendamentos somente devem ser feito em horario de funcionamento
            TimeSpan HorarioAbre  = new TimeSpan(10, 00, 00);
            TimeSpan HorarioFecha = new TimeSpan(20, 00, 00);

            if (!(Agenda.Inicio.Hour >= HorarioAbre.Hours && Agenda.Inicio.Hour <= HorarioFecha.Hours) || !(Agenda.Fim.Hour >= HorarioAbre.Hours && Agenda.Fim.Hour <= HorarioFecha.Hours))
            {
                Retorno.Mensagem += "<span> O Agendamento deve ser dentro do horário de funcionamento do estabelecimento</span>";
            }


            //todo agendamento deve ser agendado com 30 minutos de antecedencia
            DateTime DataHoraRetroativa = Agenda.Inicio.Subtract(minuto);

            if (DataHoraRetroativa <= DateTime.Now)
            {
                Retorno.Mensagem += "<span> Não é possivel agendar nesta data, pois todos agendamentos precisam ter pelo menos 30 minutos de antecedencia</span>";
            }

            //nao pode agendar em horario igual com o mesmo funcionario
            var agendaMarcada = contexto.Agenda.Where(x => x.FuncionarioId == Agenda.FuncionarioId).Count(x => (Agenda.Inicio >= x.Inicio && Agenda.Inicio <= x.Fim) || (Agenda.Fim >= x.Inicio && Agenda.Fim <= x.Fim)) > 0;

            if (agendaMarcada)
            {
                Retorno.Mensagem += "<span> Escolha outro horario</span>";
            }


            if (Retorno.Mensagem != "")
            {
                return(Json(Retorno, JsonRequestBehavior.AllowGet));
            }

            try
            {
                var bdAgenda = new AgendaRepositorioEF(contexto);
                bdAgenda.Adicionar(Agenda);
                bdAgenda.SalvarTodos();

                //tratando as comissoes
                if (Agenda.Pago == true)
                {
                    using (var bdComisao = new ComissaoRepositorioEF(contexto))
                    {
                        Comissao comissao = new Comissao();
                        comissao.Data          = DateTime.Now;
                        comissao.AgendaId      = Agenda.AgendaId;
                        comissao.FuncionarioId = Agenda.FuncionarioId;
                        comissao.ServicoId     = Agenda.ServicoId;
                        comissao.valorComissao = (Agenda.Servico.Preco * 5) / 100;

                        bdComisao.Adicionar(comissao);
                        bdComisao.SalvarTodos();
                    }
                }

                Retorno.Sucesso      = true;
                Retorno.Mensagem    += "<span> Cadastrado com sucesso</span>";
                Retorno.Redirecionar = true;
                Retorno.Link         = "/Admin/Agenda/IndexAgenda";
            }
            catch (Exception e)
            {
                Retorno.Mensagem += "<span> Não foi possivel persistir seu agendamento</span>";
            }
            return(Json(Retorno, JsonRequestBehavior.AllowGet));
        }
Exemple #58
0
 public void SaveAgenda(Agenda agenda)
 {
     throw new NotImplementedException();
 }
Exemple #59
0
        public void LoadEmptyAgenda()
        {
            Agenda loadedAgenda = Agenda.Load("new-file.txt");

            Assert.AreEqual(0, loadedAgenda.NumContacts());
        }
        private void CarregarAgendamentos()
        {
            try
            {
                Agenda agenda = new Agenda();
                agenda.Local      = this.txtLocal.Text.Length > 0 ? this.txtLocal.Text : null;
                agenda.NomeMedico = this.txtMedico.Text.Length > 0 ? this.txtMedico.Text : null;
                agenda.Convenio   = this.txtConvenio.Text.Length > 0 ? this.txtConvenio.Text : null;

                if (this.ddlEstadoAgenda.SelectedIndex != 0)
                {
                    EstadoAgenda estadoAgenda =
                        new EstadoAgendaRepository()
                        .Details(new EstadoAgenda()
                    {
                        EstadoAgendaID = Convert.ToInt32(this.ddlEstadoAgenda.SelectedValue)
                    });

                    agenda.EstadoAgenda = estadoAgenda;
                }

                DateTime?dataInicial = null;
                DateTime?dataFinal   = null;

                if (!String.IsNullOrEmpty(this.txtDataInicial.Text))
                {
                    dataInicial = Convert.ToDateTime(this.txtDataInicial.Text);
                }

                if (!String.IsNullOrEmpty(this.txtDataFinal.Text))
                {
                    dataFinal = Convert.ToDateTime(this.txtDataFinal.Text);
                    TimeSpan hora = new TimeSpan(23, 59, 59);
                    dataFinal = dataFinal.Value.Add(hora);
                }

                List <Agenda> agendas = new AgendaRepository().Retreave(agenda, dataInicial, dataFinal);
                agendas = agendas
                          .Where(a => a.Ativo.Value)
                          .OrderByDescending(a => a.AgendaID)
                          .ToList();

                VsAgendas = agendas;
                this.gvAgendas.DataSource = agendas;
                this.gvAgendas.DataBind();

                this.lblTotalRegistros.Text     = agendas.Count.ToString();
                this.infoTotalRegistros.Visible = true;
            }
            catch (Exception e)
            {
                Log.Create(e);
                Email.Send("Agendamento de congelação - falha na aplicação", e);
                this.msgDialog
                .Show
                (
                    "Erro"
                    , "Não foi possível carregar registros de agenda."
                    , UserControl.Message.Type.Error
                );
            }
        }