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