Example #1
0
        public async Task <IHttpActionResult> UpdateImageUser(List <RegisterBindingModel> userl)
        {
            RegisterBindingModel user    = userl[0];
            AspNetUsers          aspuser = new AspNetUsers();

            try
            {
                ZonaFl.Business.SubSystems.SUser usern = new Business.SubSystems.SUser();


                var useru = UserManager.FindByEmail(user.Email);
                useru.City        = user.City;
                useru.Country     = user.Country;
                useru.DescUser    = user.DescUser;
                useru.PhoneNumber = user.PhoneNumber != null?user.PhoneNumber.ToString() : "";

                useru.FirstMiddleName = user.FirstMiddleName != null? user.FirstMiddleName:"";
                useru.Image           = user.Image != null ? user.Image : "";
                aspuser.InjectFrom(useru);
                IdentityResult result = await UserManager.UpdateAsync(useru);

                //aspuser =  usern.UpdateUser(aspuser);
                return(Json(new { success = true, issue = user, errors = "", tipo = user, UserEmail = useru.Email }));
                //return new KeyValuePair<bool, string>(true, "se ha guardado la información correctamente");
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, issue = user, errors = ex.Message, tipo = user, UserEmail = aspuser.Email }));
                //return new KeyValuePair<bool, string>(false, "Ha ocurrido un error al actualizar la imagen del usuario. Error Message: " + ex.Message);
            }
        }
Example #2
0
        public ActionResult Read(string id)
        {
            ZonaFl.Persistence.Entities.AspNetUsers useru  = null;
            ZonaFl.Business.SubSystems.SUser        usern  = new Business.SubSystems.SUser();
            ZonaFl.Business.SubSystems.SOffer       offern = new Business.SubSystems.SOffer();
            useru = usern.GetUserById(new Guid(id));
            RegisterBindingModel regbm = new RegisterBindingModel();

            regbm.InjectFrom(useru);

            regbm.Offers = offern.GetList(new { IdUser = id }).Select(e => new Models.Offer().InjectFrom(e)).Cast <Models.Offer>().ToList();
            regbm.Offers.ForEach(e => e.OfferPhases = offern.GetOfferPhases(e.Id).Select(t => new Models.OfferPhase().InjectFrom(t)).Cast <Models.OfferPhase>().ToList());
            regbm.Offers.ForEach(e => e.Status      = (Models.Offer.StatusOffer)offern.GetPhaseFinal(e.Id).StatusPhase);
            if (useru.Companies.Count > 0 && useru.Companies.FirstOrDefault() != null)
            {
                regbm.Company = useru.Companies.Select(e => new Models.Company().InjectFrom(e)).Cast <Models.Company>().ToList();
            }
            SessionBag.Current.User = regbm;
            //regbm.Skills = useru.Skills.Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast<ZonaFl.Models.Skill>().ToList();
            ViewBag.User      = useru.UserName;
            ViewBag.IdUser    = useru.Id;
            ViewBag.ImageUser = useru.Image;

            return(View("ReadForAdmin", regbm));
        }
Example #3
0
        public ActionResult InsertEducation(Education education)
        {
            ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
            useru = usern.GetCurriculumUserById(new Guid(education.UserId));
            List <Persistence.Entities.Education> educations = new List <Persistence.Entities.Education>();
            CultureInfo provider = CultureInfo.CurrentCulture;
            SCountry    sco      = new SCountry();

            if (education.Institution != null)
            {
                Persistence.Entities.Education education1 = new ZonaFl.Persistence.Entities.Education()
                {
                    Institution = education.Institution,
                    Country     = sco.FindCountrybyName(education.Country).Id,
                    Title       = education.Title,
                    DateIni     = DateTime.Parse(education.DateIniE, provider),
                    DateEnd     = DateTime.Parse(education.DateEndE, provider),
                    Actually    = education.Actually,
                    UserId      = education.UserId
                };
                educations.Add(education1);
            }
            if (education.Institution2 != null)
            {
                Persistence.Entities.Education education2 = new ZonaFl.Persistence.Entities.Education()
                {
                    Institution = education.Institution2,
                    Country     = education.Country2 != null?sco.FindCountrybyName(education.Country2).Id : -1,
                    Title       = education.Title2,
                    DateIni     = DateTime.Parse(education.DateIni2E),
                    DateEnd     = DateTime.Parse(education.DateEnd2E),
                    Actually    = education.Actually2,
                    UserId      = education.UserId
                };
                educations.Add(education2);
            }

            if (education.Institution3 != null)
            {
                Persistence.Entities.Education education3 = new ZonaFl.Persistence.Entities.Education()
                {
                    Institution = education.Institution3,
                    Country     = education.Country3 != null?sco.FindCountrybyName(education.Country3).Id : -1,
                    Title       = education.Title3,
                    DateIni     = DateTime.Parse(education.DateIni3E),
                    DateEnd     = DateTime.Parse(education.DateEnd3E),
                    Actually    = education.Actually3,
                    UserId      = education.UserId
                };
                educations.Add(education3);
            }



            bool rta = usern.InsertEducation(educations);

            return(Json(data: rta));
        }
Example #4
0
        public ActionResult GetEducationByUser()
        {
            var iduser = RouteData.Values["id"].ToString();

            ZonaFl.Business.SubSystems.SUser      usern      = new Business.SubSystems.SUser();
            List <Persistence.Entities.Education> educations = usern.GetEducationByUser(iduser);

            Models.Education educationsm = new Education();

            SCountry sco = new SCountry();
            int      i   = 0;

            foreach (var edu in educations)
            {
                if (i == 0)
                {
                    int contry = edu.Country != null?(int)edu.Country:-1;
                    educationsm.Institution = edu.Institution;
                    educationsm.Country     = edu.Country != null?sco.FindCountrybyId(contry).Name : "";

                    educationsm.DateEndE = edu.DateEnd.ToString();
                    educationsm.DateIniE = edu.DateIni.ToString();
                    educationsm.Actually = edu.Actually == null? false : (bool)edu.Actually;
                    educationsm.Title    = edu.Title;
                    educationsm.UserId   = iduser;
                }

                if (i == 1)
                {
                    int contry2 = edu.Country != null ? (int)edu.Country : -1;
                    educationsm.Institution2 = edu.Institution;
                    educationsm.Country2     = edu.Country != null?sco.FindCountrybyId(contry2).Name : "";

                    educationsm.DateEnd2E = edu.DateEnd.ToString();
                    educationsm.DateIni2E = edu.DateIni.ToString();
                    educationsm.Actually2 = edu.Actually == null ? false : (bool)edu.Actually;
                    educationsm.Title2    = edu.Title;
                }

                if (i == 2)
                {
                    int contry3 = edu.Country != null ? (int)edu.Country : -1;
                    educationsm.Institution3 = edu.Institution;
                    educationsm.Country3     = edu.Country != null?sco.FindCountrybyId(contry3).Name : "";

                    educationsm.DateEnd3E = edu.DateEnd.ToString();
                    educationsm.DateIni3E = edu.DateIni.ToString();
                    educationsm.Actually3 = edu.Actually == null ? false : (bool)edu.Actually;
                    educationsm.Title3    = edu.Title;
                }
                i += 1;
            }



            return(Json(educationsm, JsonRequestBehavior.AllowGet));
        }
Example #5
0
        public ActionResult InsertExperienceLab(Experience experience)
        {
            ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
            useru = usern.GetCurriculumUserById(new Guid(experience.UserId));
            List <Persistence.Entities.Experience> experiences = new List <Persistence.Entities.Experience>();

            if (experience.Company != null)
            {
                Persistence.Entities.Experience experiencen1 = new Persistence.Entities.Experience()
                {
                    Company          = experience.Company,
                    CurrentEmploy    = experience.CurrentEmploy,
                    DateEnd          = DateTime.Parse(experience.DateEnd),
                    DateIni          = DateTime.Parse(experience.DateIni),
                    FunctionPosition = experience.FunctionPosition,
                    Position         = experience.Position,
                    UserId           = experience.UserId
                };
                experiences.Add(experiencen1);
            }
            if (experience.Company2 != null)
            {
                Persistence.Entities.Experience experiencen2 = new Persistence.Entities.Experience()
                {
                    Company          = experience.Company2,
                    CurrentEmploy    = experience.CurrentEmploy2,
                    DateEnd          = DateTime.Parse(experience.DateEnd2),
                    DateIni          = DateTime.Parse(experience.DateIni2),
                    FunctionPosition = experience.FunctionPosition2,
                    Position         = experience.Position2,
                    UserId           = experience.UserId
                };
                experiences.Add(experiencen2);
            }

            if (experience.Company3 != null)
            {
                Persistence.Entities.Experience experiencen3 = new Persistence.Entities.Experience()
                {
                    Company          = experience.Company3,
                    CurrentEmploy    = experience.CurrentEmploy3,
                    DateEnd          = DateTime.Parse(experience.DateEnd3),
                    DateIni          = DateTime.Parse(experience.DateIni3),
                    FunctionPosition = experience.FunctionPosition3,
                    Position         = experience.Position3,
                    UserId           = experience.UserId
                };
                experiences.Add(experiencen3);
            }



            bool rta = usern.InsertExperienceLab(experiences);

            return(Json(data: rta));
        }
Example #6
0
        public ActionResult DetailsByEmail(string id)
        {
            ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
            ZonaFl.Business.SubSystems.SProject     userp = new Business.SubSystems.SProject();
            // trae las calificacion promedio del usuario por los proyectos
            useru = usern.GetUserByEmail(id);
            int calif = userp.GetCalificationAverageUser(useru.Id);

            //calif = 3;
            ViewBag.Calification = calif;

            var projects = userp.GetProjectsEndedByUser(useru.Id);
            List <Models.Project> projetsm = new List <Models.Project>();

            projetsm = projects.Select(e => new Models.Project().InjectFrom(e)).Cast <Models.Project>().ToList();
            projetsm.Select(e => new Models.Project().InjectFrom(usern.GetUserByOffer(e.IdOffer, 0))).Cast <Models.Project>().ToList();
            //projetsm.ForEach(e => e.CommentsUser = usern.GetUserNameByOffer(e.IdOffer).UserName);
            //projetsm.ForEach(e => e.Image = usern.GetUserNameByOffer(e.IdOffer).Image);
            //-prueba

            // projetsm.Add(new Models.Project() {Comments="Comentario Prueba", UserName = "******",Image= "FotoJuanFdoCastro3.jpg" }
            // );
            // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
            //);
            // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
            //);
            // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
            //);
            // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
            //);
            // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
            //);
            // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
            //);
            // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
            //);
            //---
            ViewBag.Commentaries = projetsm;
            useru = usern.GetUserById(new Guid(id));
            if (useru.Image != null && useru.Image.Contains("fakepath"))
            {
                useru.Image = useru.Image.Replace(@"C:\fakepath\", "");
            }
            RegisterBindingModel regbm = new RegisterBindingModel();

            regbm.InjectFrom(useru);
            regbm.Skills            = useru.Skills.Where(e => e.Visible).Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast <ZonaFl.Models.Skill>().ToList();
            SessionBag.Current.User = regbm;
            ViewBag.User            = useru.UserName;
            ViewBag.IdUser          = useru.Id;
            ViewBag.ImageUser       = useru.Image;

            return(View("Details", regbm));
        }
Example #7
0
        public ActionResult InsertCertificationLab(Certification certification)
        {
            ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
            useru = usern.GetCurriculumUserById(new Guid(certification.UserId));
            List <Persistence.Entities.Certification> certifications = new List <Persistence.Entities.Certification>();

            if (certification.Certificate != null)
            {
                Persistence.Entities.Certification certification1 = new ZonaFl.Persistence.Entities.Certification()
                {
                    Certificate = certification.Certificate,
                    DateCert    = DateTime.Parse(certification.DateCert),
                    Otorgante   = certification.Otorgante,
                    Description = certification.Description,
                    UserId      = certification.UserId,
                    Actually    = certification.Actually
                };
                certifications.Add(certification1);
            }
            if (certification.Certificate2 != null)
            {
                Persistence.Entities.Certification certification2 = new ZonaFl.Persistence.Entities.Certification()
                {
                    Certificate = certification.Certificate2,
                    DateCert    = DateTime.Parse(certification.DateCert2),
                    Otorgante   = certification.Otorgante2,
                    Description = certification.Description2,
                    UserId      = certification.UserId2,
                    Actually    = certification.Actually2
                };
                certifications.Add(certification2);
            }

            if (certification.Certificate3 != null)
            {
                Persistence.Entities.Certification certification3 = new ZonaFl.Persistence.Entities.Certification()
                {
                    Certificate = certification.Certificate3,
                    DateCert    = DateTime.Parse(certification.DateCert3),
                    Otorgante   = certification.Otorgante3,
                    Description = certification.Description3,
                    UserId      = certification.UserId3,
                    Actually    = certification.Actually3
                };
                certifications.Add(certification3);
            }



            bool rta = usern.InsertCertifications(certifications);

            return(Json(data: rta));
        }
Example #8
0
        public ActionResult DetailsById(string id)
        {
            ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
            useru = usern.GetCurriculumUserById(new Guid(id));
            if (SessionBag.Current.User == null)
            {
                SessionBag.Current.User = useru;
            }
            Curriculum           curr  = new Curriculum();
            RegisterBindingModel regbm = new RegisterBindingModel();

            regbm.InjectFrom(useru);
            regbm.Skills     = useru.Skills.Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast <ZonaFl.Models.Skill>().ToList();
            curr.User        = regbm;
            curr.Experiences = useru.Experiences.Select(e => new ZonaFl.Models.Experience().InjectFrom(e)).Cast <ZonaFl.Models.Experience>().ToList();
            curr.Experiences.ForEach(e => e.DateIni  = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
            curr.Experiences.ForEach(e => e.DateEnd  = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());
            curr.Experiences.ForEach(e => e.DateIni2 = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
            curr.Experiences.ForEach(e => e.DateEnd2 = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());
            curr.Experiences.ForEach(e => e.DateIni3 = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
            curr.Experiences.ForEach(e => e.DateEnd3 = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());

            curr.Certifications = useru.Certifications.Select(e => new ZonaFl.Models.Certification().InjectFrom(e)).Cast <ZonaFl.Models.Certification>().ToList();
            curr.Certifications.ForEach(e => e.DateCert  = useru.Certifications.Where(t => t.Id == e.Id).FirstOrDefault().DateCert.ToString());
            curr.Certifications.ForEach(e => e.DateCert2 = useru.Certifications.Where(t => t.Id == e.Id).FirstOrDefault().DateCert.ToString());
            curr.Certifications.ForEach(e => e.DateCert3 = useru.Certifications.Where(t => t.Id == e.Id).FirstOrDefault().DateCert.ToString());



            curr.Educations = useru.Educations.Select(e => new ZonaFl.Models.Education().InjectFrom(e)).Cast <ZonaFl.Models.Education>().ToList();
            curr.Educations.ForEach(e => e.DateIniE  = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
            curr.Educations.ForEach(e => e.DateEndE  = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());
            curr.Educations.ForEach(e => e.DateIni2E = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
            curr.Educations.ForEach(e => e.DateEnd2E = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());
            curr.Educations.ForEach(e => e.DateIni3E = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
            curr.Educations.ForEach(e => e.DateEnd3E = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());


            curr.Languages = useru.Languages.Select(e => new ZonaFl.Models.Language().InjectFrom(e)).Cast <ZonaFl.Models.Language>().ToList();
            if (useru.Image != null && useru.Image.Contains("fakepath"))
            {
                useru.Image = useru.Image.Replace(@"C:\fakepath\", "");
            }

            ViewBag.UserId    = id;
            ViewBag.User      = useru.UserName;
            ViewBag.ImageUser = useru.Image;

            ViewBag.IdUser = id;

            return(View("Details", curr));
        }
Example #9
0
        public ActionResult InsertLanguageLab(Language language)
        {
            ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
            useru = usern.GetCurriculumUserById(new Guid(language.UserId));
            List <Persistence.Entities.Language> languages = new List <Persistence.Entities.Language>();

            if (language.Name != null)
            {
                Persistence.Entities.Language language1 = new ZonaFl.Persistence.Entities.Language()
                {
                    Name        = language.Name,
                    LevelLang   = language.LevelLang,
                    Certificate = language.Certificate,
                    UserId      = language.UserId
                };
                languages.Add(language1);
            }

            if (language.Name2 != null)
            {
                Persistence.Entities.Language language2 = new ZonaFl.Persistence.Entities.Language()
                {
                    Name        = language.Name2,
                    LevelLang   = language.LevelLang2,
                    Certificate = language.Certificate2,
                    UserId      = language.UserId
                };
                languages.Add(language2);
            }

            if (language.Name3 != null)
            {
                Persistence.Entities.Language language3 = new ZonaFl.Persistence.Entities.Language()
                {
                    Name        = language.Name3,
                    LevelLang   = language.LevelLang3,
                    Certificate = language.Certificate3,
                    UserId      = language.UserId
                };
                languages.Add(language3);
            }



            bool rta = usern.InsertLanguages(languages);

            return(Json(data: rta));
        }
Example #10
0
        public ActionResult GetExperienceLabByUser()
        {
            var iduser = RouteData.Values["id"].ToString();

            ZonaFl.Business.SubSystems.SUser       usern       = new Business.SubSystems.SUser();
            List <Persistence.Entities.Experience> experiences = usern.GetExperienceLabByUser(iduser);

            Models.Experience experiencem = new Experience();
            int i = 0;

            foreach (var expe in experiences)
            {
                if (i == 0)
                {
                    experiencem.Company          = expe.Company;
                    experiencem.CurrentEmploy    = expe.CurrentEmploy;
                    experiencem.Position         = expe.Position;
                    experiencem.DateIni          = expe.DateIni.ToString();
                    experiencem.DateEnd          = expe.DateEnd.ToString();
                    experiencem.FunctionPosition = expe.FunctionPosition;
                    experiencem.UserId           = iduser;
                }
                else if (i == 1)
                {
                    experiencem.Company2          = expe.Company;
                    experiencem.CurrentEmploy2    = expe.CurrentEmploy;
                    experiencem.Position2         = expe.Position;
                    experiencem.DateIni2          = expe.DateIni.ToString();
                    experiencem.DateEnd2          = expe.DateEnd.ToString();
                    experiencem.FunctionPosition2 = expe.FunctionPosition;
                }
                else
                {
                    experiencem.Company3          = expe.Company;
                    experiencem.CurrentEmploy3    = expe.CurrentEmploy;
                    experiencem.Position3         = expe.Position;
                    experiencem.DateIni3          = expe.DateIni.ToString();
                    experiencem.DateEnd3          = expe.DateEnd.ToString();
                    experiencem.FunctionPosition3 = expe.FunctionPosition;
                }
                i += 1;
            }


            //var rta= Json(data: experiences);

            return(Json(experiencem, JsonRequestBehavior.AllowGet));
        }
Example #11
0
        public ActionResult Read(string id)
        {
            ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
            useru = usern.GetUserById(new Guid(id));

            RegisterBindingModel regbm = new RegisterBindingModel();

            regbm.InjectFrom(useru);
            regbm.Skills            = useru.Skills.Where(e => e.Visible).Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast <ZonaFl.Models.Skill>().ToList();
            SessionBag.Current.User = regbm;
            ViewBag.User            = useru.UserName;
            ViewBag.IdUser          = useru.Id;
            ViewBag.ImageUser       = useru.Image;

            return(View("ReadForAdmin", regbm));
        }
Example #12
0
        public ActionResult UpdatePortfolio(PortFolio portfolio)
        {
            ZonaFl.Business.SubSystems.SUser suser = new Business.SubSystems.SUser();

            //ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SPortfolio portn      = new Business.SubSystems.SPortfolio();
            Persistence.Entities.PortFolio        portfolioP = new Persistence.Entities.PortFolio();
            portfolioP.InjectFrom(portfolio);

            if (portn.UpdatePortFolioByUser(portfolioP))
            {
                return(Json(data: true));
            }
            else
            {
                return(Json(data: false));
            }
        }
Example #13
0
        public ActionResult GetLanguagesByUser()
        {
            var iduser = RouteData.Values["id"].ToString();

            ZonaFl.Business.SubSystems.SUser     usern     = new Business.SubSystems.SUser();
            List <Persistence.Entities.Language> languages = usern.GetLanguagesByUser(iduser);
            Language languagem = new Language();
            int      i         = 0;

            foreach (var edu in languages)
            {
                if (i == 0)
                {
                    if (edu.Certificate != null)
                    {
                        languagem.Certificate = (bool)edu.Certificate;
                    }
                    languagem.LevelLang = edu.LevelLang;
                    languagem.Name      = edu.Name;
                    languagem.UserId    = edu.UserId;
                }
                else if (i == 1)
                {
                    if (edu.Certificate != null)
                    {
                        languagem.Certificate2 = (bool)edu.Certificate;
                    }
                    languagem.LevelLang2 = edu.LevelLang;
                    languagem.Name2      = edu.Name;
                }
                else
                {
                    if (edu.Certificate != null)
                    {
                        languagem.Certificate3 = (bool)edu.Certificate;
                    }
                    languagem.LevelLang3 = edu.LevelLang;
                    languagem.Name3      = edu.Name;
                }
                i += 1;
            }

            return(Json(languagem, JsonRequestBehavior.AllowGet));
        }
Example #14
0
        public ActionResult EditById(string id)
        {
            ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
            useru = usern.GetCurriculumUserById(new Guid(id));
            if (SessionBag.Current.User == null)
            {
                SessionBag.Current.User = useru;
            }
            Curriculum           curr  = new Curriculum();
            RegisterBindingModel regbm = new RegisterBindingModel();

            regbm.InjectFrom(useru);
            regbm.Skills        = useru.Skills.Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast <ZonaFl.Models.Skill>().ToList();
            curr.User           = regbm;
            curr.Experiences    = useru.Experiences.Select(e => new ZonaFl.Models.Experience().InjectFrom(e)).Cast <ZonaFl.Models.Experience>().ToList();
            curr.Certifications = useru.Certifications.Select(e => new ZonaFl.Models.Certification().InjectFrom(e)).Cast <ZonaFl.Models.Certification>().ToList();
            curr.Educations     = useru.Certifications.Select(e => new ZonaFl.Models.Education().InjectFrom(e)).Cast <ZonaFl.Models.Education>().ToList();
            curr.Languages      = useru.Certifications.Select(e => new ZonaFl.Models.Language().InjectFrom(e)).Cast <ZonaFl.Models.Language>().ToList();

            ZonaFl.Business.SubSystems.SProject userp = new Business.SubSystems.SProject();
            // trae las calificacion promedio del usuario por los proyectos
            int calif = userp.GetCalificationAverageUser(id);
            //calif = 3;


            var projects = userp.GetProjectsEndedByUser(id);
            List <Models.Project> projetsm = new List <Models.Project>();

            projetsm = projects.Select(e => new Models.Project().InjectFrom(e)).Cast <Models.Project>().ToList();
            projetsm.Select(e => new Models.Project().InjectFrom(usern.GetUserByOffer(e.IdOffer, 0))).Cast <Models.Project>().ToList();

            ViewBag.Calification = calif;
            ViewBag.Commentaries = projetsm;


            ViewBag.User      = useru.UserName;
            ViewBag.ImageUser = useru.Image;
            ViewBag.IdUser    = id;
            return(View("Edit", curr));
        }
Example #15
0
        public ActionResult GetCertificationsByUser()
        {
            var iduser = RouteData.Values["id"].ToString();

            ZonaFl.Business.SubSystems.SUser          usern       = new Business.SubSystems.SUser();
            List <Persistence.Entities.Certification> experiences = usern.GetCertificationsByUser(iduser);
            Certification certm = new Certification();
            int           i     = 0;

            foreach (var edu in experiences)
            {
                if (i == 0)
                {
                    certm.Description = edu.Description;
                    certm.Certificate = edu.Certificate;
                    certm.Actually    = edu.Actually;
                    certm.DateCert    = edu.DateCert.ToString();
                    certm.Otorgante   = edu.Otorgante;
                    certm.UserId      = edu.Otorgante;
                }
                else if (i == 1)
                {
                    certm.Description2 = edu.Description;
                    certm.Certificate2 = edu.Certificate;
                    certm.Actually2    = edu.Actually;
                    certm.DateCert2    = edu.DateCert.ToString();
                    certm.Otorgante2   = edu.Otorgante;
                }
                else if (i == 2)
                {
                    certm.Description3 = edu.Description;
                    certm.Certificate3 = edu.Certificate;
                    certm.Actually3    = edu.Actually;
                    certm.DateCert3    = edu.DateCert.ToString();
                    certm.Otorgante3   = edu.Otorgante;
                }
                i += 1;
            }
            return(Json(certm, JsonRequestBehavior.AllowGet));
        }
Example #16
0
        public async Task <IHttpActionResult> GetuserNameByEmail(List <RegisterBindingModel> userl)
        {
            RegisterBindingModel user    = userl[0];
            AspNetUsers          aspuser = new AspNetUsers();

            try
            {
                ZonaFl.Business.SubSystems.SUser usern = new Business.SubSystems.SUser();


                var useru = UserManager.FindByEmail(user.Email);


                //aspuser =  usern.UpdateUser(aspuser);
                return(Json(new { success = true, issue = user, errors = "", tipo = useru, UserEmail = useru.Email }));
                //return new KeyValuePair<bool, string>(true, "se ha guardado la información correctamente");
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, issue = user, errors = ex.Message, tipo = user, UserEmail = aspuser.Email }));
                //return new KeyValuePair<bool, string>(false, "Ha ocurrido un error al actualizar la imagen del usuario. Error Message: " + ex.Message);
            }
        }
Example #17
0
        public ActionResult Filter(string filter)
        {
            if (!string.IsNullOrEmpty(filter) && filter.EndsWith("or "))
            {
                filter = " and " + ReplaceLastOccurrence(filter, "or", "");
            }

            if (!string.IsNullOrEmpty(filter) && filter.EndsWith("and "))
            {
                filter = " and " + ReplaceLastOccurrence(filter, "and", "");
            }

            SOffer soffer       = new SOffer();
            int    pagenumber   = 1;  //int.Parse( Request.QueryString.Get("pagenumber"));
            int    itemsperpage = 50; // int.Parse(Request.QueryString.Get("itemsperpage"));
            string conditions   = "";

            ///user session bag
            ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
            string id = ((RegisterBindingModel)SessionBag.Current.User).Id;

            useru = usern.GetUserById(new Guid(id));
            if (!useru.Freelance)
            {
                conditions = " where iduser='******' " + filter + "' and OP.StatusPhase<>2 and OP.StatusPhase<>3; "; //Request.QueryString.Get("conditions");
            }
            else
            {
                conditions = " where OP.StatusPhase<>2 and OP.StatusPhase<>3 AND  O.Id NOT IN(SELECT Project.idoffer  from project) " + filter;  //Request.QueryString.Get("conditions");
            }
            //se  quitan los skill porque aqui se puede haber filtrado por skills diferentes
            //var skills = useru.Skills.Where(e => e.CategoryId != null).ToList();
            //var categories = skills.GroupBy(n => n.CategoryId).ToList();
            //int i = 0;
            //foreach (var cat in categories)
            //{
            //    if (i == 0)
            //    {
            //        conditions += " and (O.CategoryId=" + cat.Key;
            //    }
            //    else
            //    {
            //        conditions += " or O.CategoryId=" + cat.Key;

            //    }
            //    i += 1;
            //}
            //conditions += ")";

            RegisterBindingModel regbm = new RegisterBindingModel();

            regbm.InjectFrom(useru);
            regbm.Skills = useru.Skills.Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast <ZonaFl.Models.Skill>().ToList();
            //SessionBag.Current.User = regbm;
            ViewBag.IdUser = id;
            /////

            string    order = Request.QueryString.Get("order");
            SCategory scat  = new SCategory();
            List <ZonaFl.Persistence.Entities.Category> listcat = scat.FindAll();

            ViewBag.Categories = listcat;
            List <Persistence.Entities.Offer> lista             = soffer.GetListPaged(pagenumber, itemsperpage, conditions, order);
            List <Models.Offer> listoffers                      = lista.Select(e => new Models.Offer().InjectFrom(e)).Cast <Models.Offer>().ToList();
            List <Persistence.Entities.Category> listcategories = lista.Select(e => e.Category).ToList();

            Dictionary <int, string> dicofferexiste = new Dictionary <int, string>();
            int offeruserexist = -1;

            if (TempData["OfferMessage"] != null)
            {
                dicofferexiste = (Dictionary <int, string>)TempData["OfferMessage"];
                offeruserexist = dicofferexiste.FirstOrDefault().Key;
            }

            foreach (var offer in lista)
            {
                var offerget = soffer.GetById(offer.Id);
                if (offerget != null)
                {
                    offer.OfferPhases = offerget.OfferPhases.Select(e => new OfferPhases().InjectFrom(e)).Cast <OfferPhases>().ToList();
                }
                listoffers.FirstOrDefault(e => e.Id == offer.Id).OfferPhases = offer.OfferPhases.Select(e => new OfferPhase().InjectFrom(e)).Cast <OfferPhase>().ToList();
                if (listoffers.FirstOrDefault(e => e.Id == offer.Id) != null)
                {
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).Category = new Models.Category();//.InjectFrom(offer.Category);
                }
                listoffers.FirstOrDefault(e => e.Id == offer.Id).Category.InjectFrom(offer.Category);
                listoffers.FirstOrDefault(e => e.Id == offer.Id).ContractorCity    = ((RegisterBindingModel)SessionBag.Current.User).City;
                listoffers.FirstOrDefault(e => e.Id == offer.Id).ContractorCountry = ((RegisterBindingModel)SessionBag.Current.User).Country;
                listoffers.FirstOrDefault(e => e.Id == offer.Id).NameContractor    = ((RegisterBindingModel)SessionBag.Current.User).FirstMiddleName;
                if (offer.Id == offeruserexist)
                {
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).Applicada = true;
                }

                var dateoferfase1 = soffer.GetPhaseInitial(offer.Id);
                if (dateoferfase1 == null)
                {
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).DateIniPhase1 = DateTime.Parse("01/01/1900");
                }
                else
                {
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).DateIniPhase1 = dateoferfase1.InitPhase;
                }
            }
            //listoffers.ForEach(e => e.Category.InjectFrom(listcategories.Where(i => i.Id == e.Id).FirstOrDefault()));
            if (((RegisterBindingModel)SessionBag.Current.User).Freelance)
            {
                return(PartialView("PartialFilterOffer", listoffers));
            }
            else
            {
                return(RedirectToAction("Index", "Projects", new { id = SessionBag.Current.User.Id }));
            }

            //SOffer soffer = new SOffer();
            //int pagenumber = 1;//int.Parse( Request.QueryString.Get("pagenumber"));
            //int itemsperpage = 50;// int.Parse(Request.QueryString.Get("itemsperpage"));

            //string conditions = " where iduser='******' " + filter + "; "; //Request.QueryString.Get("conditions");
            //string order = Request.QueryString.Get("order");
            //SCategory scat = new SCategory();
            //List<ZonaFl.Persistence.Entities.Category> listcat = scat.FindAll();
            //ViewBag.Categories = listcat;
            //List<Persistence.Entities.Offer> lista = soffer.GetListPaged(pagenumber, itemsperpage, conditions, order);
            //List<Models.Offer> listoffers = lista.Select(e => new Models.Offer().InjectFrom(e)).Cast<Models.Offer>().ToList();
            //List<Persistence.Entities.Category> listcategories = lista.Select(e => e.Category).ToList();
            //foreach (var offer in lista)
            //{
            //    if (listoffers.FirstOrDefault(e => e.Id == offer.Id) != null)
            //        listoffers.FirstOrDefault(e => e.Id == offer.Id).Category = new Models.Category();//.InjectFrom(offer.Category);
            //    listoffers.FirstOrDefault(e => e.Id == offer.Id).Category.InjectFrom(offer.Category);
            //    listoffers.FirstOrDefault(e => e.Id == offer.Id).ContractorCity = ((RegisterBindingModel)SessionBag.Current.User).City;
            //    listoffers.FirstOrDefault(e => e.Id == offer.Id).ContractorCountry = ((RegisterBindingModel)SessionBag.Current.User).Country;
            //    listoffers.FirstOrDefault(e => e.Id == offer.Id).NameContractor = ((RegisterBindingModel)SessionBag.Current.User).FirstMiddleName;
            //   var phase= soffer.GetPhaseInitial(offer.Id);
            //    if (phase != null)
            //    {
            //        ViewBag.InicioEst = phase.InitPhase;
            //        if(offer.OfferPhases.Count>0)
            //        ViewBag.FinEst = offer.OfferPhases.LastOrDefault(e => e.FinishPhase != null).FinishPhase;
            //        listoffers.FirstOrDefault(e => e.Id == offer.Id).DateIniPhase1 = soffer.GetPhaseInitial(offer.Id).InitPhase;

            //    }
            //    else
            //    {
            //        listoffers.FirstOrDefault(e => e.Id == offer.Id).DateIniPhase1 = DateTime.Parse("01/01/1900");
            //    }
            //}
            ////listoffers.ForEach(e => e.Category.InjectFrom(listcategories.Where(i => i.Id == e.Id).FirstOrDefault()));
            //if (((RegisterBindingModel)SessionBag.Current.User).Freelance)
            //{
            //    return PartialView("PartialFilterOffer", listoffers);
            //}
            //else
            //{
            //    return PartialView("PartialFilterOffer", listoffers);
            //}
        }
Example #18
0
        public ActionResult DetailsByEmail(string id)
        {
            RegisterBindingModel regbm = new RegisterBindingModel();

            try
            {
                ZonaFl.Persistence.Entities.AspNetUsers useru = null;
                ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();

                useru = usern.GetUserByEmail(id);
                regbm.InjectFrom(useru);
                if (useru.Companies.Count > 0 && useru.Companies.FirstOrDefault() != null)
                {
                    regbm.Company = useru.Companies.Select(e => new Models.Company().InjectFrom(e)).Cast <Models.Company>().ToList();
                }
                SessionBag.Current.User = regbm;
                //regbm.Skills = useru.Skills.Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast<ZonaFl.Models.Skill>().ToList();
                ViewBag.User      = useru.UserName;
                ViewBag.IdUser    = useru.Id;
                ViewBag.ImageUser = useru.Image;

                ZonaFl.Business.SubSystems.SProject userp = new Business.SubSystems.SProject();
                var projects = userp.GetProjectsEndedByUser(useru.Id);
                List <Models.Project> projetsm = new List <Models.Project>();

                projetsm = projects.Select(e => new Models.Project().InjectFrom(e)).Cast <Models.Project>().ToList();
                projetsm.Select(e => new Models.Project().InjectFrom(usern.GetUserByOffer(e.IdOffer, 1))).Cast <Models.Project>().ToList();
                //-prueba

                // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
                // );
                // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
                //);
                // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
                //);
                // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
                //);
                // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
                //);
                // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
                //);
                // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
                //);
                // projetsm.Add(new Models.Project() { Comments = "Comentario Prueba", UserName = "******", Image = "FotoJuanFdoCastro3.jpg" }
                //);
                //---
                ViewBag.Commentaries = projetsm;
                int calif = userp.GetCalificationAverageUser(useru.Id);
                //calif = 3;
                ViewBag.Calification = calif;
                return(View("Details", regbm));
            }
            catch (Exception er)
            {
                Log4NetLogger logger2 = new Log4NetLogger();
                logger2.CurrentUser = SessionBag.Current.User.Id;
                if (Request != null)
                {
                    logger2.Error(er, Request.Path, Request.RawUrl);
                    throw new Exception(er.Message);
                }
                else
                {
                    logger2.Error(er);
                }
            }
            return(View("Details", regbm));
        }
Example #19
0
        public ActionResult EditById(string id)
        {
            ZonaFl.Persistence.Entities.AspNetUsers useru     = null;
            ZonaFl.Business.SubSystems.SUser        usern     = new Business.SubSystems.SUser();
            ZonaFl.Business.SubSystems.SCategory    scategory = new Business.SubSystems.SCategory();

            ZonaFl.Business.SubSystems.SCountry scountry = new Business.SubSystems.SCountry();

            useru = usern.GetUserById(new Guid(id));
            if (SessionBag.Current.User == null)
            {
                SessionBag.Current.User = useru;
            }

            RegisterBindingModel regbm = new RegisterBindingModel();

            regbm.InjectFrom(useru);
            regbm.Skills     = useru.Skills.Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast <ZonaFl.Models.Skill>().ToList();
            regbm.Categories = useru.Skills.Select(e => new ZonaFl.Models.Category().InjectFrom(scategory.FindCategoryById(e.CategoryId))).Cast <ZonaFl.Models.Category>().GroupBy(t => t.Id).Select(g => g.First()).ToList();
            regbm.Categories.ForEach(e => e.Skills = useru.Skills.Where(w => w.CategoryId == e.Id).Select(y => new ZonaFl.Models.Skill().InjectFrom(y)).Cast <ZonaFl.Models.Skill>().ToList());

            ViewBag.CountAllCategories = regbm.Skills != null?regbm.Skills.Where(e => e.Visible).Count() : 0;

            //var query = regbm.Categories.Select(s => s.Skills.Where(v => v.Visible).GroupBy(c => c.CategoryId)).SelectMany(r => r).ToList();


            var query = from skill in regbm.Skills
                        where skill.Visible
                        group skill by skill.CategoryId
                        into grouping
                        select new { Key = grouping.Key, Count = grouping.Count() };

            foreach (var VARIABLE in query)
            {
                regbm.GetType().GetProperty("Count" + VARIABLE.Key.ToString()).SetValue(regbm, VARIABLE.Count);
            }

            ViewBag.Skills     = regbm.Skills;
            ViewBag.Categories = regbm.Categories;
            ViewBag.User       = useru.UserName;
            ViewBag.IdUser     = useru.Id;
            ViewBag.ImageUser  = useru.Image;
            Persistence.Entities.City    itemciudad = null;
            Persistence.Entities.Country item       = null;
            if (useru.City != null)
            {
                itemciudad = scountry.FindCityByName(useru.City);
            }
            else
            {
                itemciudad = scountry.FindCityByName("Bogota");
            }
            if (useru.Country != null)
            {
                item = scountry.FindCountrybyName(useru.Country);
            }
            else
            {
                item = scountry.FindCountrybyName("Colombia");
            }
            List <SelectListItem> countries = null;

            if (item != null)
            {
                var items = scountry.FindAll().Where(e => e.Id != item.Id).ToList();

                items.Insert(0, item);
                countries = new SelectList(items, "ID", "Name").ToList();
            }
            else
            {
                var items = scountry.FindAll();
                countries = new SelectList(items, "ID", "Name").ToList();
                item      = items.FirstOrDefault();
            }

            ViewBag.Countrysel     = item.Id;
            ViewBag.Ciudadsel      = itemciudad.Name;
            ViewBag.Country        = countries;
            TempData["SkillsUser"] = regbm.Skills;
            ViewBag.Title          = "Freelance";
            return(View("Edit", regbm));
        }
Example #20
0
        public ActionResult Edit(string id, FormCollection collection, RegisterBindingModel reg)
        {
            try
            {
                // TODO: Add update logic here

                ZonaFl.Business.SubSystems.SUser     usern  = new Business.SubSystems.SUser();
                ZonaFl.Business.SubSystems.SCategory usersk = new Business.SubSystems.SCategory();
                ZonaFl.Business.SubSystems.SSkill    sskill = new Business.SubSystems.SSkill();
                RegisterBindingModel user = reg;
                if (user.Empresa == null)
                {
                    user.Empresa = false;
                }

                if (user.Freelance == null)
                {
                    user.Freelance = false;
                }

                RegisterBindingModel rmb = new RegisterBindingModel();
                rmb.Skills = user.Skills;
                List <Persistence.Entities.Skill> skills = rmb.Skills.Select(e => new Persistence.Entities.Skill().InjectFrom(e)).Cast <Persistence.Entities.Skill>().ToList();
                AspNetUsers aspuser = new AspNetUsers();
                var         useru   = UserManager.FindByEmail(user.Email);
                for (int i = 0; i < skills.Count(); i++)
                {
                    ZonaFl.Persistence.Entities.Category category = null;
                    var      skill            = sskill.FindSkillByName(user.Skills[i].Name);
                    string[] stringSeparators = new string[] { "\n" };
                    string   result           = user.Skills[i].CategorySkill.Split(stringSeparators, StringSplitOptions.None)[0];

                    category = usersk.FindCategoryByName(result);

                    if (category == null)
                    {
                        try
                        {
                            category = usersk.InsertCategory(result);
                        }
                        catch (Exception er)
                        {
                            return(Json(new { success = false, issue = user, errors = er.Message, tipo = user, UserEmail = useru.Email }));
                        }
                    }

                    skills[i].IdHtml     = user.Skills[i].IdHtml;
                    skills[i].Category   = category;
                    skills[i].CategoryId = category.Id;
                }

                useru.City            = user.City;
                useru.Country         = user.Country;
                useru.UserName        = user.UserName;
                useru.DescUser        = user.DescUser;
                useru.PhoneNumber     = user.PhoneNumber.ToString();
                useru.FirstMiddleName = user.FirstMiddleName;
                useru.Image           = user.Image;

                aspuser.InjectFrom(useru);

                try
                {
                    skills = usern.InsertSkillsByUser(skills, aspuser);
                }
                catch (Exception er)
                {
                    return(Json(new { success = false, issue = user, errors = er.Message, tipo = aspuser, UserEmail = useru.Email }));
                }

                try
                {
                    IdentityResult result = UserManager.Update(useru);

                    if (!result.Succeeded)
                    {
                        return(View("Error"));
                    }
                }
                catch (Exception er)
                {
                    return(View("Error"));
                    //return Json(new { success = false, issue = user, errors = er.Message, tipo = user, UserEmail = useru.Email });
                    //return InternalServerError(er);
                }

                return(RedirectToAction("EditById", new { id = id }));
                //return Json(new { success = true, issue = user, errors = "", tipo = aspuser, UserEmail = useru.Email });
                //return Ok();
            }
            catch
            {
                return(View("Error"));
            }
        }
Example #21
0
        public ActionResult EditById(string id)
        {
            //if (SessionBag.Current.Logout != null && SessionBag.Current.Logout)
            //{

            //    SessionBag.Current.Logout = false;
            //    return RedirectToAction("Index", "Home");
            //}
            ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
            useru = usern.GetUserById(new Guid(id));

            if (SessionBag.Current.User == null)
            {
                SessionBag.Current.User = useru;
            }
            ZonaFl.Business.SubSystems.SCategory scategory = new Business.SubSystems.SCategory();
            RegisterBindingModel regbm = new RegisterBindingModel();

            regbm.InjectFrom(useru);
            regbm.Skills = useru.Skills.Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast <ZonaFl.Models.Skill>().ToList();
            if (useru.Companies.FirstOrDefault() != null)
            {
                regbm.Company = useru.Companies.Select(e => new ZonaFl.Models.Company().InjectFrom(e)).Cast <ZonaFl.Models.Company>().ToList();
            }

            List <Models.Category> categorysm = new List <Models.Category>();

            foreach (var skill in useru.Skills)
            {
                Models.Category categorym = new Models.Category();
                if (categorysm.Find(e => e.Id == skill.CategoryId) == null)
                {
                    var category = scategory.FindCategoryById(skill.CategoryId);
                    categorym.InjectFrom(category);
                    categorysm.Add(categorym);
                }
            }


            regbm.Categories = categorysm;
            //regbm.Categories.ForEach(e => e.Skills = useru.Skills.Select(y => new ZonaFl.Models.Skill().InjectFrom(y)).Cast<ZonaFl.Models.Skill>().ToList());
            ViewBag.User      = useru.UserName;
            ViewBag.IdUser    = useru.Id;
            ViewBag.ImageUser = useru.Image;
            ViewBag.EmailUser = useru.Email;
            //ViewBag.Country = useru.Country;
            ZonaFl.Business.SubSystems.SCountry scountry = new Business.SubSystems.SCountry();


            var itemciudad = scountry.FindCityByName(useru.City);
            var item       = scountry.FindCountrybyName(useru.Country);

            var items = item != null?scountry.FindAll().Where(e => e.Id != item.Id).ToList() : scountry.FindAll();

            if (item != null)
            {
                items.Insert(0, item);
            }

            var countries = new SelectList(items, "ID", "Name").ToList();

            ViewBag.Countrysel = item != null ? item.Id: items.First().Id;
            var countryfirst = scountry.FindFirstCityByCountry(int.Parse(ViewBag.Countrysel.ToString()));

            ViewBag.Ciudadsel = string.IsNullOrEmpty(itemciudad.Name) ? countryfirst.Name : itemciudad.Name;
            ViewBag.Country   = countries;

            if (regbm.Company == null)
            {
                regbm.Company = new List <Models.Company>();
                regbm.Company.Add(new Models.Company());
            }

            if (regbm.PhoneNumber == null)
            {
                regbm.PhoneNumber = regbm.Company.FirstOrDefault().Telefono;
            }
            ViewBag.Title = "Contratante";
            //TempData["SkillsUser"] = regbm.Skills;
            return(View("Edit", regbm));
        }
Example #22
0
        public ActionResult LoginUser(RegisterBindingModel model)
        {
            var user = new ApplicationUser()
            {
                UserName = model.UserName, Email = model.Email, Empresa = model.Empresa, Freelance = model.Freelance
            };


            AspNetUsers aspuser = new AspNetUsers();

            try
            {
                ZonaFl.Business.SubSystems.SUser usern = new Business.SubSystems.SUser();
                ApplicationUser useru = null;
                if (user.UserName.Contains("@"))
                {
                    useru = UserManager.FindByEmail(user.UserName);
                }
                else
                {
                    useru = UserManager.FindByName(user.UserName);
                }

                if (useru != null)
                {
                    if (useru.EmailConfirmed)
                    {
                        bool validuser = false;
                        if (useru != null)
                        {
                            validuser = UserManager.CheckPassword(useru, model.PasswordHash);
                            if (validuser)
                            {
                                var identity = new System.Security.Principal.GenericIdentity(useru.UserName);
                                //SetPrincipal(new System.Security.Principal.GenericPrincipal(identity, null));
                            }
                            else
                            {
                                return(Json(new { success = false, issue = user, errors = "Contraseña o usuario incorrecto, favor volver a ingresar los datos", tipo = user, UserEmail = aspuser.Email }));
                            }

                            //var useri = HttpContext.Current.User;
                            //HttpContext.Current.User = useri;

                            //RegisterBindingModel regbm = new RegisterBindingModel();
                            //regbm.InjectFrom(useru);
                            //HttpSessionStateBase session = new HttpSessionStateWrapper(HttpContext.Current.Session);
                            //SessionBag.Current.User = regbm;
                        }

                        if (useru.Freelance)
                        {
                            //return RedirectToAction("Index", "Offer", new { id = useru.Id });
                            return(Json(new { success = validuser, issue = useru, errors = "", tipo = useru, UserEmail = useru.Email, Url = Url.Content("/Offer/Index/" + useru.Id).ToString() }));
                        }
                        else if (useru.Empresa)
                        {
                            return(Json(new { success = validuser, issue = useru, errors = "", tipo = useru, UserEmail = useru.Email, Url = Url.Content("/Projects/Index/" + useru.Id).ToString() }));
                        }
                        else
                        {
                            return(Json(new { success = validuser, issue = useru, errors = "", tipo = useru, UserEmail = useru.Email, Url = Url.Content("/Administration/Users/Index?email=" + useru.Email).ToString() }));
                        }
                    }
                    else
                    {
                        return(Json(new { success = false, issue = user, errors = "Usuario dado de baja o correo electrónico no confirmado, favor comunicarse con el administrador del sistema", tipo = user, UserEmail = aspuser.Email }));
                    }
                }
                else
                {
                    return(Json(new { success = false, issue = user, errors = "Usuario no encontrado, favor comunicarse con el administrador del sistema", tipo = user, UserEmail = aspuser.Email }));
                }
            }

            catch (Exception ex)
            {
                //throw new Exception(ex.Message);
                return(Json(new { success = false, issue = user, errors = ex.Message, tipo = user, UserEmail = aspuser.Email }));
            }


            return(Json(new { success = true, issue = model, errors = "", tipo = model, UserEmail = user.Email, Url = Url.Content("/Home/index").ToString() }));
        }
Example #23
0
        public async Task <IHttpActionResult> InsertSkills(List <RegisterBindingModel> userl)
        {
            //if (!ModelState.IsValid)
            //{
            //string messages = string.Join("; ", ModelState.Values
            //                        .SelectMany(x => x.Errors)
            //                        .Select(x => x.ErrorMessage));


            //return Json(new { success = false, issue = "", errors = messages });


            //}
            ZonaFl.Business.SubSystems.SUser     usern  = new Business.SubSystems.SUser();
            ZonaFl.Business.SubSystems.SCategory usersk = new Business.SubSystems.SCategory();
            ZonaFl.Business.SubSystems.SSkill    sskill = new Business.SubSystems.SSkill();
            RegisterBindingModel user = userl[0];

            if (user.Empresa == null)
            {
                user.Empresa = false;
            }

            if (user.Freelance == null)
            {
                user.Freelance = false;
            }

            RegisterBindingModel rmb = new RegisterBindingModel();

            rmb.Skills  = user.Skills;
            rmb.Company = user.Company;
            Persistence.Entities.Company company = new Persistence.Entities.Company();
            if (user.Company != null)
            {
                company.InjectFrom(user.Company.FirstOrDefault());
            }
            List <Persistence.Entities.Skill> skills = rmb.Skills.Select(e => new Persistence.Entities.Skill().InjectFrom(e)).Cast <Persistence.Entities.Skill>().ToList();
            AspNetUsers aspuser = new AspNetUsers();

            var useru = UserManager.FindByEmail(user.Email);


            for (int i = 0; i < skills.Count(); i++)
            {
                ZonaFl.Persistence.Entities.Category category = null;
                var      skill            = sskill.FindSkillByName(user.Skills[i].Name);
                string[] stringSeparators = new string[] { "\n" };
                string   result           = user.Skills[i].CategorySkill.Split(stringSeparators, StringSplitOptions.None)[0];

                category = usersk.FindCategoryByName(result);

                if (category == null)
                {
                    try
                    {
                        category = usersk.InsertCategory(result);
                    }
                    catch (Exception er)
                    {
                        return(Json(new { success = false, issue = user, errors = er.Message, tipo = user, UserEmail = useru.Email }));
                    }
                }

                skills[i].IdHtml     = user.Skills[i].IdHtml;
                skills[i].Category   = category;
                skills[i].CategoryId = category.Id;
            }

            useru.City            = user.City;
            useru.Country         = user.Country;
            useru.UserName        = user.UserName;
            useru.DescUser        = user.DescUser;
            useru.PhoneNumber     = user.PhoneNumber.ToString();
            useru.FirstMiddleName = user.FirstMiddleName;
            useru.Image           = user.Image;
            useru.Empresa         = user.Empresa;

            aspuser.InjectFrom(useru);
            aspuser.NoTrabajadores = user.NumeroEmp;

            try
            {
                Business.Log4NetLogger logger2 = new Business.Log4NetLogger();
                if (!useru.Empresa)
                {
                    if (skills.Count > 0)
                    {
                        skills = usern.InsertSkillsByUser(skills, aspuser);
                        logger2.Info("Inserción Usuario Categoria:" + useru.Id + "," + "UsuarioCategoria:" + skills.FirstOrDefault().CategoryId + ",Email:" + aspuser.Email);
                    }
                }
            }
            catch (Exception er)
            {
                return(Json(new { success = false, issue = user, errors = er.Message, tipo = aspuser, UserEmail = useru.Email }));
            }

            try
            {
                SUser suser = new SUser();
                aspuser.Empresa   = useru.Empresa;
                aspuser.Freelance = useru.Freelance;
                IdentityResult result = await UserManager.UpdateAsync(useru);

                var userupdate = suser.UpdateUser(aspuser);
                if (useru.Empresa)
                {
                    company.IdUser      = useru.Id;
                    company.Name        = userl[0].Company.Last().Name;
                    company.Mail        = userl[0].Company.Last().Mail;
                    company.Site        = user.UrlEmpresa;
                    company.Sector      = userl[0].Company.Last().Sector;
                    company.RazonSocial = userl[0].Company.Last().RazonSocial;
                    company.Telefono    = userl[0].Company.Last().Telefono;
                    company.Nit         = userl[0].Company.Last().Nit;
                    company.NumeroEmp   = aspuser.NoTrabajadores == null ? 0 : (int)aspuser.NoTrabajadores;
                    company.Description = userl[0].Company.Last().Description;

                    Persistence.Entities.Company companyp = usern.InsertCompany(company);
                }

                if (!result.Succeeded)
                {
                    return(GetErrorResult(result));
                }
            }
            catch (Exception er)
            {
                return(Json(new { success = false, issue = user, errors = er.Message, tipo = user, UserEmail = useru.Email }));
                //return InternalServerError(er);
            }
            aspuser.Empresa   = useru.Empresa;
            aspuser.Freelance = useru.Freelance;
            aspuser.Id        = useru.Id;
            return(Json(new { success = true, issue = user, errors = "", tipo = aspuser, UserEmail = useru.Email }));
            //return Ok();
        }
Example #24
0
        public async Task <IHttpActionResult> LoginUser(string UserName, string Email, string PasswordHash, bool Empresa, bool Freelance)
        {
            //string UserName = "******";
            //string Email = "*****@*****.**";
            //string  PasswordHash = "j7948810";
            //bool Empresa = true;
            //bool Freelance = false;

            var user = new ApplicationUser()
            {
                UserName = UserName, Email = Email, Empresa = Empresa, Freelance = Freelance
            };


            AspNetUsers aspuser = new AspNetUsers();

            try
            {
                ZonaFl.Business.SubSystems.SUser usern = new Business.SubSystems.SUser();
                ApplicationUser useru = null;
                if (user.UserName.Contains("@"))
                {
                    useru = UserManager.FindByEmail(user.UserName);
                }
                else
                {
                    useru = UserManager.FindByName(user.UserName);
                }

                if (useru != null)
                {
                    if (UserManager.IsEmailConfirmed(useru.Id))
                    {
                        bool validuser = false;
                        if (useru != null)
                        {
                            validuser = UserManager.CheckPassword(useru, PasswordHash);
                            if (validuser)
                            {
                                var identity = new System.Security.Principal.GenericIdentity(useru.UserName);
                                SetPrincipal(new System.Security.Principal.GenericPrincipal(identity, null));
                            }
                            else
                            {
                                return(Json(new { success = false, issue = user, errors = "Contraseña o usuario incorrecto, favor volver a ingresar los datos", tipo = user, UserEmail = aspuser.Email }));
                            }

                            var useri = HttpContext.Current.User;
                            HttpContext.Current.User = useri;

                            //RegisterBindingModel regbm = new RegisterBindingModel();
                            //regbm.InjectFrom(useru);
                            //HttpSessionStateBase session = new HttpSessionStateWrapper(HttpContext.Current.Session);
                            //SessionBag.Current.User = regbm;
                        }

                        if (useru.Freelance)
                        {
                            return(Json(new { success = validuser, issue = useru, errors = "", tipo = useru, UserEmail = useru.Email, Url = Url.Content("/Offer/Index/" + useru.Id).ToString() }));
                        }
                        else if (useru.Empresa)
                        {
                            return(Json(new { success = validuser, issue = useru, errors = "", tipo = useru, UserEmail = useru.Email, Url = Url.Content("/Projects/Index/" + useru.Id).ToString() }));
                        }
                        else
                        {
                            return(Json(new { success = validuser, issue = useru, errors = "", tipo = useru, UserEmail = useru.Email, Url = Url.Content("/Administration/Users/Index?email=" + useru.Email).ToString() }));
                        }
                    }
                    else
                    {
                        return(Json(new { success = false, issue = user, errors = "Usuario con correo electrónico no confirmado, favor revisar su correo electronico para confirmar la creación de la cuenta", tipo = user, UserEmail = aspuser.Email }));
                    }
                }
                else
                {
                    return(Json(new { success = false, issue = user, errors = "Usuario o password incorecto, favor digitar correctamente sus credenciales", tipo = user, UserEmail = aspuser.Email }));
                }
            }

            catch (Exception ex)
            {
                return(Json(new { success = false, issue = user, errors = ex.Message, tipo = user, UserEmail = aspuser.Email, Trace = ex.StackTrace }));
            }


            return(Json(new { success = true, issue = "Registro de usuario", errors = "", tipo = "Registro de usuario", UserEmail = user.Email, Url = Url.Content("/Freelance/Logout").ToString() }));
        }
Example #25
0
        public ActionResult ReadForEmployer(string id)
        {
            SUser                suser      = new SUser();
            SPortfolio           sportfolio = new SPortfolio();
            RegisterBindingModel regbm      = new RegisterBindingModel();

            try
            {
                var portfolio = sportfolio.GetPortFolioByUserId(id);


                ZonaFl.Persistence.Entities.AspNetUsers useru = null;
                ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
                useru = usern.GetCurriculumUserById(new Guid(id));

                ZonaFl.Business.SubSystems.SProject userp = new Business.SubSystems.SProject();
                // trae las calificacion promedio del usuario por los proyectos
                int calif = userp.GetCalificationAverageUser(id);
                //calif = 3;


                var projects = userp.GetProjectsEndedByUser(id);
                List <Models.Project> projetsm = new List <Models.Project>();

                projetsm = projects.Select(e => new Models.Project().InjectFrom(e)).Cast <Models.Project>().ToList();
                projetsm.Select(e => new Models.Project().InjectFrom(usern.GetUserByOffer(e.IdOffer, 0))).Cast <Models.Project>().ToList();

                Curriculum curr = new Curriculum();

                regbm.InjectFrom(useru);
                regbm.Skills     = useru.Skills.Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast <ZonaFl.Models.Skill>().ToList();
                curr.User        = regbm;
                curr.Experiences = useru.Experiences.Select(e => new ZonaFl.Models.Experience().InjectFrom(e)).Cast <ZonaFl.Models.Experience>().ToList();
                curr.Experiences.ForEach(e => e.DateIni  = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
                curr.Experiences.ForEach(e => e.DateEnd  = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());
                curr.Experiences.ForEach(e => e.DateIni2 = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
                curr.Experiences.ForEach(e => e.DateEnd2 = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());
                curr.Experiences.ForEach(e => e.DateIni3 = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
                curr.Experiences.ForEach(e => e.DateEnd3 = useru.Experiences.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());

                curr.Certifications = useru.Certifications.Select(e => new ZonaFl.Models.Certification().InjectFrom(e)).Cast <ZonaFl.Models.Certification>().ToList();
                curr.Certifications.ForEach(e => e.DateCert  = useru.Certifications.Where(t => t.Id == e.Id).FirstOrDefault().DateCert.ToString());
                curr.Certifications.ForEach(e => e.DateCert2 = useru.Certifications.Where(t => t.Id == e.Id).FirstOrDefault().DateCert.ToString());
                curr.Certifications.ForEach(e => e.DateCert3 = useru.Certifications.Where(t => t.Id == e.Id).FirstOrDefault().DateCert.ToString());



                curr.Educations = useru.Educations.Select(e => new ZonaFl.Models.Education().InjectFrom(e)).Cast <ZonaFl.Models.Education>().ToList();
                curr.Educations.ForEach(e => e.DateIniE  = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
                curr.Educations.ForEach(e => e.DateEndE  = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());
                curr.Educations.ForEach(e => e.DateIni2E = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
                curr.Educations.ForEach(e => e.DateEnd2E = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());
                curr.Educations.ForEach(e => e.DateIni3E = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateIni.ToString());
                curr.Educations.ForEach(e => e.DateEnd3E = useru.Educations.Where(t => t.Id == e.Id).FirstOrDefault().DateEnd.ToString());


                curr.Languages = useru.Languages.Select(e => new ZonaFl.Models.Language().InjectFrom(e)).Cast <ZonaFl.Models.Language>().ToList();

                regbm.Curriculum = curr;



                ViewBag.UserId            = id;
                ViewBag.User              = SessionBag.Current.User.UserName;
                ViewBag.ImageUser         = SessionBag.Current.User.Image;
                ViewBag.ImageUserFrelance = useru.Image;
                ViewBag.Portfolio         = portfolio;
                ViewBag.Calification      = calif;
                ViewBag.Commentaries      = projetsm;
            }
            catch (Exception er)
            {
                Log4NetLogger logger2 = new Log4NetLogger();
                logger2.CurrentUser = SessionBag.Current.User.Id;
                if (Request != null)
                {
                    logger2.Error(er, Request.Path, Request.RawUrl);
                    throw new Exception(er.Message);
                }
                else
                {
                    logger2.Error(er);
                }
            }

            return(View(regbm));
        }
Example #26
0
        // GET: Project

        public ActionResult Index(string id)
        {
            int statusProject = 0;

            if (Request.QueryString["statusProject"] != null)
            {
                statusProject = int.Parse(Request.QueryString["statusProject"]);
            }


            ViewBag.Status = statusProject;

            SOffer soffer       = new SOffer();
            int    pagenumber   = 1;  //int.Parse( Request.QueryString.Get("pagenumber"));
            int    itemsperpage = 50; // int.Parse(Request.QueryString.Get("itemsperpage"));
            string conditions   = "";

            ZonaFl.Persistence.Entities.AspNetUsers useru = null;
            ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
            useru = usern.GetUserById(new Guid(id));
            if (SessionBag.Current.User == null)
            {
                SessionBag.Current.User = useru;
            }
            //if (statusProject == 2 && !useru.Freelance)
            //    statusProject = 1;

            //    Publicada = 0,
            //EnCurso = 1,
            //Finalizada = 2,
            //Eliminada = 3
            if (statusProject == 0)
            {
                if (!useru.Freelance)
                {
                    //conditions = " where O.Id NOT IN(SELECT Project.idoffer  from project) and O.iduser='******' and (OP.StatusPhase=" + statusProject + " "; //Request.QueryString.Get("conditions");
                    conditions = " where O.Id NOT IN(SELECT Project.idoffer  from project) and (O.iduser='******' and O.Status=0"; //and (OP.StatusPhase=" + statusProject + " "; //Request.QueryString.Get("conditions");
                }
                else
                {
                    conditions = " where O.Id NOT IN(SELECT Project.idoffer  from project) and (OU.iduser='******' and O.Status=0";// and (OP.StatusPhase=" + statusProject + " "; //Request.QueryString.Get("conditions");
                }
            }
            else if (statusProject >= 1)
            {
                if (!useru.Freelance)
                {
                    conditions = " where O.IdUser = '******' and (project.Status = " + statusProject + " OR O.Status=" + statusProject;
                    //conditions = " where O.Id IN(SELECT Project.idoffer  from project) and (O.iduser='******' and project.Status="+ statusProject;
                }
                else
                {
                    //conditions = " where O.IdUser = '******' and project.Status = " + statusProject;
                    conditions = " where O.Id IN(SELECT Project.idoffer  from project where  project.Status=" + statusProject + ") and (OU.iduser='******'"; //Request.QueryString.Get("conditions");
                }
            }
            ///user session bag
            ZonaFl.Business.SubSystems.SProject userp = new Business.SubSystems.SProject();
            var projects = userp.GetProjectsEndedByUser(id);
            List <Models.Project> projetsm = new List <Models.Project>();

            projetsm = projects.Select(e => new Models.Project().InjectFrom(e)).Cast <Models.Project>().ToList();
            projetsm.Select(e => new Models.Project().InjectFrom(usern.GetUserByOffer(e.IdOffer, 1))).Cast <Models.Project>().ToList();

            ViewBag.Commentaries = projetsm;
            int calif = userp.GetCalificationAverageUser(id);

            //calif = 3;
            ViewBag.Calification = calif;



            RegisterBindingModel regbm = new RegisterBindingModel();

            regbm.InjectFrom(useru);
            regbm.Skills            = useru.Skills.Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast <ZonaFl.Models.Skill>().ToList();
            SessionBag.Current.User = regbm;
            ViewBag.IdUser          = id;
            ViewBag.NameUser        = regbm.UserName;
            ViewBag.User            = useru.UserName;
            ViewBag.ImageUser       = useru.Image;
            ViewBag.EmailUserBuyer  = regbm.Email;
            ViewBag.EmailConfirmed  = (useru.EmailConfirmed)? @"verified": @"";
            ViewBag.PagosConfirmed  = (useru.PagosConfirmed) ? @"verified" : @"";
            // ViewBag.MobileConfirmed=
            /////

            string    order = Request.QueryString.Get("order");
            SCategory scat  = new SCategory();
            List <ZonaFl.Persistence.Entities.Category> listcat = scat.FindAll();

            ViewBag.Categories = listcat;
            List <Persistence.Entities.Offer> lista = new List <Persistence.Entities.Offer>();

            if (!regbm.Freelance)
            {
                //if (statusProject == 0)
                //{
                //    conditions += " or OP.StatusPhase =" + 1+")";
                //}
                //else
                //{
                conditions += " )";
                //}
                lista = soffer.GetListPaged(pagenumber, itemsperpage, conditions + ";", order, statusProject);
            }
            else
            {
                conditions += " )";
                lista       = soffer.GetAppliedOfferByUserListPaged(pagenumber, itemsperpage, conditions, order);
            }



            List <Models.Offer> listoffers = lista.Select(e => new Models.Offer().InjectFrom(e)).Cast <Models.Offer>().ToList();
            SProject            spro       = new SProject();

            listoffers.ForEach(e => e.Comments      = spro.GetByOffer(e.Id) != null ? spro.GetByOffer(e.Id).Comments : "");
            listoffers.ForEach(e => e.Qualification = spro.GetByOffer(e.Id) != null ? spro.GetByOffer(e.Id).Qualification : 0);
            if (statusProject == 1)
            {
                listoffers.ForEach(e => e.IsForFinally = spro.IsProjectForFinally(e.Id));
            }


            List <Persistence.Entities.Category> listcategories = lista.Select(e => e.Category).ToList();

            foreach (var offer in lista)
            {
                var offerget = soffer.GetById(offer.Id);
                if (offerget != null)
                {
                    offer.OfferPhases = offerget.OfferPhases.Select(e => new Persistence.Entities.OfferPhases().InjectFrom(e)).Cast <Persistence.Entities.OfferPhases>().ToList();
                }

                listoffers.FirstOrDefault(e => e.Id == offer.Id).OfferPhases = offer.OfferPhases.Where(e => e.IdOffer == offer.Id).ToList().Select(t => new OfferPhase().InjectFrom(t)).Cast <OfferPhase>().ToList();   //new OfferPhase().InjectFrom(e)).Cast<OfferPhase>().ToList();
                //foreach(var of in offer.OfferPhases.Where(e => e.IdOffer == offer.Id).ToList())
                // {
                //     Models.OfferPhase newof = new Models.OfferPhase();
                //     newof.InjectFrom(of);

                //     listoffers.FirstOrDefault(e => e.Id == offer.Id).OfferPhases.Add(newof);
                // }

                if (listoffers.FirstOrDefault(e => e.Id == offer.Id) != null)
                {
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).Category = new Models.Category();//.InjectFrom(offer.Category);
                }
                listoffers.FirstOrDefault(e => e.Id == offer.Id).Category.InjectFrom(offer.Category);
                listoffers.FirstOrDefault(e => e.Id == offer.Id).ContractorCity    = ((RegisterBindingModel)SessionBag.Current.User).City;
                listoffers.FirstOrDefault(e => e.Id == offer.Id).ContractorCountry = ((RegisterBindingModel)SessionBag.Current.User).Country;
                listoffers.FirstOrDefault(e => e.Id == offer.Id).NameContractor    = ((RegisterBindingModel)SessionBag.Current.User).FirstMiddleName;
                listoffers.FirstOrDefault(e => e.Id == offer.Id).NoPostulados      = soffer.GetNoPostuladosByOffer(offer.Id);



                var dateoferfase1 = soffer.GetPhaseInitial(offer.Id);
                if (dateoferfase1 == null)
                {
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).DateIniPhase1 = DateTime.Parse("01/01/1900");
                }
                else
                {
                    ViewBag.InicioEst = dateoferfase1.InitPhase;
                    if (offer.OfferPhases.Count > 0)
                    {
                        var finest = offer.OfferPhases.LastOrDefault(e => e.FinishPhase != null).FinishPhase;
                        ViewBag.FinEst = finest;
                        listoffers.FirstOrDefault(e => e.Id == offer.Id).FinEst = finest;
                    }
                    else
                    {
                        ViewBag.FinEst = dateoferfase1.FinishPhase;
                        listoffers.FirstOrDefault(e => e.Id == offer.Id).FinEst = dateoferfase1.FinishPhase;
                    }
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).DateIniPhase1 = dateoferfase1.InitPhase;
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).InicioEst     = dateoferfase1.InitPhase;
                }
            }


            if (!regbm.Freelance)
            {
                return(View("DetailsForEmployer", listoffers));
            }
            else
            {
                return(View("DetailsForFreelance", listoffers));
            }
        }
Example #27
0
        // GET: Offer

        public ActionResult Index(string id)
        {
            try
            {
                SOffer soffer       = new SOffer();
                int    pagenumber   = 1;  //int.Parse( Request.QueryString.Get("pagenumber"));
                int    itemsperpage = 50; // int.Parse(Request.QueryString.Get("itemsperpage"));
                string conditions   = "";

                ///user session bag
                ZonaFl.Persistence.Entities.AspNetUsers useru = null;
                ZonaFl.Business.SubSystems.SUser        usern = new Business.SubSystems.SUser();
                useru = usern.GetUserById(new Guid(id));
                if (SessionBag.Current.User == null)
                {
                    SessionBag.Current.User = useru;
                }
                if (!useru.Freelance)
                {
                    conditions = " where iduser='******'and(O.Status=0 )"; //Request.QueryString.Get("conditions");
                }
                else
                {
                    conditions = " where OP.StatusPhase<>2 and OP.StatusPhase<>3 and OP.StatusPhase<>4 AND  O.Id NOT IN(SELECT Project.idoffer  from project)"; //Request.QueryString.Get("conditions");
                }

                var skills     = useru.Skills.Where(e => e.CategoryId != null).ToList();
                var categories = skills.GroupBy(n => n.CategoryId).ToList();
                int i          = 0;
                foreach (var cat in categories)
                {
                    if (i == 0)
                    {
                        conditions += " and (O.CategoryId=" + cat.Key;
                    }
                    else
                    {
                        conditions += " or O.CategoryId=" + cat.Key;
                    }
                    i += 1;
                }
                conditions += ")";

                RegisterBindingModel regbm = new RegisterBindingModel();
                regbm.InjectFrom(useru);
                regbm.Skills            = useru.Skills.Select(e => new ZonaFl.Models.Skill().InjectFrom(e)).Cast <ZonaFl.Models.Skill>().ToList();
                SessionBag.Current.User = regbm;
                ViewBag.IdUser          = id;
                ViewBag.User            = useru.UserName;
                ViewBag.ImageUser       = SessionBag.Current.User.Image;
                /////

                string    order = Request.QueryString.Get("order");
                SCategory scat  = new SCategory();
                List <ZonaFl.Persistence.Entities.Category> listcat = scat.FindAll();
                ViewBag.Categories = listcat;
                List <Persistence.Entities.Offer> lista             = soffer.GetListPaged(pagenumber, itemsperpage, conditions, order);
                List <Models.Offer> listoffers                      = lista.Select(e => new Models.Offer().InjectFrom(e)).Cast <Models.Offer>().ToList();
                List <Persistence.Entities.Category> listcategories = lista.Select(e => e.Category).ToList();

                Dictionary <int, string> dicofferexiste = new Dictionary <int, string>();
                int offeruserexist = -1;
                if (TempData["OfferMessage"] != null)
                {
                    dicofferexiste = (Dictionary <int, string>)TempData["OfferMessage"];
                    offeruserexist = dicofferexiste.FirstOrDefault().Key;
                }

                foreach (var offer in lista)
                {
                    var offerget = soffer.GetById(offer.Id);
                    if (offerget != null)
                    {
                        offer.OfferPhases = offerget.OfferPhases.Select(e => new OfferPhases().InjectFrom(e)).Cast <OfferPhases>().ToList();
                    }
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).OfferPhases = offer.OfferPhases.Select(e => new OfferPhase().InjectFrom(e)).Cast <OfferPhase>().ToList();
                    if (listoffers.FirstOrDefault(e => e.Id == offer.Id) != null)
                    {
                        listoffers.FirstOrDefault(e => e.Id == offer.Id).Category = new Models.Category();//.InjectFrom(offer.Category);
                    }
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).Category.InjectFrom(offer.Category);
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).ContractorCity    = ((RegisterBindingModel)SessionBag.Current.User).City;
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).ContractorCountry = ((RegisterBindingModel)SessionBag.Current.User).Country;
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).NameContractor    = ((RegisterBindingModel)SessionBag.Current.User).FirstMiddleName;
                    listoffers.FirstOrDefault(e => e.Id == offer.Id).NoPostulados      = soffer.GetNoPostuladosByOffer(offer.Id);
                    if (offer.Id == offeruserexist)
                    {
                        listoffers.FirstOrDefault(e => e.Id == offer.Id).Applicada = true;
                    }

                    var dateoferfase1 = soffer.GetPhaseInitial(offer.Id);
                    if (dateoferfase1 == null)
                    {
                        listoffers.FirstOrDefault(e => e.Id == offer.Id).DateIniPhase1 = DateTime.Parse("01/01/1900");
                    }
                    else
                    {
                        listoffers.FirstOrDefault(e => e.Id == offer.Id).DateIniPhase1 = dateoferfase1.InitPhase;
                    }
                }
                //listoffers.ForEach(e => e.Category.InjectFrom(listcategories.Where(i => i.Id == e.Id).FirstOrDefault()));
                if (((RegisterBindingModel)SessionBag.Current.User).Freelance)
                {
                    return(View("DetailsForFreelance", listoffers));
                }
                else
                {
                    return(RedirectToAction("Index", "Projects", new { id = SessionBag.Current.User.Id }));
                }
            }
            catch (Exception er)
            {
                Log4NetLogger logger2 = new Log4NetLogger();
                logger2.CurrentUser = SessionBag.Current.User.Id;
                if (Request != null)
                {
                    logger2.Error(er, Request.Path, Request.RawUrl);
                }
                else
                {
                    logger2.Error(er);
                }
            }

            return(RedirectToAction("Index", "Home"));
        }