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