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