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)); }
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); }