Exemplo n.º 1
0
        private bool ModificadorStockUpdate(PedidosArea PedidoNuevo, PedidosArea PedidoAntiguo)
        {
            #region Variables Constantes
            int id = PedidoNuevo.id;
            RepositoryPedidosArea RPA = new RepositoryPedidosArea();
            bool res = false;
            #endregion

            #region condicionales constantes

            if (PedidoNuevo.IdDosEstLim != null)
            {
                if (PedidoAntiguo.CanDosEstLim < PedidoNuevo.CanDosEstLim)
                {
                    RepositoryDosEstLimp RDEL = new RepositoryDosEstLimp();
                    id = PedidoNuevo.IdDosEstLim.Value;
                    AdmDosEstLim entidad = RDEL.GetEstacionesByID(id).First();

                    entidad.EqDisponibles = entidad.EqDisponibles - (PedidoNuevo.CanDosEstLim - PedidoAntiguo.CanDosEstLim);
                    if (RDEL.ActualizarEstacion(entidad))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
                else
                {
                    RepositoryDosEstLimp RDEL = new RepositoryDosEstLimp();
                    id = PedidoNuevo.IdDosEstLim.Value;
                    AdmDosEstLim entidad = RDEL.GetEstacionesByID(id).First();

                    entidad.EqDisponibles = entidad.EqDisponibles + (PedidoAntiguo.CanDosEstLim - PedidoNuevo.CanDosEstLim);
                    if (RDEL.ActualizarEstacion(entidad))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
            }

            if (PedidoNuevo.IdModJab != null)
            {
                if (PedidoAntiguo.CanModJab < PedidoNuevo.CanModJab)
                {
                    RepositoryModJab RMJ = new RepositoryModJab();
                    id = PedidoNuevo.IdModJab.Value;
                    AdmModJab entidad = RMJ.GetJaboneraByID(id).First();

                    entidad.Stock = entidad.Stock - (PedidoNuevo.CanModJab - PedidoAntiguo.CanModJab);
                    if (RMJ.ActualizarJabonera(entidad))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
                else
                {
                    RepositoryModJab RMJ = new RepositoryModJab();
                    id = PedidoNuevo.IdModJab.Value;
                    AdmModJab entidad = RMJ.GetJaboneraByID(id).First();

                    entidad.Stock = entidad.Stock + (PedidoAntiguo.CanModJab - PedidoNuevo.CanModJab);
                    if (RMJ.ActualizarJabonera(entidad))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
            }

            if (PedidoNuevo.IdTipMaqLav != null)
            {
                if (PedidoAntiguo.CanTipMaqLav < PedidoNuevo.CanTipMaqLav)
                {
                    RepositoryTipMaqLav RTML = new RepositoryTipMaqLav();
                    id = PedidoNuevo.IdTipMaqLav.Value;
                    AdmTipMaqLav entidad = RTML.GetLavavajillasByID(id).First();

                    entidad.Stock = entidad.Stock - (PedidoNuevo.CanTipMaqLav - PedidoAntiguo.CanTipMaqLav);
                    if (RTML.ActualizarLavavajillas(entidad))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
                else
                {
                    RepositoryTipMaqLav RTML = new RepositoryTipMaqLav();
                    id = PedidoNuevo.IdTipMaqLav.Value;
                    AdmTipMaqLav entidad = RTML.GetLavavajillasByID(id).First();

                    entidad.Stock = entidad.Stock + (PedidoAntiguo.CanTipMaqLav - PedidoNuevo.CanTipMaqLav);
                    if (RTML.ActualizarLavavajillas(entidad))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
            }

            if (PedidoNuevo.IdModEqDos != 0 && PedidoNuevo.IdModEqDos != null)
            {
                if (PedidoAntiguo.CanModEqDos < PedidoNuevo.CanModEqDos)
                {
                    RepositoryModEqDos RMED = new RepositoryModEqDos();
                    id = PedidoNuevo.IdModEqDos.Value;
                    AdmModEqDos entidad = RMED.GetEquipoDosificadorByID(id).First();

                    entidad.EqDisponibles = entidad.EqDisponibles - (PedidoNuevo.CanModEqDos - PedidoAntiguo.CanModEqDos);
                    if (RMED.ActualizarEquipoDosificador(entidad))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
                else
                {
                    RepositoryModEqDos RMED = new RepositoryModEqDos();
                    id = PedidoNuevo.IdModEqDos.Value;
                    AdmModEqDos entidad = RMED.GetEquipoDosificadorByID(id).First();

                    entidad.EqDisponibles = entidad.EqDisponibles + (PedidoAntiguo.CanModEqDos - PedidoNuevo.CanModEqDos);
                    if (RMED.ActualizarEquipoDosificador(entidad))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
            }

            if (PedidoNuevo.IdPorGalon != null)
            {
                if (PedidoAntiguo.CanPorGalon < PedidoNuevo.CanPorGalon)
                {
                    RepositoryPortGalon RPG = new RepositoryPortGalon();
                    id = PedidoNuevo.IdPorGalon.Value;
                    AdmPortGalon entidad = RPG.GetGaloneraByID(id).First();

                    entidad.Stock = entidad.Stock - (PedidoNuevo.CanPorGalon - PedidoAntiguo.CanPorGalon);
                    if (RPG.ActualizarGalonera(entidad))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
                else
                {
                    RepositoryPortGalon RPG = new RepositoryPortGalon();
                    id = PedidoNuevo.IdPorGalon.Value;
                    AdmPortGalon entidad = RPG.GetGaloneraByID(id).First();

                    entidad.Stock = entidad.Stock + (PedidoAntiguo.CanPorGalon - PedidoNuevo.CanPorGalon);
                    if (RPG.ActualizarGalonera(entidad))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
            }
            #endregion

            #region Consumibles
            if (PedidoNuevo.CanCepInBas != null)
            {
                RepositoryCepInsBas RCIB             = new RepositoryCepInsBas();
                List <AdmCepInBas>  ListaConsumibles = RCIB.GetAllConsumibles();

                if (PedidoAntiguo.CanCepInBas < PedidoNuevo.CanCepInBas)
                {
                    int Diferencia = PedidoNuevo.CanCepInBas.Value - PedidoAntiguo.CanCepInBas.Value;

                    for (int i = 0; i < ListaConsumibles.Count(); i++)
                    {
                        ListaConsumibles[i].Stock = ListaConsumibles[i].Stock - Diferencia;
                        if (RCIB.ActualizarConsumibles(ListaConsumibles[i]))
                        {
                            res = true;
                        }
                        else
                        {
                            return(res = false);
                        }
                    }
                }
                else
                {
                    int Diferencia = PedidoAntiguo.CanCepInBas.Value - PedidoNuevo.CanCepInBas.Value;

                    for (int i = 0; i < ListaConsumibles.Count(); i++)
                    {
                        ListaConsumibles[i].Stock = ListaConsumibles[i].Stock + Diferencia;
                        if (RCIB.ActualizarConsumibles(ListaConsumibles[i]))
                        {
                            res = true;
                        }
                        else
                        {
                            return(res = false);
                        }
                    }
                }
            }
            #endregion

            #region Quimicos
            if (PedidoNuevo.IdModEqDos != null)
            {
                RepositoryProdQuim quimico         = new RepositoryProdQuim();
                AdmProdQuim        ProductoQuimico = new AdmProdQuim();


                if (PedidoAntiguo.ProdQuim != null)
                {
                    List <String> listaQuimicosAntiguos = getProductos(PedidoAntiguo.ProdQuim);

                    for (int i = 0; i < getProductos(PedidoAntiguo.ProdQuim).Count; i++) // Regenera el stock que se quito en el pedido original
                    {
                        ProductoQuimico        = quimico.GetQuimicoByName(listaQuimicosAntiguos[i]).First();
                        ProductoQuimico.Stock += 1;
                        if (quimico.ActualizarQuimico(ProductoQuimico))
                        {
                            res = true;
                        }
                        else
                        {
                            return(res = false);
                        }
                    }
                }

                if (PedidoNuevo.ProdQuim != null)
                {
                    List <String> listaQuimicosNuevos = getProductos(PedidoNuevo.ProdQuim);
                    for (int i = 0; i < getProductos(PedidoNuevo.ProdQuim).Count; i++) // Quita el stock que se requiere en el pedido nuevo
                    {
                        ProductoQuimico        = quimico.GetQuimicoByName(listaQuimicosNuevos[i]).First();
                        ProductoQuimico.Stock -= 1;
                        if (quimico.ActualizarQuimico(ProductoQuimico))
                        {
                            res = true;
                        }
                        else
                        {
                            return(res = false);
                        }
                    }
                }
            }
            #endregion

            #region DosLav
            if (PedidoNuevo.IdModEqDos != null)
            {
                RepositoryDosLav RDL         = new RepositoryDosLav();
                AdmDosLav        dosificador = new AdmDosLav();

                if (PedidoAntiguo.DosLav != null)
                {
                    List <String> listaDosificadoresAntiguos = getProductos(PedidoAntiguo.DosLav);
                    for (int i = 0; i < getProductos(PedidoAntiguo.DosLav).Count; i++) // Regenera el stock que se quito en el pedido original
                    {
                        dosificador        = RDL.GetDosificadoresByName(listaDosificadoresAntiguos[i]).First();
                        dosificador.Stock += 1;
                        if (RDL.ActualizarDosificador(dosificador))
                        {
                            res = true;
                        }
                        else
                        {
                            return(res = false);
                        }
                    }
                }

                if (PedidoNuevo.DosLav != null)
                {
                    List <String> listaDosificadoresNuevos = getProductos(PedidoNuevo.DosLav);
                    for (int i = 0; i < getProductos(PedidoNuevo.DosLav).Count; i++) // Quita el stock que se requiere en el pedido nuevo
                    {
                        dosificador        = RDL.GetDosificadoresByName(listaDosificadoresNuevos[i]).First();
                        dosificador.Stock -= 1;
                        if (RDL.ActualizarDosificador(dosificador))
                        {
                            res = true;
                        }
                        else
                        {
                            return(res = false);
                        }
                    }
                }
            }
            #endregion

            return(res);
        }
Exemplo n.º 2
0
        private bool ModificadorStockCreate(PedidosArea Pedido)
        {
            bool res = true;
            int  id  = 0;

            RepositoryDosEstLimp RDEL = new RepositoryDosEstLimp();
            RepositoryModJab     RMJ  = new RepositoryModJab();
            RepositoryCepInsBas  RCIB = new RepositoryCepInsBas(); //MultiEntidad
            RepositoryTipMaqLav  RTML = new RepositoryTipMaqLav();
            RepositoryProdQuim   RPQ  = new RepositoryProdQuim();  //String
            RepositoryDosLav     RDL  = new RepositoryDosLav();    //String
            RepositoryModEqDos   RMED = new RepositoryModEqDos();
            RepositoryPortGalon  RPG  = new RepositoryPortGalon();

            #region Modificaciones constantes
            if (Pedido.IdDosEstLim != null)
            {
                id = Pedido.IdDosEstLim.Value;
                AdmDosEstLim ADEL = RDEL.GetEstacionesByID(id).First();
                ADEL.EqDisponibles = ADEL.EqDisponibles - Pedido.CanDosEstLim;
                if (RDEL.ActualizarEstacion(ADEL))
                {
                    res = true;
                }
                else
                {
                    return(res = false);
                }
            }

            if (Pedido.IdModJab != null)
            {
                id = Pedido.IdModJab.Value;
                AdmModJab AMJ = RMJ.GetJaboneraByID(id).First();
                AMJ.Stock = AMJ.Stock - Pedido.CanModJab;
                if (RMJ.ActualizarJabonera(AMJ))
                {
                    res = true;
                }
                else
                {
                    return(res = false);
                }
            }

            if (Pedido.IdTipMaqLav != null)
            {
                id = Pedido.IdTipMaqLav.Value;
                AdmTipMaqLav ATML = RTML.GetLavavajillasByID(id).First();
                ATML.Stock = ATML.Stock - Pedido.CanTipMaqLav;
                if (RTML.ActualizarLavavajillas(ATML))
                {
                    res = true;
                }
                else
                {
                    return(res = false);
                }
            }

            if (Pedido.IdModEqDos != null)
            {
                id = Pedido.IdModEqDos.Value;
                AdmModEqDos AMED = RMED.GetEquipoDosificadorByID(id).First();
                AMED.EqDisponibles = AMED.EqDisponibles - Pedido.CanModEqDos;
                if (RMED.ActualizarEquipoDosificador(AMED))
                {
                    res = true;
                }
                else
                {
                    return(res = false);
                }
            }

            if (Pedido.IdPorGalon != null)
            {
                id = Pedido.IdPorGalon.Value;
                AdmPortGalon APG = RPG.GetGaloneraByID(id).First();
                APG.Stock = APG.Stock - Pedido.CanPorGalon;
                if (RPG.ActualizarGalonera(APG))
                {
                    res = true;
                }
                else
                {
                    return(res = false);
                }
            }
            #endregion

            #region consumibles
            if (Pedido.CanCepInBas != null)
            {
                List <AdmCepInBas> ACIB = RCIB.GetAllConsumibles();
                for (int i = 0; i < ACIB.Count(); i++)
                {
                    ACIB[i].Stock = ACIB[i].Stock - Pedido.CanCepInBas;
                    if (RCIB.ActualizarConsumibles(ACIB[i]))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
            }
            #endregion

            #region Quimicos
            if (Pedido.ProdQuim != null)
            {
                RepositoryProdQuim quimico         = new RepositoryProdQuim();
                AdmProdQuim        ProductoQuimico = new AdmProdQuim();
                List <String>      listaQuimicos   = getProductos(Pedido.ProdQuim);

                for (int i = 0; i < getProductos(Pedido.ProdQuim).Count; i++) // Quita el stock que se requiere en el pedido nuevo
                {
                    ProductoQuimico        = quimico.GetQuimicoByName(listaQuimicos[i]).First();
                    ProductoQuimico.Stock -= 1;
                    if (quimico.ActualizarQuimico(ProductoQuimico))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
            }
            #endregion

            #region DosLav
            if (Pedido.DosLav != null)
            {
                AdmDosLav     Dosificador        = new AdmDosLav();
                List <String> listaDosificadores = getProductos(Pedido.DosLav);

                for (int i = 0; i < listaDosificadores.Count; i++) // Quita el stock que se requiere en el pedido nuevo
                {
                    Dosificador        = RDL.GetDosificadoresByName(listaDosificadores[i]).First();
                    Dosificador.Stock -= 1;
                    if (RDL.ActualizarDosificador(Dosificador))
                    {
                        res = true;
                    }
                    else
                    {
                        return(res = false);
                    }
                }
            }
            #endregion

            return(res);
        }