public IHttpActionResult Atualizar(string id, [FromBody] NivelModel obj)
        {
            if (String.IsNullOrWhiteSpace(id) || obj == null || String.IsNullOrWhiteSpace(obj.Nome) || String.IsNullOrWhiteSpace(obj.Descricao))
            {
                return(ResponseMessage(Request.CreateResponse <string>(HttpStatusCode.NotAcceptable, "Necessário informar campos: Id, Nome e Descricao.")));
            }

            try
            {
                Nivel nivel = new Nivel(obj.Id, obj.Nome, obj.Descricao);

                var result = _nivelRepository.Update(id, nivel);

                if (result != null)
                {
                    return(ResponseMessage(Request.CreateResponse(HttpStatusCode.OK)));
                }
                else
                {
                    return(ResponseMessage(Request.CreateResponse(HttpStatusCode.NotFound, "Nivel não localizado.")));
                }
            }
            catch (Exception erro)
            {
                return(ResponseMessage(Request.CreateResponse(HttpStatusCode.InternalServerError, "Ocorreu um erro ao tentar processar a requisição.")));
            }
        }
        public JsonResult Editar(int id, NivelModel vm)
        {
            try
            {
                using (var db = new NiveisContext())
                {
                    var item = db.Niveis.FirstOrDefault(x => x.Id == id);

                    if (item != null)
                    {
                        item.AtualizarDominio(vm);

                        db.SaveChanges();
                    }
                    else
                    {
                        return(Json(new { Sucesso = false }));
                    }
                }

                return(Json(new { Sucesso = true }));
            }
            catch (Exception)
            {
                return(Json(new { Sucesso = false }));
            }
        }
        public JsonResult Cadastrar(NivelModel vm)
        {
            try
            {
                Nivel nivelRetorno;

                using (var db = new NiveisContext())
                {
                    if (db.Niveis.Any())
                    {
                        var id = db.Niveis.OrderByDescending(x => x.Id).First().Id;

                        var item = new Nivel(vm)
                        {
                            Id = id + 1
                        };

                        db.Niveis.Add(item);

                        db.SaveChanges();

                        nivelRetorno = item;
                    }
                    else
                    {
                        var item = new Nivel(vm);

                        db.Niveis.Add(item);

                        db.SaveChanges();

                        nivelRetorno = item;
                    }
                }

                return(Json(new { Sucesso = true, Mensagem = "Sucesso", Dados = JsonConvert.SerializeObject(nivelRetorno) }));
            }
            catch (Exception ex)
            {
                return(Json(new { Sucesso = false, Mensagem = "Erro" }));
            }
        }
        public IHttpActionResult Criar([FromBody] NivelModel obj)
        {
            if (obj == null || String.IsNullOrWhiteSpace(obj.EdificioId) || String.IsNullOrWhiteSpace(obj.Id) || String.IsNullOrWhiteSpace(obj.Nome) || String.IsNullOrWhiteSpace(obj.Descricao))
            {
                return(ResponseMessage(Request.CreateResponse <string>(HttpStatusCode.NotAcceptable, "Necessário informar campos: Id, EdificioId, Nome e Descricao.")));
            }

            try
            {
                Nivel nivel = new Nivel(obj.Nome, obj.Descricao);
                nivel.SetEdifioId(obj.EdificioId);

                _nivelRepository.AddAsync(nivel);
                return(ResponseMessage(Request.CreateResponse(HttpStatusCode.Created)));
            }
            catch (Exception erro)
            {
                return(ResponseMessage(Request.CreateResponse(HttpStatusCode.InternalServerError, "Ocorreu um erro ao tentar processar a requisição.")));
            }
        }
        public void getListaNivel()
        {
            listaNivel.Clear();
            string email    = Session["Email"].ToString();
            string consulta = "select * from view_NivelEstante where email like '%" + email + "%' ;";

            System.Diagnostics.Debug.WriteLine(consulta);
            DataTable dt = conexion.ShowDataByQuery(consulta);

            foreach (DataRow row in dt.Rows)
            {
                NivelModel niv = new NivelModel();
                niv.idNivel   = Convert.ToInt32(row["idNivel"].ToString());
                niv.codigo    = Convert.ToInt32(row["codigo"].ToString());
                niv.idEstante = row["codigoEstante"].ToString();
                niv.ancho     = Convert.ToInt32(row["ancho"].ToString());
                niv.largo     = Convert.ToInt32(row["largo"].ToString());
                listaNivel.Add(niv);
            }
        }
 public ActionResult NewNivel(NivelModel model)
 {
     if (ModelState.IsValid)
     {
         int idEstante = getIdEstante(model.idEstante);
         if (idEstante != 0)
         {
             string consulta = "EXEC sp_AgregarNivel " + idEstante + ",'" + model.codigo + "';";
             System.Diagnostics.Debug.WriteLine(consulta);
             if (conexion.ExcuteQuery(consulta))
             {
                 return(RedirectToAction("Index", "Bodega"));
             }
         }
         else
         {
             ModelState.AddModelError("Error", "No existe el codigo del Estaten");
         }
     }
     return(View());
 }