Esempio n. 1
0
        public JsonResult AdicionarReferenciaEstante(int PoligonoId, int EstanteId)
        {
            var estante  = new EstanteCore().RetornarPorId(EstanteId);
            var poligono = new PoligonoCore().RetornarPorId(PoligonoId);

            dynamic response = null;

            if (estante.ArmazemId == poligono.Camada.ArmazemId)
            {
                estante.PoligonoId = PoligonoId;

                new EstanteCore().Alterar(estante);

                response = new
                {
                    Id                    = EstanteId,
                    PoligonoId            = PoligonoId,
                    QuantidadePrateleiras = estante.QuantidadePrateleiras
                };
            }

            var return_json = Json(response, JsonRequestBehavior.AllowGet);

            return_json.MaxJsonLength = int.MaxValue;
            return(return_json);
        }
Esempio n. 2
0
        public int SalvarPoligono(int PoligonoId, int CamadaId, string Geojson, bool Ativo = true)
        {
            if (PoligonoId == -1)
            {
                var poligono = new Poligono()
                {
                    CamadaId = CamadaId,
                    Geojson  = Geojson,
                    Ativo    = Ativo
                };

                new PoligonoCore().Inserir(poligono);

                poligono.Geojson = poligono.Geojson.Replace("\"PoligonoId\":\"-1\"", "\"PoligonoId\":\"" + poligono.Id + "\"");

                new PoligonoCore().Alterar(poligono);

                return(poligono.Id);
            }
            else
            {
                var poligono = new PoligonoCore().RetornarPorId(PoligonoId);

                poligono.Geojson = Geojson;

                new PoligonoCore().Alterar(poligono);

                return(poligono.Id);
            }
        }
Esempio n. 3
0
        public void AdicionarEstanteAoMapa(int EstanteId, double?Lat, double?Lng)
        {
            var estante  = new EstanteCore().RetornarPorId(EstanteId);
            var poligono = new PoligonoCore().RetornarPorId(estante.PoligonoId ?? 0);

            poligono.Ativo = true;

            if (Lat != null && Lng != null)
            {
                var _lat = Lat.ToString().Replace(",", ".");
                var _lng = Lng.ToString().Replace(",", ".");
                //var Largura = estante.LarguraPrateleiras.ToString().Replace(",", ".");
                //var Profundidade = estante.ProfundidadePrateleiras.ToString().Replace(",", ".");
                var _lgnLargura      = (Lng + estante.LarguraPrateleiras).ToString().Replace(",", ".");
                var _latProfundidade = (Lat + estante.ProfundidadePrateleiras).ToString().Replace(",", ".");

                var novasCoordenadas = $"[[[{_lng},{_lat}],[{_lgnLargura},{_lat}],[{_lgnLargura},{_latProfundidade}],[{_lng},{_latProfundidade}],[{_lng},{_lat}]]]";

                var geojson = JsonConvert.DeserializeObject <dynamic>(poligono.Geojson);
                geojson.geometry.coordinates = JsonConvert.DeserializeObject <dynamic>(novasCoordenadas);

                poligono.Geojson = JsonConvert.SerializeObject(geojson);
            }

            new PoligonoCore().Alterar(poligono);
        }
Esempio n. 4
0
        public void DeletarPoligono(int PoligonoId)
        {
            var poligono = new PoligonoCore().RetornarPorId(PoligonoId);

            poligono.Ativo = false;

            new PoligonoCore().Alterar(poligono);
        }
Esempio n. 5
0
        public JsonResult CarregarCamadas()
        {
            var camadas            = new CamadaCore().RetornarTodos();
            var poligonos          = new PoligonoCore().RetornarTodos();
            var estantesAssociadas = new EstanteCore().RetornarEstantesAssociadas();
            var prateleiras        = new List <Prateleira>();

            estantesAssociadas.Select(e => e.Prateleiras).ToList().ForEach(e => prateleiras.AddRange(e));

            var camadasGeojson = new List <CamadaGeojsonVM>();

            foreach (var camada in camadas)
            {
                var geojson = "[" + string.Join(",", poligonos.Where(pol => pol.CamadaId == camada.Id).Select(pol => pol.Geojson).ToArray()) + "]";

                var camadaGeojson = new CamadaGeojsonVM()
                {
                    CamadaId = camada.Id, CamadaNome = camada.Nome, CamadaGeojson = geojson, CamadaCor = camada.Cor
                };

                camadasGeojson.Add(camadaGeojson);
            }

            var response = new
            {
                camadasGeojson = camadasGeojson.Select(i => new
                {
                    i.CamadaId,
                    i.CamadaNome,
                    i.CamadaGeojson,
                    i.CamadaCor
                }),
                estantesAssociadas = estantesAssociadas.Select(est => new {
                    est.Id,
                    est.QuantidadePrateleiras,
                    est.PoligonoId
                }),
                prateleiras = prateleiras.Select(pra => new {
                    pra.Id,
                    pra.EstanteId,
                    pra.Nivel
                })
            };

            var return_json = Json(response, JsonRequestBehavior.AllowGet);

            return_json.MaxJsonLength = int.MaxValue;
            return(return_json);
        }
Esempio n. 6
0
        public JsonResult DeletarEstante(int EstanteId)
        {
            var core = new EstanteCore();

            var estante = core.RetornarPorId(EstanteId);

            //Deleta prateleiras e remove a referencia dos itens associados
            var prateleiraCore  = new PrateleiraCore();
            var itemEstoqueCore = new ItemEstoqueCore();

            var prateleirasRemover = prateleiraCore.RetornarPorEstanteId(estante.Id);

            prateleirasRemover.ForEach(pra =>
            {
                var itens = itemEstoqueCore.RetornarPorPrateleiraId(pra.Id);

                itens.ForEach(ite =>
                {
                    ite.PrateleiraId = null;
                    itemEstoqueCore.Alterar(ite);
                });

                prateleiraCore.Deletar(pra);
            });

            //Deleta a estante
            core.Deletar(estante);

            //Deleta poligono
            if (estante.PoligonoId != null)
            {
                var poligonoCore = new PoligonoCore();

                var poligono = poligonoCore.RetornarPorId(estante.PoligonoId ?? 0);

                poligonoCore.Deletar(poligono);
            }


            return(Json("", JsonRequestBehavior.AllowGet));
        }
Esempio n. 7
0
        public JsonResult EditarEstante(string JsonEstante)
        {
            var definition = new
            {
                Id               = new int(),
                QtdPrateleiras   = new int(),
                LarguraPrat      = "",
                AlturaPrat       = "",
                ProfundidadePrat = "",
                PesoMaximoPrat   = "",
            };

            var jsonEstante = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(JsonEstante, definition);

            var core = new EstanteCore();

            var estante = core.RetornarPorId(jsonEstante.Id);

            var larguraAnterior               = estante.LarguraPrateleiras;
            var profundidadeAnterior          = estante.ProfundidadePrateleiras;
            var quantidadePrateleirasAnterior = estante.QuantidadePrateleiras;

            estante.QuantidadePrateleiras   = jsonEstante.QtdPrateleiras;
            estante.LarguraPrateleiras      = Convert.ToDouble(jsonEstante.LarguraPrat.Replace(',', '.'), CultureInfo.GetCultureInfo("en-US"));
            estante.AlturaPrateleiras       = Convert.ToDouble(jsonEstante.AlturaPrat.Replace(',', '.'), CultureInfo.GetCultureInfo("en-US"));
            estante.ProfundidadePrateleiras = Convert.ToDouble(jsonEstante.ProfundidadePrat.Replace(',', '.'), CultureInfo.GetCultureInfo("en-US"));
            estante.PesoMaximoPrateleiras   = Convert.ToDouble(jsonEstante.PesoMaximoPrat.Replace(',', '.'), CultureInfo.GetCultureInfo("en-US"));
            estante.UsuarioId = null;
            estante.Ativo     = true;

            core.Alterar(estante);

            if (estante.PoligonoId != null)
            {
                var poligonoCore = new PoligonoCore();

                var poligono = poligonoCore.RetornarPorId(estante.PoligonoId ?? 0);

                poligono.Geojson = GerarGeoJsonEstanteAtualizado(poligono.Geojson, larguraAnterior ?? 0, estante.LarguraPrateleiras ?? 0, profundidadeAnterior ?? 0, estante.ProfundidadePrateleiras ?? 0);

                poligonoCore.Alterar(poligono);
            }

            if (quantidadePrateleirasAnterior != estante.QuantidadePrateleiras)
            {
                var prateleiraCore = new PrateleiraCore();

                if (estante.QuantidadePrateleiras > quantidadePrateleirasAnterior)
                {
                    for (var i = (quantidadePrateleirasAnterior ?? 0) + 1; i <= estante.QuantidadePrateleiras; i++)
                    {
                        var prateleira = new Prateleira
                        {
                            Nivel     = i,
                            EstanteId = estante.Id
                        };

                        prateleiraCore.Inserir(prateleira);
                    }
                }
                else
                {
                    var itemEstoqueCore = new ItemEstoqueCore();

                    var prateleirasRemover = prateleiraCore.RetornarPorEstanteId(estante.Id).Where(pra => pra.Nivel > estante.QuantidadePrateleiras).ToList();

                    prateleirasRemover.ForEach(pra =>
                    {
                        var itens = itemEstoqueCore.RetornarPorPrateleiraId(pra.Id);

                        itens.ForEach(ite =>
                        {
                            ite.PrateleiraId = null;
                            itemEstoqueCore.Alterar(ite);
                        });

                        prateleiraCore.Deletar(pra);
                    });
                }
            }

            return(Json("", JsonRequestBehavior.AllowGet));
        }