Beispiel #1
0
        public Offer GetOfferByPhase(int id)
        {
            OfferPhasesRepository <OfferPhases> OfferPrepo = new OfferPhasesRepository <OfferPhases>();
            var offerphase = OfferPrepo.Get(id);

            return(this.Get(offerphase.IdOffer));
        }
Beispiel #2
0
        public Offer Get(int id)
        {
            OfferRepository <Offer>             Offerrepo  = new OfferRepository <Offer>();
            OfferPhasesRepository <OfferPhases> OfferPrepo = new OfferPhasesRepository <OfferPhases>();
            var offer = Offerrepo.Get(id);

            offer.OfferPhases = new List <OfferPhases>();
            offer.OfferPhases = OfferPrepo.GetPhasesByIdOffer(id).ToList();
            return(offer);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        public List <OfferPhases> GetOfferPhases(int idoffer)
        {
            OfferPhasesRepository <OfferPhases> Offerrepo = new OfferPhasesRepository <OfferPhases>();

            return(Offerrepo.GetPhasesByIdOffer(idoffer).ToList());
        }
Beispiel #6
0
        public int?InsertUserOffer(int idoffer, string iduser, bool sendemail)
        {
            OfferUserRepository <OfferUser>     OfferUrepo = new OfferUserRepository <OfferUser>();
            OfferPhasesRepository <OfferPhases> OfferPrepo = new OfferPhasesRepository <OfferPhases>();
            ProjectRepository <Project>         Offerrepo  = new ProjectRepository <Project>();

            if (OfferUrepo.GetOfferUser(idoffer, iduser) == null)
            {
                OfferUrepo.InsertUserOffer(idoffer, iduser);
            }
            else
            {
                return(-1);
            }


            List <OfferPhases> lista = OfferPrepo.GetPhasesByIdOffer(idoffer).ToList();
            var   offer       = GetById(idoffer);
            SUser suser       = new SUser();
            var   contratante = suser.GetUserById(new Guid(offer.IdUser));
            var   aplicante   = suser.GetUserById(new Guid(iduser));

            //if (Offerrepo.GetByOffer(idoffer) == null)
            //{
            //    Project project = new Project();
            //    project.IdOffer = idoffer;
            //    project.IdCategory = offer.CategoryId;
            //    project.Postulantes = offer.OfferUsers.Count + 1;
            //    project.Qualification = 0;
            //    project.Status = Persistence.Entities.StatusPhase.Publicada;
            //    Offerrepo.Insert(project);
            //}



            if (sendemail && ChangeStatusPhases(lista, StatusPhase.EnCurso, offer) != -1)
            {
                string Url  = "http://zonafl.com/Static/index.html#iniciar";
                string body = "El Usuario," + aplicante.UserName;
                body += " ha aplicado al proyecto " + offer.TitleOffer;
                body += " favor ingresar <a href = '" + Url + "'>aqui para ingresar al sitio.</a>";
                body += "<br /><br />Gracias";


                var smail = SMail.Instance;


                smail.Send("*****@*****.**", contratante.Email, "Usuario Aplicó proyecto", body);
            }
            else
            {
                return(-1);
            }
            return(1);

            Log4NetLogger logger2 = new Log4NetLogger();


            var user = suser.GetUserById(new Guid(iduser));

            logger2.Info("Postulación Oferta:" + idoffer + "," + "UsuarioOrigen:" + user.UserName);
            //Offerrepo.Insert()
        }