Esempio n. 1
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. 2
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));
        }