public int?ChangeStatusPhases(List <OfferPhases> ofertas) { int?rta = null; OfferUserRepository <OfferUser> OfferUrepo = new OfferUserRepository <OfferUser>(); //if (status == StatusPhase.Aplicada) //if (!OfferUrepo.HaveOfferUsers(offerPhases.FirstOrDefault().IdOffer) && status==StatusPhase.Aplicada ) //{ OfferPhasesRepository <OfferPhases> OfferPrepo = new OfferPhasesRepository <OfferPhases>(); int i = 0; bool finaliza = false; foreach (var offerphase in ofertas) { int countnofini = ofertas.Count(e => e.StatusPhase != StatusPhase.Finalizada); if (finaliza && countnofini > 0) { offerphase.StatusPhase = StatusPhase.EnCurso; } rta = OfferPrepo.Update(offerphase); if (rta == null) { break; } if (offerphase.StatusPhase == StatusPhase.Finalizada) { i += 1; finaliza = true; } } if (i == ofertas.Count & finaliza) { SProject spro = new SProject(); var lista = spro.GetList(new { IdOffer = ofertas.FirstOrDefault().IdOffer }); if (lista.Count > 0) { var project = lista.FirstOrDefault(); project.Status = StatusProject.Finalizada; spro.Update(project); Business.Log4NetLogger logger2 = new Business.Log4NetLogger(); logger2.Info("Proyecto finalizado:" + project.IdOffer + "," + "Categoria:" + project.Category); } //var project= spro.GetList(new {IdOffer= ofertas.FirstOrDefault().IdOffer }).FirstOrDefault(); } //} return(rta); }
public int?ChangeStatusPhases(ICollection <OfferPhases> offerPhases, Persistence.Entities.StatusPhase status, Persistence.Entities.Offer offer) { int?rta = null; OfferUserRepository <OfferUser> OfferUrepo = new OfferUserRepository <OfferUser>(); OfferRepository <Offer> Offerrepo = new OfferRepository <Offer>(); //if (status == StatusPhase.Aplicada) //if (!OfferUrepo.HaveOfferUsers(offerPhases.FirstOrDefault().IdOffer) && status==StatusPhase.Aplicada ) //{ OfferPhasesRepository <OfferPhases> OfferPrepo = new OfferPhasesRepository <OfferPhases>(); offer.Status = Offer.StatusOffer.Eliminada; Offerrepo.Update(offer); foreach (var offerphase in offerPhases) { offerphase.StatusPhase = status; rta = OfferPrepo.Update(offerphase); if (status == StatusPhase.Finalizada) { Business.Log4NetLogger logger2 = new Business.Log4NetLogger(); logger2.Info("Proyecto finalizado:" + offerphase.IdOffer); } else if (status == StatusPhase.Eliminada) { Business.Log4NetLogger logger2 = new Business.Log4NetLogger(); logger2.Info("Proyecto eliminado:" + offerphase.IdOffer); } if (rta == null) { break; } } //} return(rta); }