예제 #1
0
 public ActionResult CreateById(string id)
 {
     Business.SubSystems.SCategory scategory = new Business.SubSystems.SCategory();
     Models.PortFolio porfM = new Models.PortFolio();
     porfM.AspNetUser    = new Models.RegisterBindingModel();
     porfM.AspNetUser.Id = id;
     porfM.UserId        = id;
     porfM.Categories    = scategory.FindAll().Select(e => new Category().InjectFrom(e)).Cast <Category>().ToList();
     ViewBag.IdUser      = id;
     return(View("Create", porfM));
 }
예제 #2
0
        public ActionResult GetPortfolioByUserAnId(string id, string userid)
        {
            ZonaFl.Persistence.Entities.PortFolio portf     = null;
            Business.SubSystems.SCategory         scategory = new Business.SubSystems.SCategory();
            ZonaFl.Business.SubSystems.SPortfolio portF     = new Business.SubSystems.SPortfolio();
            portf = portF.GetPortFolioByUserId(id, userid);
            if (portf == null)
            {
                portf = new Persistence.Entities.PortFolio();
            }
            Models.PortFolio porfM = new Models.PortFolio();
            porfM.InjectFrom(portf);
            var catp = scategory.FindCategoryById(portf.CategoriaId);

            if (catp != null)
            {
                porfM.Categoria = catp.Name;
            }
            return(Json(porfM, JsonRequestBehavior.AllowGet));
        }
예제 #3
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"));
            }
        }
예제 #4
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));
        }
예제 #5
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();
        }
예제 #6
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));
        }