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