Beispiel #1
0
        public IHttpActionResult PutParticipanteEvento(int id, ParticipanteEvento participanteEvento)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != participanteEvento.EventoID)
            {
                return(BadRequest());
            }

            db.Entry(participanteEvento).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ParticipanteEventoExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Beispiel #2
0
        public IHttpActionResult PostParticipanteEvento(ParticipanteEvento participanteEvento)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.ParticipanteEvento.Add(participanteEvento);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (ParticipanteEventoExists(participanteEvento.EventoID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = participanteEvento.EventoID }, participanteEvento));
        }
Beispiel #3
0
        public static void Seed(this ModelBuilder modelBuilder)
        {
            //Funcionario
            var geovane = new Funcionario("Geovane Paz", "*****@*****.**", "Dev .Net", "TI");
            var jonas   = new Funcionario("Jonas", "*****@*****.**", "Dev .Net", "TI");
            var rodrigo = new Funcionario("Rodrigo", "*****@*****.**", "Dev .Net", "TI");
            var roger   = new Funcionario("Roger", "*****@*****.**", "Dev .Net", "TI");

            modelBuilder.Entity <Funcionario>().HasData(geovane, jonas, rodrigo, roger);

            //convidado
            var deise = new Convidado(geovane.Id, "Deise - Irmã Geovane", "*****@*****.**");
            var maria = new Convidado(jonas.Id, "Maria - Namorada Jonas", "*****@*****.**");

            modelBuilder.Entity <Convidado>().HasData(maria, deise);

            //Evento
            var chursas = new Evento("Churras ano que vem", DateTime.Now.AddDays(365), 100, 100);

            modelBuilder.Entity <Evento>().HasData(chursas);

            //ParicipanteEvento
            var participante1 = new ParticipanteEvento(chursas.Id, geovane.Id, deise.Id, 20, 20, true, true);
            var participante2 = new ParticipanteEvento(chursas.Id, jonas.Id, maria.Id, 20, 0, false, false);
            var participante3 = new ParticipanteEvento(chursas.Id, rodrigo.Id, null, 10, 10, false, true);

            modelBuilder.Entity <ParticipanteEvento>().HasData(participante1, participante2, participante3);
        }
        public async Task <Guid> AdicionarParticipanteAsync(ParticipanteEventoRequest request)
        {
            ParticipanteEvento model = ConverterParticipanteParaModel(request);

            ValidacoesParticipanteEvento(model);

            await _repository.InsertParticipantes(model);

            return(model.Id);
        }
        /// <summary>
        /// Busca Participante.
        /// Caso não encontre, retorna Exception.
        /// </summary>
        /// <param name="participanteId"></param>
        private ParticipanteEvento ObterParticipante(Guid participanteId)
        {
            ParticipanteEvento participante = _repository.ObterParticipante(participanteId).Result;

            if (participante == null)
            {
                throw new DomainException("Participante não encontrado.");
            }
            return(participante);
        }
Beispiel #6
0
 public ActionResult DeleteConfirmed(int id)
 {
     if (User.Identity.IsAuthenticated)
     {
         ParticipanteEvento participanteEvento = db.ParticipanteEventoes.Find(id);
         db.ParticipanteEventoes.Remove(participanteEvento);
         db.SaveChanges();
     }
     return(RedirectToAction("Index"));
 }
        public async Task <ParticipanteEvento> InsertParticipantes(ParticipanteEvento entity, bool autoCommit = true)
        {
            await _context.ParticipanteEvento.AddAsync(entity);

            if (autoCommit)
            {
                await _context.SaveChangesAsync();
            }

            return(entity);
        }
Beispiel #8
0
        public IHttpActionResult GetParticipanteEvento(int id)
        {
            ParticipanteEvento participanteEvento = db.ParticipanteEvento.Find(id);

            if (participanteEvento == null)
            {
                return(NotFound());
            }

            return(Ok(participanteEvento));
        }
Beispiel #9
0
        public string InscricaoEvento(InscricaoParticipanteEvento model)
        {
            try
            {
                var evento = Db.Evento.Find(model.EventoId);

                var eventoAluno = Db.ParticipanteEvento.Where(x => x.ParticipanteId == model.ParticipanteId).ToList();

                if (evento == null)
                {
                    throw new Exception("Evento não encotrado.");
                }
                else if (evento.NumeroVagas == 0)
                {
                    throw new Exception("Numero de vagas esgotadas");
                }
                else if (evento.Cancelado == true)
                {
                    throw new Exception("Evento cancelado, nâo e possivel realizar a inscrição.");
                }

                foreach (var item in eventoAluno)
                {
                    if (item.Evento.DataInicio == evento.DataInicio)
                    {
                        throw new Exception("Não e possivel realizar a inscrição em eventos que occoram na mesma hora.");
                    }
                }

                string codigo = CodigoUnico();

                ParticipanteEvento alunoEvento = new ParticipanteEvento()
                {
                    InscricaoPrevia     = true,
                    ConfirmacaoPresenca = false,
                    ParticipanteId      = model.ParticipanteId,
                    EventoId            = model.EventoId,
                    CodigoValidacao     = codigo
                };

                evento.NumeroVagas = evento.NumeroVagas - 1;


                Db.ParticipanteEvento.Add(alunoEvento);
                Db.SaveChanges();

                return("OK");
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
Beispiel #10
0
 public ActionResult Edit([Bind(Include = "ParticipanteEventoId,PartcipanteNomeCompleto,ParticipanteRg,ParticipanteEmail,ParticipanteTelefone,ParticipanteIdade,IgrejaId,EventoId")] ParticipanteEvento participanteEvento)
 {
     if (ModelState.IsValid && User.Identity.IsAuthenticated)
     {
         participanteEvento.UserId          = dbUser.Users.Where(x => x.UserName.Equals(User.Identity.Name)).FirstOrDefault().Id;
         db.Entry(participanteEvento).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.EventoId = new SelectList(db.Eventoes, "EventoId", "EventoDescricao", participanteEvento.EventoId);
     ViewBag.IgrejaId = new SelectList(db.Igrejas, "IgrejaId", "IgrejaDescricao", participanteEvento.IgrejaId);
     return(View(participanteEvento));
 }
Beispiel #11
0
        // GET: ParticipanteEventoes/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ParticipanteEvento participanteEvento = db.ParticipanteEventoes.Find(id);

            if (participanteEvento == null)
            {
                return(HttpNotFound());
            }
            return(View(participanteEvento));
        }
Beispiel #12
0
        public IHttpActionResult DeleteParticipanteEvento(int id)
        {
            ParticipanteEvento participanteEvento = db.ParticipanteEvento.Find(id);

            if (participanteEvento == null)
            {
                return(NotFound());
            }

            db.ParticipanteEvento.Remove(participanteEvento);
            db.SaveChanges();

            return(Ok(participanteEvento));
        }
        /// <summary>
        ///  Faz validações sobre a regra de inserção do participante no evento.
        ///  caso tenha erro, retorna Exception
        /// </summary>
        /// <param name="model"></param>
        private void ValidacoesParticipanteEvento(ParticipanteEvento model)
        {
            ValidaSeExisteEvento(model.EventoId);
            ValidaSeExisteFuncionario(model.FuncionarioId);

            if (model.ConvidadoId.HasValue)
            {
                ValidaSeExisteConvidado(model.ConvidadoId.Value);
            }

            ValidaFuncionarioNovento(model.FuncionarioId, model.EventoId);
            if (model.ConvidadoId.HasValue)
            {
                ValidaConvidadoNoEvento(model.ConvidadoId.Value, model.EventoId);
            }
        }
Beispiel #14
0
        // GET: ParticipanteEventoes/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ParticipanteEvento participanteEvento = db.ParticipanteEventoes.Find(id);

            if (participanteEvento == null)
            {
                return(HttpNotFound());
            }
            ViewBag.EventoId = new SelectList(db.Eventoes, "EventoId", "EventoDescricao", participanteEvento.EventoId);
            ViewBag.IgrejaId = new SelectList(db.Igrejas, "IgrejaId", "IgrejaDescricao", participanteEvento.IgrejaId);
            return(View(participanteEvento));
        }
        public void RemoverConvidado_InserindoValoresValidos_RetornaSucesso()
        {
            // Arrange
            var osDoisBebendo = new ParticipanteEvento
                                (
                eventoId: Guid.NewGuid(),
                funcionarioId: Guid.NewGuid(),
                convidadoId: Guid.NewGuid(),
                valorComida: 20,
                valorBebida: 20,
                convidadoComBebida: true,
                funcionarioComBebida: true
                                );

            var convidadoBebendo = new ParticipanteEvento
                                   (
                eventoId: Guid.NewGuid(),
                funcionarioId: Guid.NewGuid(),
                convidadoId: Guid.NewGuid(),
                valorComida: 20,
                valorBebida: 10,
                convidadoComBebida: true,
                funcionarioComBebida: false
                                   );

            var funcionarioBebendo = new ParticipanteEvento
                                     (
                eventoId: Guid.NewGuid(),
                funcionarioId: Guid.NewGuid(),
                convidadoId: Guid.NewGuid(),
                valorComida: 20,
                valorBebida: 10,
                convidadoComBebida: false,
                funcionarioComBebida: true
                                     );

            // Act
            osDoisBebendo.RemoverConvidado();
            convidadoBebendo.RemoverConvidado();
            funcionarioBebendo.RemoverConvidado();


            //Assert
            Assert.True(osDoisBebendo.ConvidadoId == null && osDoisBebendo.ValorComida == 10 && osDoisBebendo.ValorBebida == 10);
            Assert.True(convidadoBebendo.ConvidadoId == null && convidadoBebendo.ValorComida == 10 && convidadoBebendo.ValorBebida == 0);
            Assert.True(funcionarioBebendo.ConvidadoId == null && funcionarioBebendo.ValorComida == 10 && funcionarioBebendo.ValorBebida == 10);
        }
Beispiel #16
0
        public ActionResult Create([Bind(Include = "PartcipanteNomeCompleto,ParticipanteRg,ParticipanteEmail,ParticipanteTelefone,ParticipanteIdade,IgrejaId,EventoId")] ParticipanteEvento participanteEvento)
        {
            if (ModelState.IsValid && User.Identity.IsAuthenticated)
            {
                if (db.Eventoes.Where(x => x.EventoId == participanteEvento.EventoId).FirstOrDefault().EventoLimitePessoas <= db.ParticipanteEventoes.Count())
                {
                    new NotImplementedException("A quantidade de pessoas limite para o evento foi alcançada! Não é possivel cadastrar mais!");
                }
                else
                {
                    participanteEvento.UserId = dbUser.Users.Where(x => x.UserName.Equals(User.Identity.Name)).FirstOrDefault().Id;
                    db.ParticipanteEventoes.Add(participanteEvento);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }

            ViewBag.EventoId = new SelectList(db.Eventoes, "EventoId", "EventoDescricao", participanteEvento.EventoId);
            ViewBag.IgrejaId = new SelectList(db.Igrejas, "IgrejaId", "IgrejaDescricao", participanteEvento.IgrejaId);
            return(View(participanteEvento));
        }
        public void Construtor_InserindoValoresValidos_RetornaSucesso()
        {
            // Arrange &  Act
            var comConvidao = new ParticipanteEvento
                              (
                eventoId: Guid.NewGuid(),
                funcionarioId: Guid.NewGuid(),
                convidadoId: Guid.NewGuid(),
                valorComida: 20,
                valorBebida: 20,
                convidadoComBebida: true,
                funcionarioComBebida: true
                              );

            var comConvidaoSemBebida = new ParticipanteEvento
                                       (
                eventoId: Guid.NewGuid(),
                funcionarioId: Guid.NewGuid(),
                convidadoId: Guid.NewGuid(),
                valorComida: 20,
                valorBebida: 0,
                convidadoComBebida: false,
                funcionarioComBebida: false
                                       );

            var apenasConvidadoComBebida = new ParticipanteEvento
                                           (
                eventoId: Guid.NewGuid(),
                funcionarioId: Guid.NewGuid(),
                convidadoId: Guid.NewGuid(),
                valorComida: 20,
                valorBebida: 10,
                convidadoComBebida: true,
                funcionarioComBebida: false
                                           );

            var apenasFuncionarioComBebida = new ParticipanteEvento
                                             (
                eventoId: Guid.NewGuid(),
                funcionarioId: Guid.NewGuid(),
                convidadoId: Guid.NewGuid(),
                valorComida: 20,
                valorBebida: 10,
                convidadoComBebida: false,
                funcionarioComBebida: true
                                             );

            var semConvidado = new ParticipanteEvento
                               (
                eventoId: Guid.NewGuid(),
                funcionarioId: Guid.NewGuid(),
                convidadoId: null,
                valorComida: 10,
                valorBebida: 0,
                convidadoComBebida: false,
                funcionarioComBebida: false
                               );

            var semConvidadoComBebida = new ParticipanteEvento
                                        (
                eventoId: Guid.NewGuid(),
                funcionarioId: Guid.NewGuid(),
                convidadoId: null,
                valorComida: 10,
                valorBebida: 10,
                convidadoComBebida: true,
                funcionarioComBebida: false
                                        );

            //Assert
            Assert.NotNull(comConvidao);
            Assert.NotNull(comConvidaoSemBebida);
            Assert.NotNull(apenasConvidadoComBebida);
            Assert.NotNull(apenasFuncionarioComBebida);
            Assert.NotNull(semConvidado);
            Assert.NotNull(semConvidadoComBebida);
        }
 public async Task RemoverParticipante(ParticipanteEvento participante)
 {
     _context.ParticipanteEvento.Remove(participante);
     await _context.SaveChangesAsync();
 }
 public async Task AtualizarParticipante(ParticipanteEvento participante)
 {
     _context.ParticipanteEvento.Update(participante);
     await _context.SaveChangesAsync();
 }