Ejemplo n.º 1
0
        public JsonResult CadastrarEstante(string JsonEstante)
        {
            var definition = new
            {
                QtdPrateleiras   = new int(),
                LarguraPrat      = "",
                AlturaPrat       = "",
                ProfundidadePrat = "",
                PesoMaximoPrat   = "",
            };

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

            var estante = new Estante()
            {
                QuantidadePrateleiras   = jsonEstante.QtdPrateleiras,
                LarguraPrateleiras      = Convert.ToDouble(jsonEstante.LarguraPrat.Replace(',', '.'), CultureInfo.GetCultureInfo("en-US")),
                AlturaPrateleiras       = Convert.ToDouble(jsonEstante.AlturaPrat.Replace(',', '.'), CultureInfo.GetCultureInfo("en-US")),
                ProfundidadePrateleiras = Convert.ToDouble(jsonEstante.ProfundidadePrat.Replace(',', '.'), CultureInfo.GetCultureInfo("en-US")),
                PesoMaximoPrateleiras   = Convert.ToDouble(jsonEstante.PesoMaximoPrat.Replace(',', '.'), CultureInfo.GetCultureInfo("en-US")),
                PoligonoId = null,
                UsuarioId  = null,
                ArmazemId  = 1, //FIX TODO
                Ativo      = true
            };

            //Cria poligono da estante
            var camada = new CamadaCore().RetornarPorCamadaNomeArmazemId("Estantes", estante.ArmazemId ?? 1);

            var geojson = GerarGeoJsonEstanteNovo(camada.Id, camada.Nome, -1, estante.LarguraPrateleiras ?? 0, estante.ProfundidadePrateleiras ?? 0);

            var planta2DController = DependencyResolver.Current.GetService <Planta2DController>();

            planta2DController.ControllerContext = new ControllerContext(this.Request.RequestContext, planta2DController);

            var poligonoId = planta2DController.SalvarPoligono(-1, camada.Id, geojson, false);

            estante.PoligonoId = poligonoId;

            new EstanteCore().Inserir(estante);

            var prateleiraCore = new PrateleiraCore();

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

                prateleiraCore.Inserir(prateleira);
            }

            return(Json("", JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
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);
        }