Example #1
0
        public bool InsertarPedido(PedidosArea Pedido)
        {
            bool res = false;

            try
            {
                conn.PedidosArea.Add(Pedido);
                conn.SaveChanges();
                res = true;
            }
            catch (Exception ex)
            {
                string mensajeErr = ex.Message;
            }
            return(res);
        }
Example #2
0
        public bool EliminarPedido(int id)
        {
            bool res = false;

            try
            {
                PedidosArea pedidoObj = conn.PedidosArea.Where(c => c.id == id).FirstOrDefault <PedidosArea>();
                conn.PedidosArea.Remove(pedidoObj);
                conn.SaveChanges();
                res = true;
            }
            catch (Exception ex)
            {
                string mensajeError = ex.Message;
            }

            return(res);
        }
Example #3
0
        public bool ActualizarPedido(PedidosArea Pedido)
        {
            bool res = false;

            try
            {
                PedidosArea pedidoObj = conn.PedidosArea.Where(c => c.id == Pedido.id).FirstOrDefault <PedidosArea>();

                pedidoObj.AreaIns = Pedido.AreaIns;

                pedidoObj.IdModEqDos  = Pedido.IdModEqDos;
                pedidoObj.IdDosEstLim = Pedido.IdDosEstLim;
                pedidoObj.IdModJab    = Pedido.IdModJab;
                pedidoObj.IdTipMaqLav = Pedido.IdTipMaqLav;
                pedidoObj.IdPorGalon  = Pedido.IdPorGalon;

                pedidoObj.ProdQuim = Pedido.ProdQuim;
                pedidoObj.DosLav   = Pedido.DosLav;

                pedidoObj.CanModEqDos  = Pedido.CanModEqDos;
                pedidoObj.CanDosEstLim = Pedido.CanDosEstLim;
                pedidoObj.CanModJab    = Pedido.CanModJab;
                pedidoObj.CanCepInBas  = Pedido.CanCepInBas;
                pedidoObj.CanTipMaqLav = Pedido.CanTipMaqLav;


                conn.PedidosArea.Attach(pedidoObj);
                conn.Entry(pedidoObj).State = System.Data.Entity.EntityState.Modified;
                conn.SaveChanges();
                res = true;
            }
            catch (Exception ex)
            {
                string mensajeErr = ex.Message;
            }

            return(res);
        }
        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);
        }
        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);
        }
        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);
        }
        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);
        }
        protected void btnCrear_Modal_Click(object sender, EventArgs e)
        {
            PedidosArea pedidoArea = new PedidosArea();

            //Area
            pedidoArea.AreaIns = !string.IsNullOrEmpty(TextAreaInstalacion.Text) ? TextAreaInstalacion.Text : null;


            //Modelo Equipo Dosificador
            pedidoArea.IdModEqDos  = (DDL_ModEqDos.SelectedIndex >= 1) ? int.Parse(DDL_ModEqDos.SelectedValue) : (int?)null;
            pedidoArea.CanModEqDos = pedidoArea.IdModEqDos != null?int.Parse(DDL_CanModEqDos.SelectedValue) : 0;

            //Dosificador de limpieza
            pedidoArea.IdDosEstLim  = DDL_DosEstLim.SelectedIndex >= 1 ? int.Parse(DDL_DosEstLim.SelectedValue) : (int?)null;
            pedidoArea.CanDosEstLim = pedidoArea.IdDosEstLim != null?int.Parse(CanDosEstLim.SelectedValue) : 0;

            //Productos quimicos
            if (LBProdQuim.Items.Count > 0)
            {
                for (int i = 0; i < LBProdQuim.Items.Count; i++)
                {
                    pedidoArea.ProdQuim += LBProdQuim.Items[i].ToString();
                }
            }
            else
            {
                pedidoArea.ProdQuim = null;
            }

            //Modelo Jabonero
            pedidoArea.IdModJab  = DDL_ModJab.SelectedIndex >= 1 ? int.Parse(DDL_ModJab.SelectedValue) : (int?)null;
            pedidoArea.CanModJab = !string.IsNullOrEmpty(TextCanModJab.Text) ? int.Parse(TextCanModJab.Text) : 0;

            //Cepillo Inserto Base
            pedidoArea.CanCepInBas = !string.IsNullOrEmpty(TextCanConsumibles.Text) ? int.Parse(TextCanConsumibles.Text) : 0;

            //Tipo MaqTav
            pedidoArea.IdTipMaqLav  = DDL_TipMaqLav.SelectedIndex >= 1 ? int.Parse(DDL_TipMaqLav.SelectedValue) : (int?)null;
            pedidoArea.CanTipMaqLav = !string.IsNullOrEmpty(TextCanTipMaqLav.Text) ? int.Parse(TextCanTipMaqLav.Text) : 0;

            //DosificadorLav
            if (LBDosLav.Items.Count > 0)
            {
                for (int i = 0; i < LBDosLav.Items.Count; i++)
                {
                    pedidoArea.DosLav += LBDosLav.Items[i].ToString();
                }
            }
            else
            {
                pedidoArea.DosLav = null;
            }

            //Porta Galon
            pedidoArea.IdPorGalon  = DDL_PorGalon.SelectedIndex >= 1 ? int.Parse(DDL_PorGalon.SelectedValue) : (int?)null;
            pedidoArea.CanPorGalon = !string.IsNullOrEmpty(TextCanPorGalon.Text) ? int.Parse(TextCanPorGalon.Text) : 0;

            //id
            pedidoArea.IdLevantamientoEquipo = Int32.Parse(Request.QueryString["id"]);

            if (btnCrear_Modal.Text != "Actualizar")
            {
                lblResultados.Text = CDS.ComenzarPedido(pedidoArea);
            }
            else
            {
                pedidoArea.id      = (Int32)Session["idPerma"];
                lblResultados.Text = CDS.ActualizarPedido(pedidoArea);
            }
            this.eleccionCargaDeDatos();
        }
        protected void dgvDatos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index    = Convert.ToInt32(e.CommandArgument.ToString());
            int idPedido = Int32.Parse(dgvDatos.Rows[index].Cells[0].Text);

            switch (e.CommandName)
            {
                #region Boton Editar
            case "Editar":
                RepositoryPedidosArea RPA           = new RepositoryPedidosArea();
                PedidosArea           pedido        = new PedidosArea();
                List <string>         listaGenerica = new List <string>();

                pedido             = RPA.GetPedidoByID(idPedido).First();
                Session["idPerma"] = idPedido;

                TextAreaInstalacion.Text = pedido.AreaIns;

                DDL_CanModEqDos.SelectedValue = pedido.IdModEqDos != null?pedido.CanModEqDos.ToString() : "0";

                DDL_ModEqDos.SelectedValue = pedido.IdModEqDos != null?pedido.IdModEqDos.ToString() : null;

                CanDosEstLim.SelectedValue = pedido.IdDosEstLim != null?pedido.CanDosEstLim.ToString() : "0";

                DDL_DosEstLim.SelectedValue = pedido.IdDosEstLim != null?pedido.IdDosEstLim.ToString() : null;

                DDL_ModJab.SelectedValue = pedido.IdModJab != null?pedido.IdModJab.ToString() : null;

                TextCanModJab.Text = !string.IsNullOrEmpty(pedido.CanModJab.ToString())?pedido.CanModJab.ToString():"0";

                TextCanConsumibles.Text = !string.IsNullOrEmpty(pedido.CanCepInBas.ToString())?pedido.CanCepInBas.ToString():"0";

                TextCanTipMaqLav.Text       = !string.IsNullOrEmpty(pedido.CanTipMaqLav.ToString())?pedido.CanTipMaqLav.ToString():"0";
                DDL_TipMaqLav.SelectedValue = pedido.IdTipMaqLav != null?pedido.IdTipMaqLav.ToString() : null;

                TextCanPorGalon.Text       = !string.IsNullOrEmpty(pedido.CanPorGalon.ToString())?pedido.CanPorGalon.ToString():"0";
                DDL_PorGalon.SelectedValue = pedido.IdPorGalon != null?pedido.IdPorGalon.ToString() : null;

                LBProdQuim.Items.Clear();
                if (pedido.ProdQuim != null)
                {
                    listaGenerica = this.getProductos(pedido.ProdQuim);

                    for (int i = 0; i < listaGenerica.Count; i++)
                    {
                        LBProdQuim.Items.Add(listaGenerica[i] + ".");
                        this.UpdateProdQuimAgregar.Update();
                    }
                }


                LBDosLav.Items.Clear();
                if (pedido.DosLav != null)
                {
                    listaGenerica = this.getProductos(pedido.DosLav);
                    for (int i = 0; i < listaGenerica.Count; i++)
                    {
                        LBDosLav.Items.Add(listaGenerica[i] + ".");
                        this.UpdateDosLavCargar.Update();
                    }
                }


                btnCrear_Modal.Text = "Actualizar";
                ScriptManager.RegisterStartupScript(this, GetType(), "Popup", "MyModalCreate();", true);
                break;
                #endregion

            case "Eliminar":
                RPA = new RepositoryPedidosArea();
                CDS.EliminarPedido(RPA.GetPedidoByID(idPedido).First());
                this.eleccionCargaDeDatos();
                break;
            }
        }