Ejemplo n.º 1
0
        public string ActualizarPedido(PedidosArea PedidoNuevo)
        {
            String res = "";
            ComprobacionDePedidos com           = this.ValidacionUpdate(PedidoNuevo);
            RepositoryPedidosArea RPA           = new RepositoryPedidosArea();
            PedidosArea           PedidoAntiguo = new PedidosArea();

            PedidoAntiguo = RPA.GetPedidoByID(PedidoNuevo.id).First();

            if (com._CepInBasStock && com._DosEstLimStock && com._DosLavStock && com._ModEqDos &&
                com._ModJabStock && com._PorGalon && com._QuimicosStock && com._TipMaqLavStock)
            {
                if (this.ModificadorStockUpdate(PedidoNuevo, PedidoAntiguo))
                {
                    if (RPA.ActualizarPedido(PedidoNuevo))
                    {
                        res = "Pedido creado exitosamente";
                    }
                    else
                    {
                        res = "Error al actualizar el pedido";
                    }
                }
                else
                {
                    res = "Error al actualizar el stock";
                }
            }
            else
            {
                res = "No se puede actualizar el pedido, por favor, verifique el stock de los siguientes productos \n" + Environment.NewLine;

                if (!com._CepInBasStock)
                {
                    res = String.Concat(res, "Cepillos Insertos y Bases" + Environment.NewLine);
                }
                if (!com._DosEstLimStock)
                {
                    res = String.Concat(res, "Dosificador Estacion de Limpieza" + Environment.NewLine);
                }
                if (!com._DosLavStock)
                {
                    res = String.Concat(res, "Dosificador Lavavajillas" + Environment.NewLine);
                }
                if (!com._ModEqDos)
                {
                    res = String.Concat(res, "Modelo Equipo Dosificador" + Environment.NewLine);
                }
                if (!com._ModJabStock)
                {
                    res = String.Concat(res, "Modelo Jaboneras" + Environment.NewLine);
                }
                if (!com._PorGalon)
                {
                    res = String.Concat(res, "Porta Galon" + Environment.NewLine);
                }
                if (!com._QuimicosStock)
                {
                    res = String.Concat(res, "Quimicos" + Environment.NewLine);
                }
                if (!com._TipMaqLavStock)
                {
                    res = String.Concat(res, "Maquina Lavavajillas" + Environment.NewLine);
                }
            }

            return(res);
        }
Ejemplo n.º 2
0
        private ComprobacionDePedidos ValidacionUpdate(PedidosArea PedidoNew)
        {
            int count = 0;
            ComprobacionDePedidos CDP = new ComprobacionDePedidos();

            RepositoryPedidosArea RPA       = new RepositoryPedidosArea();
            PedidosArea           pedidoOld = RPA.GetPedidoByID(PedidoNew.id).First();

            //DosEstLimStock
            RepositoryDosEstLimp RDEL = new RepositoryDosEstLimp();

            if (PedidoNew.IdDosEstLim == null || PedidoNew.IdDosEstLim.Value == 0 || PedidoNew.CanDosEstLim == null)
            {
                CDP._DosEstLimStock = true;
            }
            else
            {
                if (pedidoOld.CanDosEstLim < PedidoNew.CanDosEstLim)
                {
                    int?stockDosEstLimStock = RDEL.GetEstacionesByID(PedidoNew.IdDosEstLim.Value).First().EqDisponibles;

                    if (stockDosEstLimStock > (PedidoNew.CanDosEstLim - pedidoOld.CanDosEstLim))
                    {
                        CDP._DosEstLimStock = true;
                    }
                }
                else
                {
                    CDP._DosEstLimStock = true;
                }
            }


            //ModJabStock
            if (PedidoNew.IdModJab == null || PedidoNew.IdModJab.Value == 0 || PedidoNew.CanModJab == 0)
            {
                CDP._ModJabStock = true;
            }
            else
            {
                RepositoryModJab RMJ = new RepositoryModJab();

                if (pedidoOld.CanModJab < PedidoNew.CanModJab)
                {
                    int?stockModJabStock = RMJ.GetJaboneraByID(PedidoNew.IdModJab.Value).First().Stock;

                    if (stockModJabStock > (PedidoNew.CanModJab - pedidoOld.CanModJab))
                    {
                        CDP._ModJabStock = true;
                    }
                }
                else
                {
                    CDP._ModJabStock = true;
                }
            }


            //CepInBasStock
            if (PedidoNew.CanCepInBas == null)
            {
                CDP._CepInBasStock = true;
            }
            else
            {
                RepositoryCepInsBas RCIB = new RepositoryCepInsBas();

                if (pedidoOld.CanCepInBas < PedidoNew.CanCepInBas)
                {
                    List <AdmCepInBas> listAdm = RCIB.GetAllConsumibles();

                    foreach (var item in listAdm)
                    {
                        if (item.Stock > (PedidoNew.CanCepInBas - pedidoOld.CanCepInBas))
                        {
                            count += 1;
                        }
                    }

                    if (count == 3)
                    {
                        CDP._CepInBasStock = true;
                    }
                }
                else
                {
                    CDP._CepInBasStock = true;
                }
            }


            //TipMaqLavStock
            if (PedidoNew.IdTipMaqLav == null || PedidoNew.IdTipMaqLav.Value == 0 || PedidoNew.CanTipMaqLav == null)
            {
                CDP._TipMaqLavStock = true;
            }
            else
            {
                RepositoryTipMaqLav RTML = new RepositoryTipMaqLav();

                if (pedidoOld.CanTipMaqLav < PedidoNew.CanTipMaqLav)
                {
                    int?stockTipMaqLavStock = RTML.GetLavavajillasByID(PedidoNew.IdTipMaqLav.Value).First().Stock;

                    if (stockTipMaqLavStock > (PedidoNew.CanTipMaqLav - pedidoOld.CanTipMaqLav))
                    {
                        CDP._TipMaqLavStock = true;
                    }
                }
                else
                {
                    CDP._TipMaqLavStock = true;
                }
            }


            //QuimicosStock

            if (string.IsNullOrEmpty(PedidoNew.ProdQuim))
            {
                CDP._QuimicosStock = true;
            }
            else
            {
                RepositoryProdQuim RPQ = new RepositoryProdQuim();

                List <string> listQuimicos = getProductos(PedidoNew.ProdQuim);

                List <AdmProdQuim> listAdmProdQuim = new List <AdmProdQuim>();
                count = 0;

                for (int i = 0; i < listQuimicos.Count(); i++)
                {
                    listAdmProdQuim.Add(RPQ.GetQuimicoByName(listQuimicos[i]).First());

                    if (listAdmProdQuim[i].Stock >= 1)
                    {
                        count += 1;
                    }
                }
                if (count == listQuimicos.Count())
                {
                    CDP._QuimicosStock = true;
                }
            }


            //DosLavStock
            if (string.IsNullOrEmpty(PedidoNew.DosLav))
            {
                CDP._DosLavStock = true;
            }
            else
            {
                RepositoryDosLav RDL = new RepositoryDosLav();

                List <string> listDosLav = getProductos(PedidoNew.DosLav);

                List <AdmDosLav> listDosLav2 = new List <AdmDosLav>();
                count = 0;
                for (int i = 0; i < listDosLav.Count(); i++)
                {
                    listDosLav2.Add(RDL.GetDosificadoresByName(listDosLav[i])[0]);

                    if (listDosLav2[i].Stock >= 1)
                    {
                        count += 1;
                    }
                }
                if (count == listDosLav.Count())
                {
                    CDP._DosLavStock = true;
                }
            }


            //ModEqDos
            if (PedidoNew.IdModEqDos == null || PedidoNew.IdModEqDos.Value == 0 || PedidoNew.CanModEqDos == null)
            {
                CDP._ModEqDos = true;
            }
            else
            {
                RepositoryModEqDos RMED = new RepositoryModEqDos();

                if (pedidoOld.CanModEqDos < PedidoNew.CanModEqDos)
                {
                    int?stockModEqDos = RMED.GetEquipoDosificadorByID(PedidoNew.IdModEqDos.Value).First().EqDisponibles;

                    if (stockModEqDos > (PedidoNew.CanModEqDos - pedidoOld.CanModEqDos))
                    {
                        CDP._ModEqDos = true;
                    }
                }
                else
                {
                    CDP._ModEqDos = true;
                }
            }

            //PorGalon
            if (PedidoNew.IdPorGalon == null || PedidoNew.IdPorGalon.Value == 0 || PedidoNew.CanPorGalon == null)
            {
                CDP._PorGalon = true;
            }
            else
            {
                RepositoryPortGalon RPG = new RepositoryPortGalon();

                if (pedidoOld.CanPorGalon < PedidoNew.CanPorGalon)
                {
                    int?stockPorGalon = RPG.GetGaloneraByID(PedidoNew.IdPorGalon.Value).First().Stock;

                    if (stockPorGalon > (PedidoNew.CanPorGalon - pedidoOld.CanPorGalon))
                    {
                        CDP._PorGalon = true;
                    }
                }
                else
                {
                    CDP._PorGalon = true;
                }
            }


            return(CDP);
        }