コード例 #1
0
        public IHttpActionResult Put(int Id, SalaDTO sala)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                SalaModel sl = new SalaModel();

                if (Id == 0)
                {
                    sl.Inserir(sala);
                }
                else
                {
                    sl.Editar(sala);
                }

                return(Ok("Executado com sucesso!"));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
コード例 #2
0
        public IActionResult Put(int id, [FromBody] SalaModel salaModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id <= 0)
            {
                return(NotFound());
            }

            Sala sala = this._contexto.Sala.Find(id);

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

            sala.AlterarNome(salaModel.Nome);
            sala.AlterarCapacidade(salaModel.Capacidade);
            sala.AlterarPossuiTV(salaModel.PossuiTV);
            sala.AlterarProjetor(salaModel.PossuiProjetor);

            this._contexto.Update(sala);
            this._contexto.SaveChanges();
            return(Ok());
        }
コード例 #3
0
        public async Task <SalaModel> CriarSala(SalaModel sala)
        {
            sala = _dbContext.Salas.Add(sala).Entity;
            await _dbContext.SaveChangesAsync();

            return(sala);
        }
コード例 #4
0
        public SalaModel Insert(SalaModel salaModel)
        {
            try
            {
                var sala = GetByTitulo(salaModel.Titulo);
                if (sala != null && sala.BlocoId == salaModel.BlocoId)
                {
                    throw new ServiceException("Uma sala com o mesmo Titulo já está associada a este bloco!");
                }

                var entity = new Sala();
                _context.Add(SetEntity(salaModel, entity));
                var save = _context.SaveChanges();

                if (save == 1)
                {
                    salaModel.Id = entity.Id; return(salaModel);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception) { throw; }
        }
コード例 #5
0
        public HttpResponseMessage AlterarSala([FromBody] SalaModel request)
        {
            if (request == null)
            {
                return(BadRequest($"O parametro {nameof(request)} não pode ser null"));
            }

            Sala salaAntiga = contexto.Salas.FirstOrDefault(x => x.Id == request.Id);

            Sala salaNova = CreateSala(request.NumeroSala, request.QuantidadeMaximaSlots, request.Largura, request.Comprimento);

            if (salaNova.QuantidadeMaximaSlots < salaAntiga.QuantidadeMaximaSlots)
            {
                return(BadRequest("A quantidade máxima de slots não pode ser diminuida."));
            }

            if (salaNova.Validar())
            {
                salaAntiga.QuantidadeMaximaSlots = request.QuantidadeMaximaSlots;

                int quantidadeExtrasSlots = request.QuantidadeMaximaSlots - salaAntiga.QuantidadeMaximaSlots;
                for (var i = 0; i < quantidadeExtrasSlots; i++)
                {
                    contexto.Slots.Add(CreateSlot(salaAntiga));
                }

                contexto.SaveChanges();

                return(Ok(salaAntiga));
            }

            return(BadRequest(salaNova.Mensagens));
        }
コード例 #6
0
        private static Sala SetEntity(SalaModel model, Sala entity)
        {
            entity.Id     = model.Id;
            entity.Titulo = model.Titulo;
            entity.Bloco  = model.BlocoId;

            return(entity);
        }
コード例 #7
0
ファイル: frmSaleEdit.cs プロジェクト: elbin-hasic/KinoCentar
        public frmSaleEdit(int id)
        {
            InitializeComponent();
            this.AutoValidate = AutoValidate.Disable;

            _id   = id;
            _sala = null;
        }
コード例 #8
0
        // Insere uma sala
        public void createSala(SalaModel salaModel)
        {
            String       insert = "insert into sala(nome, localizacao) values(@nome, @localizacao)";
            MySqlCommand cmd    = new MySqlCommand(insert);

            cmd.Parameters.AddWithValue("@nome", salaModel.Nome);
            cmd.Parameters.AddWithValue("@localizacao", salaModel.Localizacao);
            db.ExecuteNonQuery(cmd);
        }
コード例 #9
0
        private void btnEditar_Click(object sender, EventArgs e)
        {
            SalaModel sala = salaDAO.readSalaById(int.Parse(dataGridSalas.CurrentRow.Cells[0].Value.ToString()));

            SalaCadView salaCadView = new SalaCadView(sala, true);

            salaCadView.StartPosition = FormStartPosition.CenterParent;
            salaCadView.ShowDialog(this);
            Fill(salas);
        }
コード例 #10
0
        // Atualiza uma Sala
        public void updateSala(SalaModel sala)
        {
            String       update = "update sala set nome = @nome, localizacao = @localizacao where id = @id";
            MySqlCommand cmd    = new MySqlCommand(update);

            cmd.Parameters.AddWithValue("@id", sala.Id);
            cmd.Parameters.AddWithValue("@nome", sala.Nome);
            cmd.Parameters.AddWithValue("@localizacao", sala.Localizacao);
            db.ExecuteNonQuery(cmd);
        }
コード例 #11
0
 public SalaCadView(SalaModel sala, bool edit)
 {
     InitializeComponent();
     if (edit)
     {
         btnOk.Text     = "Atualizar";
         txtId.ReadOnly = true;
         edicao         = true;
     }
     SetDTO(sala);
 }
コード例 #12
0
        private SalaModel GetDTO()
        {
            SalaModel sala = new SalaModel();

            if (txtId.Text != "")
            {
                sala.Id = long.Parse(txtId.Text);
            }
            sala.Nome        = txtNome.Text;
            sala.Localizacao = txtLocalizacao.Text;
            return(sala);
        }
コード例 #13
0
        public async Task <SalaDTO> CadastrarSala(SalaDTO dto)
        {
            var model = new SalaModel
            {
                Descricao  = dto.Descricao,
                Codigo     = dto.Codigo,
                Lugares    = dto.Lugares,
                Disponivel = dto.Disponivel,
            };

            model = await _salaRepository.CriarSala(model);

            return(dto);
        }
コード例 #14
0
ファイル: frmSaleEdit.cs プロジェクト: elbin-hasic/KinoCentar
        private void frmSaleEdit_Load(object sender, EventArgs e)
        {
            HttpResponseMessage response = saleService.GetResponse(_id.ToString()).Handle();

            if (response.IsSuccessStatusCode)
            {
                _sala = response.GetResponseResult <SalaModel>();
                FillForm();
            }
            else if (response.StatusCode == System.Net.HttpStatusCode.NotFound)
            {
                _sala = null;
            }
        }
コード例 #15
0
        public bool Update(SalaModel entity)
        {
            try
            {
                var x = _context.Sala.Where(s => s.Id == entity.Id).FirstOrDefault();
                if (x != null)
                {
                    _context.Update(SetEntity(entity, x));
                    return(_context.SaveChanges() == 1 ? true : false);
                }
            }
            catch (Exception e) { throw new ServiceException("Houve um problema ao atualizar registro, tente novamente em alguns minutos"); }

            return(false);
        }
コード例 #16
0
        public IActionResult Post([FromBody] SalaModel salaModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Sala sala = new Sala(salaModel.Nome, salaModel.Capacidade, salaModel.PossuiProjetor, salaModel.PossuiTV);

            this._contexto.Add(sala);

            this._contexto.SaveChanges();

            return(Created("sala inserido com sucesso.", sala));
        }
コード例 #17
0
        private void btnSnimi_Click(object sender, EventArgs e)
        {
            if (this.ValidateChildren())
            {
                SalaModel sala = new SalaModel();
                sala.Naziv        = txtNaziv.Text;
                sala.BrojSjedista = int.Parse(txtBrojSjedista.Text);

                HttpResponseMessage response = saleService.PostResponse(sala).Handle();
                if (response.IsSuccessStatusCode)
                {
                    MessageBox.Show(Messages.add_sale_succ, Messages.msg_succ, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
            }
        }
コード例 #18
0
        public ActionResult Put([FromBody] SalaModel salaModel)
        {
            try
            {
                if (_service.Update(salaModel))
                {
                    return(Ok());
                }

                return(BadRequest());
            }
            catch (ServiceException e)
            {
                return(StatusCode(500, e.Message));
            }
        }
コード例 #19
0
        // Busca sala por Id

        public SalaModel readSalaById(long id)
        {
            String    consulta = "select id as 'Id', nome as 'Nome', localizacao as 'Localizacao' from sala where id = " + id;
            DataTable dt       = db.ExecuteQuery(consulta);
            SalaModel sala     = null;


            foreach (DataRow dr in dt.Rows)
            {
                sala             = new SalaModel();
                sala.Id          = int.Parse(dr["id"].ToString());
                sala.Nome        = dr["nome"].ToString();
                sala.Localizacao = dr["localizacao"].ToString();
            }
            return(sala);
        }
コード例 #20
0
        public IActionResult Post([FromBody] SalaModel salaModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Sala novaSala = new Sala(salaModel.Nome,
                                     salaModel.Capacidade,
                                     salaModel.PossuiTV,
                                     salaModel.PossuiProjetor);

            this._contexto.Add(novaSala);
            this._contexto.SaveChanges();
            return(Created("Sala criada com sucesso!", novaSala));
        }
コード例 #21
0
        public void Criar_Sala_Deve_Retornar_Erro_Quando_O_Sala_For_Nulo()
        {
            SalaModel sala = null;

            var controller = CriarController();

            controller.Request = new HttpRequestMessage();

            var resposta = controller.CadastrarSala(sala);

            string[] mensagens = (resposta.Content as ObjectContent).Value as string[];

            Assert.IsFalse(resposta.IsSuccessStatusCode);

            Assert.AreEqual("O parametro request não pode ser null", mensagens[0]);
        }
コード例 #22
0
        public ActionResult Post([FromBody] SalaModel salaModel)
        {
            try
            {
                var sala = _service.Insert(salaModel);
                if (sala != null)
                {
                    return(Ok(sala.Id));
                }

                return(BadRequest());
            }
            catch (ServiceException e)
            {
                return(StatusCode(500, e.Message));
            }
        }
コード例 #23
0
        public void Criar_Sala_Deve_Retornar_Erro_Quando_Sala_Ja_Existir()
        {
            SalaModel sala = CriarNovaSala1();

            var controller = CriarController();

            controller.Request = new HttpRequestMessage();

            controller.CadastrarSala(sala);

            var resposta = controller.CadastrarSala(sala);

            string[] mensagens = (resposta.Content as ObjectContent).Value as string[];

            Assert.IsFalse(resposta.IsSuccessStatusCode);

            Assert.AreEqual("Já existe uma sala com esse número nesse andar.", mensagens[0]);
        }
コード例 #24
0
        public async Task <SalaModel> Post(SalaModel sala)
        {
            var response = await _salaProvider.Post(sala);

            if (!response.IsSuccessStatusCode)
            {
                await ErrorResponse(response, "Post");
            }

            var json = await response.Content.ReadAsStringAsync();

            JObject jsonParse     = JObject.Parse(json);
            var     objectCliente = JsonConvert.DeserializeObject(jsonParse.ToString());

            var _sala = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <SalaModel>(objectCliente.ToString()));

            return(_sala);
        }
コード例 #25
0
        public ActionResult Delete(int id, IFormCollection collection)
        {
            SalaModel salaModel = _salaService.GetById(id);

            try
            {
                if (_salaParticularService.Remove(id))
                {
                    TempData["mensagemSucesso"] = "Responsável desassociado com sucesso!.";
                }
                else
                {
                    TempData["mensagemErro"] = "Houve um problema ao desassociar responsável, tente novamente em alguns minutos!.";
                }
            }
            catch (ServiceException se)
            {
                TempData["mensagemErro"] = se.Message;
            }

            return(RedirectToAction(nameof(Index)));
        }
コード例 #26
0
        public IActionResult Put(int id, [FromBody] SalaModel salaModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var sala = this._contexto.Sala.FirstOrDefault(e => e.Id == id);

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

            sala.Atualizar(salaModel.Nome, salaModel.Capacidade, salaModel.PossuiProjetor, salaModel.PossuiTV);

            this._contexto.Update(sala);

            this._contexto.SaveChanges();

            return(Ok(sala));
        }
コード例 #27
0
        public HttpResponseMessage CadastrarSala([FromBody] SalaModel request)
        {
            if (request == null)
            {
                return(BadRequest($"O parametro {nameof(request)} não pode ser null"));
            }

            Andar andar = contexto.Andares.FirstOrDefault(x => x.Id == request.AndarId);

            if (contexto.Salas.Where(x => x.Andar.Id == andar.Id).Count() >= andar.QuantidadeMaximaSalas)
            {
                return(BadRequest("Quantidade máxima de salas ultrapassada."));
            }

            if (contexto.Salas.Where(x => x.Andar.Id == andar.Id && x.NumeroSala.Equals(request.NumeroSala)).Count() != 0)
            {
                return(BadRequest("Já existe uma sala com esse número nesse andar."));
            }

            Sala sala = CreateSala(request.NumeroSala, request.QuantidadeMaximaSlots, request.Largura, request.Comprimento);

            sala.Andar = andar;

            andar.Salas.Add(sala);

            if (sala.Validar())
            {
                for (var i = 0; i < sala.QuantidadeMaximaSlots; i++)
                {
                    contexto.Slots.Add(CreateSlot(sala));
                }
                contexto.SaveChanges();

                return(Ok(sala));
            }

            return(BadRequest(sala.Mensagens));
        }
コード例 #28
0
        public RetornoModel CriarSala(string nomesala, string usuario)
        {
            RetornoModel retorno = new RetornoModel();

            try{
                var       idsala   = _help.RandomString(6);
                SalaModel novasala = new SalaModel();
                novasala.datacriacao = DateTime.Now;
                novasala.donosala    = usuario;
                novasala.jogador1    = usuario;
                novasala.nomesala    = nomesala;
                novasala.ativa       = true;
                novasala.idsala      = idsala;

                _local.sala.Add(novasala);
                _local.SaveChanges();
                retorno.status = "OK";

                retorno.resultado = idsala;
                return(retorno);
            }catch (Exception e) {
                return(retorno);
            }
        }
コード例 #29
0
        public ActionResult Delete(int id, IFormCollection collection)
        {
            SalaModel salaModel = _salaService.GetById(id);

            try
            {
                if (ModelState.IsValid)
                {
                    if (_salaService.Remove(id))
                    {
                        TempData["mensagemSucesso"] = "Sala removida com sucesso!";
                    }
                    else
                    {
                        TempData["mensagemErro"] = "Houve um problema ao remover a sala, tente novamente em alguns minutos!";
                    }
                }
            }
            catch (ServiceException se)
            {
                TempData["mensagemErro"] = se.Message;
            }
            return(RedirectToAction(nameof(Index)));
        }
コード例 #30
0
 public async Task <HttpResponseMessage> Post(SalaModel sala) =>
 await new HttpClientHelper(_client)
 .SetEndpoint($"Post")
 .WithContentSerialized(sala)
 .PostAsync();