示例#1
0
        public ActionResult NewsDetail(int?id)
        {
            var _newsService     = this.Service <INewsService>();
            var _categoryService = this.Service <ICategoryService>();
            var _followService   = this.Service <IFollowService>();
            var _userService     = this.Service <IAspNetUserService>();
            var _sportService    = this.Service <ISportService>();

            News news = _newsService.GetNewsById(id.Value);

            if (news != null)
            {
                string curUserId = User.Identity.GetUserId();

                _newsService.UpdateNumOfRead(id.Value);
                List <Category> categories = _categoryService.GetActive().ToList();

                NewsViewModel newsVM       = Mapper.Map <NewsViewModel>(news);
                List <News>   relativeNews = _newsService.GetRelativeNews(id.Value);


                var sports = _sportService.GetActive()
                             .Select(s => new SelectListItem
                {
                    Text  = s.Name,
                    Value = s.Id.ToString()
                }).OrderBy(s => s.Value);
                ViewBag.Sport = sports;

                //get list of user that this user is following
                List <Follow> followingList = _followService.GetActive(f => f.FollowerId == curUserId).ToList();
                List <FollowDetailViewModel> followingListVM = Mapper.Map <List <FollowDetailViewModel> >(followingList);
                foreach (var item in followingListVM)
                {
                    AspNetUser          user   = _userService.FirstOrDefaultActive(u => u.Id.Equals(item.UserId));
                    AspNetUserViewModel userVM = Mapper.Map <AspNetUserViewModel>(user);
                    item.User = userVM;
                }
                ViewBag.followingList = followingListVM;

                //load group name
                var          _groupService = this.Service <IGroupService>();
                List <Group> groupList     = _groupService.GetActive(p => p.GroupMembers.Where(f =>
                                                                                               f.UserId == curUserId && f.Status == (int)GroupMemberStatus.Approved).ToList().Count > 0).ToList();
                if (groupList != null)
                {
                    ViewBag.GroupList = groupList;
                }

                ViewBag.categories   = categories;
                ViewBag.relativeNews = relativeNews;

                return(View(newsVM));
            }
            else
            {
                return(RedirectToAction("PageNotFound", "Errors"));
            }
        }
        private AspNetUserViewModel BuildAspNetUserViewModel(ApplicationUser AspNetUser, List <ApplicationUser> AspNetUsers)
        {
            var AspNetUserViewModel = new AspNetUserViewModel();

            AspNetUserViewModel.AspNetUserEditModel = AspNetUser == null
                ? new AspNetUserEditModel()
                : BuildAspNetUserEditModel(AspNetUser);
            return(AspNetUserViewModel);
        }
示例#3
0
        public static AspNetUserViewModel MToVM(AspNetUser model)
        {
            var temp = new AspNetUserViewModel()
            {
                ID       = model.Id,
                Email    = model.Email,
                UserName = model.UserName,
                IsOnline = false
            };

            return(temp);
        }
        public async Task <JsonResult> Create(AspNetUserViewModel collection)
        {
            try
            {   //Demo-Implementing Permission
                //We aresending three parameter to check the permission
                //GroupID-This is coming from session object(collection)
                //Menu Code: From constants file MenuCodePermissionConstants.each action have its menu code.
                //PERMISSION: from constant file MenuCodePermissionConstants. each permission have name same as database permission name.

                bool isValid = await objCommoWebLib.IsValidPermission(Convert.ToInt32(collection.UserGroup), MenuCodePermissionConstants.USER_CREATION_ADDUSER_MENUCODE, MenuCodePermissionConstants.PERMISSION_ADD);

                if (isValid)
                {
                    HttpCustomResponse <bool> isUserCreated = await service.IsUserCreated(collection.StuStaff_ID.Value, collection.StuStaffTypeId);

                    if (!isUserCreated.data && collection.StuStaff_ID.Value > 0)
                    {
                        Guid gdnewKey = Guid.NewGuid();
                        collection.Id            = gdnewKey.ToString();
                        collection.SchoolGroupId = Convert.ToInt32(ConfigurationManager.AppSettings["GroupID"]);
                        var stringContent = new StringContent(JsonConvert.SerializeObject(collection).ToString(), Encoding.UTF8, "application/json");
                        var status        = await service.Save(stringContent);

                        return(new JsonResult {
                            Data = status
                        });
                    }
                    else
                    {
                        return(new JsonResult {
                            Data = new HttpCustomResponse <bool>(new Exception("User already exists."))
                        });
                    }
                    //old return new JsonResult { Data = new { status = status, IsSaved = true, Message = "Successfully Saved." } };
                }
                else
                {
                    return(new JsonResult {
                        Data = new HttpCustomResponse <bool>(new Exception("You don't have sufficient permission to this action."))
                    });
                    //old return new JsonResult { Data = new { status = true, IsSaved = false, Message = "You don't have sufficient permission to this action." } };
                }
            }
            catch (Exception ex)
            {
                /*old return new JsonResult { Data = new { status = false } };*/
                return(new JsonResult {
                    Data = new HttpCustomResponse <bool>(ex)
                });
            }
        }
        public async Task <JsonResult> Edit(AspNetUserViewModel collection)
        {
            try
            {
                //Demo-Implementing Permission
                //We aresending three parameter to check the permission
                //GroupID-This is coming from session object(collection)
                //Menu Code: From constants file MenuCodePermissionConstants.each action have its menu code.
                //PERMISSION: from constant file MenuCodePermissionConstants. each permission have name same as database permission name.
                bool isValid = await objCommoWebLib.IsValidPermission(Convert.ToInt32(collection.GroupID), MenuCodePermissionConstants.USER_CREATION_ADDUSER_MENUCODE, MenuCodePermissionConstants.PERMISSION_UPDATE);

                if (isValid)
                {
                    int cUserId = Convert.ToInt32(collection.CUserId);
                    var record  = await service.GetById(cUserId);

                    record.Email            = collection.Email;
                    record.Password         = collection.Password;
                    record.ConfirmPassword  = collection.ConfirmPassword;
                    record.PhoneNumber      = collection.PhoneNumber;
                    record.UserName         = collection.UserName;
                    record.FirstName        = collection.FirstName;
                    record.LastName         = collection.LastName;
                    record.UserGroupId      = collection.UserGroupId;
                    record.StuStaffTypeId   = collection.StuStaffTypeId;
                    record.ModifiedBy_ID    = collection.ModifiedBy_ID;
                    collection.ModifiedDate = DateTime.Now;
                    var stringContent = new StringContent(JsonConvert.SerializeObject(record).ToString(), Encoding.UTF8, "application/json");
                    var status        = await service.Update(stringContent);

                    return(new JsonResult {
                        Data = new { status = status, IsSaved = true, Message = "Successfully Saved." }
                    });
                }
                else
                {
                    return(new JsonResult {
                        Data = new { status = true, IsSaved = false, Message = "You don't have sufficient permission to this action." }
                    });
                }
            }
            catch (Exception ex)
            {
                return(new JsonResult {
                    Data = new { status = true, IsSaved = false, Message = "Error." }
                });
            }
        }
示例#6
0
        public ActionResult UpdateProfile(AspNetUserViewModel model)
        {
            var service = this.Service <IAspNetUserService>();

            AspNetUser user = null;

            ResponseModel <AspNetUserOveralViewModel> response = null;

            List <String> errorList = new List <string>();

            try
            {
                user = service.FindUser(model.Id);

                if (user != null)
                {
                    AspNetUser userInfo = Mapper.Map <AspNetUser>(model);
                    if (ValidateUserInfo(errorList, userInfo))
                    {
                        user = service.UpdateUser(userInfo);

                        AspNetUserOveralViewModel result = PrepareAspNetUserOveralViewModel(user);

                        response = new ResponseModel <AspNetUserOveralViewModel>(true, "Thông tin của bạn đã được cập nhật!", null, result);
                    }
                    else
                    {
                        response = new ResponseModel <AspNetUserOveralViewModel>(false, "Thông tin của bạn chưa được cập nhật!", errorList);
                    }
                }
                else
                {
                    response = ResponseModel <AspNetUserOveralViewModel> .CreateErrorResponse("Thông tin của bạn chưa được cập nhật!", systemError);
                }
            }
            catch (Exception)
            {
                response = ResponseModel <AspNetUserOveralViewModel> .CreateErrorResponse("Thông tin của bạn chưa được cập nhật!", systemError);
            }

            return(Json(response));
        }
示例#7
0
        // GET: PlaceOwner/Event
        public ActionResult Index()
        {
            var _sportService  = this.Service <ISportService>();
            var _followService = this.Service <IFollowService>();
            var _userService   = this.Service <IAspNetUserService>();

            string curUserId = User.Identity.GetUserId();
            //get sport list for post
            var sports = _sportService.GetActive()
                         .Select(s => new SelectListItem
            {
                Text  = s.Name,
                Value = s.Id.ToString()
            }).OrderBy(s => s.Value);

            ViewBag.Sport = sports;

            //get list of user that this user is following
            List <Follow> followingList = _followService.GetActive(f => f.FollowerId == curUserId).ToList();
            List <FollowDetailViewModel> followingListVM = Mapper.Map <List <FollowDetailViewModel> >(followingList);

            foreach (var item in followingListVM)
            {
                AspNetUser          user   = _userService.FirstOrDefaultActive(u => u.Id.Equals(item.UserId));
                AspNetUserViewModel userVM = Mapper.Map <AspNetUserViewModel>(user);
                item.User = userVM;
            }
            ViewBag.followingList = followingListVM;

            //load group name
            var          _groupService = this.Service <IGroupService>();
            List <Group> groupList     = _groupService.GetActive(p => p.GroupMembers.Where(f =>
                                                                                           f.UserId == curUserId && f.Status == (int)GroupMemberStatus.Approved).ToList().Count > 0).ToList();

            if (groupList != null)
            {
                ViewBag.GroupList = groupList;
            }

            return(View());
        }
        public async Task <JsonResult> Create(AspNetUserViewModel collection)
        {
            try
            {   //Demo-Implementing Permission
                //We aresending three parameter to check the permission
                //GroupID-This is coming from session object(collection)
                //Menu Code: From constants file MenuCodePermissionConstants.each action have its menu code.
                //PERMISSION: from constant file MenuCodePermissionConstants. each permission have name same as database permission name.

                bool isValid = await objCommoWebLib.IsValidPermission(Convert.ToInt32(collection.GroupID), MenuCodePermissionConstants.USER_CREATION_ADDUSER_MENUCODE, MenuCodePermissionConstants.PERMISSION_ADD);

                if (isValid)
                {
                    Guid gdnewKey = Guid.NewGuid();
                    collection.Id          = gdnewKey.ToString();
                    collection.CreatedDate = DateTime.Now;

                    // var token = Request.Headers["Authorization"];
                    var stringContent = new StringContent(JsonConvert.SerializeObject(collection).ToString(), Encoding.UTF8, "application/json");
                    var status        = await service.Save(stringContent);

                    return(new JsonResult {
                        Data = new { status = status, IsSaved = true, Message = "Successfully Saved." }
                    });
                }
                else
                {
                    return(new JsonResult {
                        Data = new { status = true, IsSaved = false, Message = "You don't have sufficient permission to this action." }
                    });
                }
            }
            catch (Exception ex)
            {
                return(new JsonResult {
                    Data = new { status = false }
                });
            }
        }
        public ActionResult Index()
        {
            var _sportService = this.Service <ISportService>();
            var sports        = _sportService.GetActive()
                                .Select(s => new SelectListItem
            {
                Text  = s.Name,
                Value = s.Id.ToString()
            }).OrderBy(s => s.Value);

            ViewBag.Sport = sports;
            var        _userService = this.Service <IAspNetUserService>();
            var        userId       = User.Identity.GetUserId();
            AspNetUser curUser      = _userService.FirstOrDefaultActive(p => p.Id == userId);

            if (curUser == null)
            {
                return(RedirectToAction("PageNotFound", "Errors"));
            }
            else
            {
                AspNetUserFullInfoViewModel cu = Mapper.Map <AspNetUserFullInfoViewModel>(curUser);
                this.PrepareUserInfo(cu);
                ViewBag.User = cu;
            }

            //suggest news
            var         _newsService = this.Service <INewsService>();
            List <News> newsList     = new List <News>();

            foreach (var hobby in curUser.Hobbies)
            {
                List <News> list = _newsService.GetActive(p => p.Category.CategorySports.Where(f =>
                                                                                               f.SportId == hobby.SportId).ToList().Count > 0).ToList();
                newsList.AddRange(list);
            }

            if (newsList.Count == 0)
            {
                newsList = _newsService.GetActive().ToList();
            }
            if (newsList != null)
            {
                ViewBag.SuggestNews = newsList.FirstOrDefault();
            }

            //load group name
            var          _groupService = this.Service <IGroupService>();
            List <Group> groupList     = _groupService.GetActive(p => p.GroupMembers.Where(f =>
                                                                                           f.UserId == userId && f.Status == (int)GroupMemberStatus.Approved).ToList().Count > 0).ToList();

            if (groupList != null)
            {
                ViewBag.GroupList = groupList;
            }


            //suggest follower
            List <FollowSuggestViewModel> userList = new List <FollowSuggestViewModel>();
            var  Coord       = new GeoCoordinate();
            bool checkNearBy = false;

            if (curUser.Longitude != null && curUser.Latitude != null)
            {
                Coord       = new GeoCoordinate(curUser.Latitude.Value, curUser.Longitude.Value);
                checkNearBy = true;
            }
            var users = _userService.GetActive(p => p.Id != userId && p.AspNetRoles.Where(k =>
                                                                                          k.Name != "Quản trị viên" && k.Name != "Moderator").ToList().Count > 0 &&
                                               p.Follows.Where(f => f.Active == true && (f.FollowerId == userId)).ToList().Count == 0).ToList();

            foreach (var user in users)
            {
                FollowSuggestViewModel model = Mapper.Map <FollowSuggestViewModel>(user);
                model.weight = 0;
                foreach (var follow in user.Follows)
                {
                    if (follow.UserId == curUser.Id)
                    {
                        model.weight += 1;
                        break;
                    }
                }

                if (checkNearBy && (user.Longitude != null && user.Latitude != null))
                {
                    var userCoord = new GeoCoordinate(user.Latitude.Value, user.Longitude.Value);
                    var dis       = Coord.GetDistanceTo(userCoord);
                    if (Coord.GetDistanceTo(userCoord) < 5000)
                    {
                        model.weight += 2;
                    }
                }

                int hobbyCount = 1;
                foreach (var hobby in user.Hobbies)
                {
                    foreach (var curHobby in curUser.Hobbies)
                    {
                        if (hobby.SportId == curHobby.SportId)
                        {
                            model.weight    = model.weight + hobbyCount * 3;
                            model.sameSport = hobbyCount;
                            hobbyCount++;
                        }
                    }
                }
                userList.Add(model);
            }
            List <FollowSuggestViewModel> suggestUserList = userList.OrderByDescending(p => p.weight).Take(10).ToList();

            if (suggestUserList != null)
            {
                ViewBag.suggestUserList = suggestUserList;
            }

            //load follow numbers
            var _followService = this.Service <IFollowService>();
            var _postService   = this.Service <IPostService>();

            ViewBag.Following = _followService.GetActive(p => p.FollowerId == curUser.Id).Count();
            ViewBag.Follower  = _followService.GetActive(p => p.UserId == curUser.Id).Count();
            ViewBag.PostCount = _postService.GetActive(p => p.UserId == curUser.Id).Count();

            //get list of user that this user is following
            List <Follow> followingList = _followService.GetActive(f => f.FollowerId == curUser.Id).ToList();
            List <FollowDetailViewModel> followingListVM = Mapper.Map <List <FollowDetailViewModel> >(followingList);

            foreach (var item in followingListVM)
            {
                AspNetUser          user   = _userService.FirstOrDefaultActive(u => u.Id.Equals(item.UserId));
                AspNetUserViewModel userVM = Mapper.Map <AspNetUserViewModel>(user);
                item.User = userVM;
            }
            ViewBag.followingList = followingListVM;
            return(View());
        }
示例#10
0
        public ActionResult Edit(PeopleViewForCreate peoplecreate)
        {
            Logger.Debug("Inside Place Controller- Create Http Post");
            try
            {
                if (Session["OrganizationGUID"] != null)
                {
                    TempData["TabName"] = "Contacts";
                    ViewBag.ContactName = !string.IsNullOrEmpty(peoplecreate.PeopleModel.FirstName) ? peoplecreate.PeopleModel.FirstName.ToString() : _IPeopleRepository.GetPeopleByID(new Guid(peoplecreate.PeopleModel.PeopleGUID)).FirstName;
                    if (ModelState.IsValid)
                    {
                        PeopleModel people = new PeopleModel();
                        people = peoplecreate.PeopleModel;
                        Person People = new Person();
                        People.PeopleGUID = new Guid(people.PeopleGUID);
                        People.UserGUID   = new Guid(people.UserGUID.ToString());

                        if (!string.IsNullOrEmpty(people.OrganizationGUID) && people.OrganizationGUID != Guid.Empty.ToString())
                        {
                            People.OrganizationGUID = new Guid(people.OrganizationGUID.ToString());
                        }
                        else
                        {
                            People.OrganizationGUID = null;
                        }
                        People.IsPrimaryContact = true;
                        if (!string.IsNullOrEmpty(people.PlaceGUID) && people.PlaceGUID != Guid.Empty.ToString())
                        {
                            People.PlaceGUID = new Guid(people.PlaceGUID.ToString());
                        }
                        else
                        {
                            People.PlaceGUID = null;
                        }
                        //People.OrganizationGUID = new Guid(people.OrganizationGUID.ToString());
                        //People.IsPrimaryContact = true;
                        //People.PlaceGUID = new Guid(people.PlaceGUID.ToString());

                        People.FirstName     = people.FirstName;
                        People.LastName      = people.LastName;
                        People.MobilePhone   = people.MobilePhone;
                        People.CompanyName   = people.CompanyName;
                        People.BusinessPhone = people.BusinessPhone;
                        People.HomePhone     = people.HomePhone;
                        People.Emails        = people.Emails;
                        People.AddressLine1  = people.AddressLine1;
                        People.AddressLine2  = people.AddressLine2;
                        People.City          = people.City;
                        People.State         = people.State;
                        People.Country       = people.Country;
                        People.ZipCode       = people.ZipCode;
                        People.CategoryID    = 0;
                        People.IsDeleted     = false;
                        People.UpdatedDate   = DateTime.UtcNow;


                        int peopleInsertResult = _IPeopleRepository.UpdatePeople(People);
                        // int peopleInsertResult = _IPeopleRepository.Save();
                        if (peopleInsertResult > 0)
                        {
                            return(RedirectToAction("Index", "CustomerView", new { id = "Contacts", customerid = People.PlaceGUID.ToString() }));
                        }
                        else
                        {
                            return(View(peoplecreate));
                        }
                    }
                    else
                    {
                        var userList = new AspNetUserViewModel();
                        userList.Users = new List <AspUser>();
                        var appUser = _IUserProfileRepository.GetUserProfilesbyOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).OrderBy(sort => sort.FirstName).ToList();
                        //if (string.IsNullOrEmpty(id))
                        {
                            userList.Users.Add(new AspUser {
                                FirstName = "All", LastName = "", UserGUID = Guid.Empty.ToString(), OrganizationGUID = ""
                            });
                            foreach (var user in appUser.ToList())
                            {
                                userList.Users.Add(new AspUser {
                                    FirstName = user.FirstName, LastName = user.LastName, UserGUID = user.UserGUID.ToString()
                                });
                            }
                        }

                        var placeList = new PlaceViewModel();
                        placeList.PlaceList = new List <PlaceModel>();
                        var appPlace = new List <Place>();

                        appPlace = _IPlaceRepository.GetPlaceByOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).ToList();
                        foreach (var place in appPlace.ToList())
                        {
                            placeList.PlaceList.Add(new PlaceModel
                            {
                                PlaceGUID        = place.PlaceGUID.ToString(),
                                PlaceID          = place.PlaceID,
                                PlaceName        = place.PlaceName,
                                PlacePhone       = place.PlacePhone,
                                FirstName        = place.FirstName,
                                LastName         = place.LastName,
                                UserGUID         = place.UserGUID.ToString(),
                                OrganizationGUID = place.OrganizationGUID != null ? place.OrganizationGUID.ToString() : Guid.Empty.ToString(),
                                MobilePhone      = place.MobilePhone,
                                HomePhone        = place.HomePhone,
                                Emails           = place.Emails,
                                TimeZone         = place.TimeZone,
                                AddressLine1     = place.AddressLine1,
                                AddressLine2     = place.AddressLine2,
                                City             = place.City,
                                State            = place.State,
                                Country          = place.Country,
                                ZipCode          = place.ZipCode
                            });
                        }
                        var placeviewModel = new PlaceViewModel();
                        placeviewModel.Place = placeList.PlaceList.AsEnumerable();
                        placeviewModel.User  = userList.Users.AsEnumerable();

                        var PeopleViewForCreate = new PeopleViewForCreate();
                        PeopleViewForCreate.PlaceViewModel = placeviewModel;
                        PeopleViewForCreate.PeopleModel    = peoplecreate.PeopleModel;
                        return(View(PeopleViewForCreate));
                    }
                }
                else
                {
                    return(RedirectToAction("SessionTimeOut", "User"));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(RedirectToAction("Login", "User"));
            }
        }
示例#11
0
        public ActionResult Edit(string id = "", string peopleguid = "")
        {
            Logger.Debug("Inside People Controller- Create");
            try
            {
                if (Session["OrganizationGUID"] != null)
                {
                    TempData["TabName"] = "Contacts";
                    Person      EditPeople = _IPeopleRepository.GetPeopleByID(new Guid(peopleguid));
                    PeopleModel people     = new PeopleModel();
                    if (EditPeople != null)
                    {
                        ViewBag.ContactName     = EditPeople.FirstName;
                        people.PeopleGUID       = EditPeople.PeopleGUID.ToString();
                        people.UserGUID         = EditPeople.UserGUID.ToString();
                        people.OrganizationGUID = EditPeople.OrganizationGUID != null?EditPeople.OrganizationGUID.ToString() : Guid.Empty.ToString();

                        people.IsPrimaryContact = Convert.ToBoolean(EditPeople.IsPrimaryContact);
                        people.PlaceGUID        = EditPeople.PlaceGUID != null?EditPeople.PlaceGUID.ToString() : Guid.Empty.ToString();

                        people.FirstName = EditPeople.FirstName;

                        people.LastName      = EditPeople.LastName;
                        people.MobilePhone   = EditPeople.MobilePhone;
                        people.CompanyName   = EditPeople.CompanyName;
                        people.BusinessPhone = EditPeople.BusinessPhone;
                        people.HomePhone     = EditPeople.HomePhone;
                        people.Emails        = EditPeople.Emails;
                        people.AddressLine1  = EditPeople.AddressLine1;
                        people.AddressLine2  = EditPeople.AddressLine2;
                        people.City          = EditPeople.City;
                        people.State         = EditPeople.State;
                        people.Country       = EditPeople.Country;
                        people.ZipCode       = EditPeople.ZipCode;
                    }
                    var userList = new AspNetUserViewModel();
                    userList.Users = new List <AspUser>();
                    var appUser = _IUserProfileRepository.GetUserProfilesbyOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).OrderBy(sort => sort.FirstName).ToList();
                    //if (string.IsNullOrEmpty(id))
                    {
                        userList.Users.Add(new AspUser {
                            FirstName = "All", LastName = "", UserGUID = Guid.Empty.ToString(), OrganizationGUID = ""
                        });
                        foreach (var user in appUser.ToList())
                        {
                            userList.Users.Add(new AspUser {
                                FirstName = user.FirstName, LastName = user.LastName, UserGUID = user.UserGUID.ToString()
                            });
                        }
                    }

                    var placeList = new PlaceViewModel();
                    placeList.PlaceList = new List <PlaceModel>();
                    var appPlace = new List <Place>();
                    if (string.IsNullOrEmpty(id) || Guid.Empty == new Guid(id))
                    {
                        appPlace = _IPlaceRepository.GetPlaceByOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).ToList();
                        if (!string.IsNullOrEmpty(id) && Guid.Empty == new Guid(id))
                        {
                            ViewBag.UserID = Guid.Empty.ToString();
                        }
                    }
                    else
                    {
                        appPlace       = _IPlaceRepository.GetPlaceByUserGUID(new Guid(id)).ToList();
                        ViewBag.UserID = id;
                    }
                    foreach (var place in appPlace.ToList())
                    {
                        placeList.PlaceList.Add(new PlaceModel
                        {
                            PlaceGUID        = place.PlaceGUID.ToString(),
                            PlaceID          = place.PlaceID,
                            PlaceName        = place.PlaceName,
                            PlacePhone       = place.PlacePhone,
                            FirstName        = place.FirstName,
                            LastName         = place.LastName,
                            UserGUID         = place.UserGUID.ToString(),
                            OrganizationGUID = place.OrganizationGUID != null ? place.OrganizationGUID.ToString() : Guid.Empty.ToString(),
                            MobilePhone      = place.MobilePhone,
                            HomePhone        = place.HomePhone,
                            Emails           = place.Emails,
                            TimeZone         = place.TimeZone,
                            AddressLine1     = place.AddressLine1,
                            AddressLine2     = place.AddressLine2,
                            City             = place.City,
                            State            = place.State,
                            Country          = place.Country,
                            ZipCode          = place.ZipCode
                        });
                    }
                    var placeviewModel = new PlaceViewModel();
                    placeviewModel.Place = placeList.PlaceList.AsEnumerable();
                    placeviewModel.User  = userList.Users.AsEnumerable();

                    var PeopleViewForCreate = new PeopleViewForCreate();
                    PeopleViewForCreate.PlaceViewModel = placeviewModel;
                    PeopleViewForCreate.PeopleModel    = people;
                    return(View(PeopleViewForCreate));
                }
                else
                {
                    return(RedirectToAction("SessionTimeOut", "User"));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(RedirectToAction("Login", "User"));
            }
        }
示例#12
0
        // GET: Profile
        public ActionResult Index(string userId)
        {
            var     _userService   = this.Service <IAspNetUserService>();
            var     _sportService  = this.Service <ISportService>();
            var     _followService = this.Service <IFollowService>();
            var     _groupService  = this.Service <IGroupService>();
            Country vietnam        = AddressUtil.GetINSTANCE().GetCountry(Server.MapPath(AddressUtil.PATH));
            var     province       = vietnam.VietNamese.ToList();
            IEnumerable <SelectListItem> provinceList = province.Select(m => new SelectListItem
            {
                Text  = m.Type + " " + m.Name,
                Value = m.Type + " " + m.Name
            }).OrderBy(s => s.Value).ToArray();

            ViewBag.ProvinceList = provinceList;

            AspNetUser user = _userService.FirstOrDefaultActive(u => u.Id.Equals(userId));

            if (user == null)
            {
                return(RedirectToAction("PageNotFound", "Errors"));
            }
            AspNetUserFullInfoViewModel model = Mapper.Map <AspNetUserFullInfoViewModel>(user);

            this.PrepareUserInfo(model);

            //suggest follower
            List <FollowSuggestViewModel> userList = new List <FollowSuggestViewModel>();
            var  Coord       = new GeoCoordinate();
            bool checkNearBy = false;

            if (user.Longitude != null && user.Latitude != null)
            {
                Coord       = new GeoCoordinate(user.Latitude.Value, user.Longitude.Value);
                checkNearBy = true;
            }
            var users = _userService.GetActive(p => p.Id != userId && p.Follows.Where(f => f.Active == true && (f.FollowerId == userId)).ToList().Count == 0).ToList();

            foreach (var item in users)
            {
                FollowSuggestViewModel followsug = Mapper.Map <FollowSuggestViewModel>(item);
                followsug.weight = 0;
                foreach (var follow in item.Follows)
                {
                    if (follow.UserId == user.Id)
                    {
                        followsug.weight += 1;
                        break;
                    }
                }

                if (checkNearBy && (item.Longitude != null && item.Latitude != null))
                {
                    var userCoord = new GeoCoordinate(item.Latitude.Value, item.Longitude.Value);
                    var dis       = Coord.GetDistanceTo(userCoord);
                    if (Coord.GetDistanceTo(userCoord) < 5000)
                    {
                        followsug.weight += 2;
                    }
                }

                int hobbyCount = 1;
                foreach (var hobby in user.Hobbies)
                {
                    foreach (var curHobby in user.Hobbies)
                    {
                        if (hobby.SportId == curHobby.SportId)
                        {
                            followsug.weight    = followsug.weight + hobbyCount * 3;
                            followsug.sameSport = hobbyCount;
                            hobbyCount++;
                        }
                    }
                }
                userList.Add(followsug);
            }
            List <FollowSuggestViewModel> suggestUserList = userList.OrderByDescending(p => p.weight).Take(10).ToList();

            if (suggestUserList != null)
            {
                ViewBag.suggestUserList = suggestUserList;
            }

            //get sport list for post
            var sports = _sportService.GetActive()
                         .Select(s => new SelectListItem
            {
                Text  = s.Name,
                Value = s.Id.ToString()
            }).OrderBy(s => s.Value);

            ViewBag.Sport = sports;

            //get all image of user
            ViewBag.userPostImages = this.GetAllPostImageOfUser(userId, 0, 12).ToList();

            //get all people that this user follow
            List <Follow>     following      = _followService.GetFollowingList(userId).ToList();
            List <AspNetUser> followingUsers = new List <AspNetUser>();

            foreach (var item in following)
            {
                AspNetUser us = _userService.FirstOrDefaultActive(u => u.Id == item.UserId);
                followingUsers.Add(us);
            }
            ViewBag.followingUsers = followingUsers;

            //get list group that this user joined
            List <Group> groupList = _groupService.GetActive(p => p.GroupMembers.Where(f =>
                                                                                       f.UserId == userId && f.Status == (int)GroupMemberStatus.Approved).ToList().Count > 0).ToList();

            if (groupList != null)
            {
                ViewBag.GroupList = groupList;
            }
            IEnumerable <SelectListItem> districtList = new List <SelectListItem>();

            if (model.City != null && model.City != "")
            {
                province = vietnam.VietNamese.Where(p => model.City.Equals(p.Type + " " + p.Name)).ToList();
                if (province != null && province.Count > 0)
                {
                    var district = province.First().Districts.ToList();
                    districtList = district.Select(m => new SelectListItem
                    {
                        Text  = m.Type + " " + m.Name,
                        Value = m.Type + " " + m.Name
                    }).OrderBy(s => s.Value).ToArray();
                }
            }
            ViewBag.DistrictList = districtList;

            string curUserId = User.Identity.GetUserId();
            //get list of user that this user is following
            List <Follow> followingList = _followService.GetActive(f => f.FollowerId == curUserId).ToList();
            List <FollowDetailViewModel> followingListVM = Mapper.Map <List <FollowDetailViewModel> >(followingList);

            foreach (var item in followingListVM)
            {
                AspNetUser          ur     = _userService.FirstOrDefaultActive(u => u.Id.Equals(item.UserId));
                AspNetUserViewModel userVM = Mapper.Map <AspNetUserViewModel>(ur);
                item.User = userVM;
            }
            ViewBag.followingList = followingListVM;

            IEnumerable <SelectListItem> wardList = new List <SelectListItem>();

            if (model.District != null && model.District != "")
            {
                province = vietnam.VietNamese.Where(p => model.City.Equals(p.Type + " " + p.Name) && p.Districts.Where(f =>
                                                                                                                       model.District.Equals(f.Type + " " + f.Name)).ToList().Count > 0).ToList();
                if (province != null && province.Count > 0)
                {
                    var districts = province.First().Districts.Where(p => model.District.Equals(p.Type + " " + p.Name)).ToList();
                    if (districts != null && districts.Count > 0)
                    {
                        var ward = districts.First().Wards.ToList();
                        wardList = ward.Select(m => new SelectListItem
                        {
                            Text  = m.Type + " " + m.Name,
                            Value = m.Type + " " + m.Name
                        }).OrderBy(s => s.Value).ToArray();
                    }
                }
            }
            ViewBag.WardList = wardList;
            return(View(model));
        }
示例#13
0
        //public UserController(WorkersInMotionJobContext context)
        //{
        // //   this._IJobRepository = new JobRepository(context);
        //}

        #endregion
        public ActionResult Index(string id = "", string regionguid = "", string selection = "")
        {
            Logger.Debug("Inside User Controller- Index");
            try
            {
                if (Session["OrganizationGUID"] != null)
                {
                    if (!string.IsNullOrEmpty(id))
                    {
                        TempData["TabName"] = id;
                    }
                    else
                    {
                        TempData["TabName"] = "Details";
                    }
                    mycompany pmycompany = new mycompany();
                    pmycompany.OrganizationEditView = new OrganizationEditView();
                    pmycompany.AspNetUserViewModel  = new AspNetUserViewModel();
                    pmycompany.TerritoryViewModel   = new TerritoryViewModel();
                    pmycompany.RegionViewModel      = new RegionViewModel();


                    //switch (id)
                    //{
                    //    case "Users":
                    //        ViewBag.TabName = "Users";
                    var userList = new AspNetUserViewModel();
                    userList.Users = new List <AspUser>();
                    var appUser = new List <UserProfile>();

                    appUser = _IUserProfileRepository.GetUserProfilesbyOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).OrderBy(sort => sort.FirstName).ToList();

                    foreach (var user in appUser.ToList())
                    {
                        UserSubscription userSubscription = _IUserSubscriptionRepository.GetUserSubscriptionByUserID(user.UserGUID);
                        GlobalUser       _globalUser      = _IGlobalUserRepository.GetGlobalUserByID(user.UserGUID);
                        string           Regionname       = string.Empty;
                        string           Territoryname    = string.Empty;
                        string           Groupname        = string.Empty;
                        string           userType         = string.Empty;
                        if (_globalUser != null)
                        {
                            OrganizationUsersMap _orgUserMap = _IOrganizationRepository.GetOrganizationUserMapByUserGUID(user.UserGUID);

                            if (_orgUserMap != null && _orgUserMap.RegionGUID != null)
                            {
                                Regionname = _IRegionRepository.GetRegionNameByRegionGUID(new Guid(_orgUserMap.RegionGUID.ToString()));
                            }
                            else
                            {
                                Regionname = "";
                            }
                            if (_orgUserMap != null && _orgUserMap.TerritoryGUID != null)
                            {
                                Territoryname = _ITerritoryRepository.GetTerritoryNameByTerritoryGUID(new Guid(_orgUserMap.TerritoryGUID.ToString()));
                            }
                            else
                            {
                                Territoryname = "";
                            }


                            // Groupname = _IGroupRepository.GetGroupNameByGroupGUID(new Guid(_globalUser.GroupGUID.ToString()));
                            userType = _IGlobalUserRepository.GetUserTypeByRoleID(_globalUser.Role_Id);
                        }
                        string UserTypeName = _IGlobalUserRepository.GetUserRoleName(user.UserGUID);

                        if (userSubscription != null)
                        {
                            userList.Users.Add(new AspUser {
                                UserTypeName = UserTypeName, RegionName = Regionname, TerritoryName = Territoryname, GroupName = Groupname, OrganizationSubscriptionGUID = userSubscription.OrganizationSubscriptionGUID.ToString(), UserType = userType, IsActive = userSubscription.IsActive, SubscriptionGUID = userSubscription.UserSubscriptionGUID.ToString(), FirstName = user.FirstName, LastName = user.LastName, Id = user.UserGUID.ToString(), EmailID = user.EmailID, MobilePhone = user.MobilePhone, City = user.City, State = user.State, Country = user.Country
                            });
                        }
                    }

                    OrganizationSubscription orgSubscription = new OrganizationSubscription();
                    if (Session["UserType"] != null && Session["UserType"].ToString() != "WIM_A")
                    {
                        orgSubscription = _IOrganizationSubscriptionRepository.GetOrganizationSubscriptionByOrgID(new Guid(Session["OrganizationGUID"].ToString()));
                        if (orgSubscription != null)
                        {
                            ViewBag.EnableCreateUserButton = "true";
                        }
                        else
                        {
                            ViewBag.EnableCreateUserButton = "false";
                        }
                        //if (orgSubscription != null && orgSubscription.SubscriptionPurchased > orgSubscription.SubscriptionConsumed)
                        //{
                        //    ViewBag.EnableCreateUserButton = "true";
                        //}
                        //else
                        //{
                        //    ViewBag.EnableCreateUserButton = "false";
                        //}
                    }
                    else
                    {
                        ViewBag.EnableCreateUserButton = "false";
                    }
                    pmycompany.AspNetUserViewModel = userList;
                    //    break;
                    //case "Region":
                    //    ViewBag.TabName = "Regions";
                    var territoryList = new TerritoryViewModel();
                    territoryList.Territory = new List <TerritoryModel>();
                    List <Territory> appTerritory = new List <Territory>();
                    if (!string.IsNullOrEmpty(regionguid) && regionguid != Guid.Empty.ToString())
                    {
                        appTerritory         = _ITerritoryRepository.GetTerritoryByRegionGUID(new Guid(regionguid)).ToList();
                        TempData["TabName"]  = "Markets";
                        ViewBag.AddTerritory = "true";
                        ViewBag.Id           = regionguid;
                    }
                    else
                    {
                        appTerritory = _ITerritoryRepository.GetTerritoryByOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).ToList();
                    }
                    foreach (var territory in appTerritory.ToList())
                    {
                        territoryList.Territory.Add(new TerritoryModel {
                            Name = territory.Name, TerritoryGUID = territory.TerritoryGUID.ToString(), RegionGUID = territory.RegionGUID != null ? territory.RegionGUID.ToString() : Guid.Empty.ToString(), Description = territory.Description, OrganizationGUID = territory.OrganizationGUID != null ? territory.OrganizationGUID.ToString() : Guid.Empty.ToString()
                        });
                    }
                    StringBuilder sb = new StringBuilder();
                    sb.Append("<div class='actions'>");
                    sb.Append("<div class='btn-group'>");
                    if (!string.IsNullOrEmpty(regionguid) && regionguid != Guid.Empty.ToString())
                    {
                        sb.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i> " + _IRegionRepository.GetRegionNameByRegionGUID(new Guid(regionguid)) + " <i class='icon-angle-down'></i></a>");
                    }
                    else
                    {
                        if (!string.IsNullOrEmpty(selection) && selection == "All")
                        {
                            sb.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i>All<i class='icon-angle-down'></i></a>");
                        }
                        else
                        {
                            sb.Append("<a href='#' id='ulaworkergroup' class='btn green' data-toggle='dropdown'><i class='icon-map-marker'></i> Select Region <i class='icon-angle-down'></i></a>");
                        }
                    }
                    sb.Append("<ul id='ulworkgroup' style='height:100px;overflow-y:scroll' class='dropdown-menu pull-right'>");
                    if (string.IsNullOrEmpty(selection) || selection != "All")
                    {
                        sb.Append("<li><a href=" + Url.Action("Index", "MyCompany", new { id = "Markets", selection = "All" }) + ">All</a></li>");
                    }
                    List <Region> RegList = _IRegionRepository.GetRegionByOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).ToList();
                    foreach (Region item in RegList)
                    {
                        sb.Append("<li><a href=" + Url.Action("Index", "MyCompany", new { regionguid = item.RegionGUID.ToString() }) + " data-groupguid=" + item.RegionGUID + ">" + item.Name + "</a></li>");
                    }
                    sb.Append("</ul>");
                    sb.Append("</div>");
                    sb.Append("</div>");
                    ViewBag.RegionList            = sb.ToString();
                    pmycompany.TerritoryViewModel = territoryList;
                    //    break;
                    //case "Territory":
                    //    ViewBag.TabName = "Territories";
                    var regionList = new RegionViewModel();
                    regionList.Region = new List <RegionModel>();
                    var appRegion = _IRegionRepository.GetRegionByOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).ToList();
                    foreach (var region in appRegion.ToList())
                    {
                        regionList.Region.Add(new RegionModel {
                            Name = region.Name, RegionGUID = region.RegionGUID.ToString(), Description = region.Description, OrganizationGUID = region.OrganizationGUID != null ? region.OrganizationGUID.ToString() : Guid.Empty.ToString()
                        });
                    }
                    pmycompany.RegionViewModel = regionList;
                    //    break;
                    //case "Organization":
                    //    ViewBag.TabName = "Details";
                    OrganizationEditView organization = new OrganizationEditView();
                    organization.OrganizationGUID = new Guid(Session["OrganizationGUID"].ToString());
                    Organization Organization = _IOrganizationRepository.GetOrganizationByID(organization.OrganizationGUID);
                    if (organization != null)
                    {
                        organization.OrganizationFullName = Organization.OrganizationFullName;
                        organization.OrganizationName     = Organization.OrganizationFullName.Trim();
                        organization.OrganizationGUID     = Organization.OrganizationGUID;
                        organization.Website            = Organization.Website;
                        organization.Phone              = Organization.Phone;
                        organization.TimeZone           = Organization.TimeZone.ToString();
                        organization.AddressLine1       = Organization.AddressLine1;
                        organization.AddressLine2       = Organization.AddressLine2;
                        organization.ImageURL           = Organization.ImageURL;
                        organization.City               = Organization.City;
                        organization.Country            = Organization.Country;
                        organization.State              = Organization.State;
                        organization.ZipCode            = Organization.ZipCode;
                        organization.EmailID            = Organization.EmailID;
                        organization.IsActive           = Organization.IsActive;
                        organization.IsDeleted          = Organization.IsDeleted;
                        organization.CreatedDate        = Organization.CreateDate;
                        organization.CreateBy           = Organization.CreateBy;
                        pmycompany.OrganizationEditView = organization;
                    }

                    //    break;
                    //default:
                    //    ViewBag.TabName = "Details";
                    //    OrganizationEditView porganization = new OrganizationEditView();
                    //    porganization.OrganizationGUID = new Guid(Session["OrganizationGUID"].ToString());
                    //    Organization pOrganization = _IOrganizationRepository.GetOrganizationByID(porganization.OrganizationGUID);
                    //    if (porganization != null)
                    //    {
                    //        porganization.OrganizationFullName = pOrganization.OrganizationFullName;
                    //        porganization.OrganizationName = pOrganization.OrganizationFullName.Trim();
                    //        porganization.OrganizationGUID = pOrganization.OrganizationGUID;
                    //        porganization.Website = pOrganization.Website;
                    //        porganization.Phone = pOrganization.Phone;
                    //        porganization.TimeZone = pOrganization.TimeZone.ToString();
                    //        porganization.AddressLine1 = pOrganization.AddressLine1;
                    //        porganization.AddressLine2 = pOrganization.AddressLine2;
                    //        porganization.ImageURL = pOrganization.ImageURL;
                    //        porganization.City = pOrganization.City;
                    //        porganization.Country = pOrganization.Country;
                    //        porganization.State = pOrganization.State;
                    //        porganization.ZipCode = pOrganization.ZipCode;
                    //        porganization.EmailID = pOrganization.EmailID;
                    //        porganization.IsActive = pOrganization.IsActive;
                    //        porganization.IsDeleted = pOrganization.IsDeleted;
                    //        porganization.CreatedDate = pOrganization.CreateDate;
                    //        porganization.CreateBy = pOrganization.CreateBy;
                    //        pmycompany.OrganizationEditView.Add(porganization);
                    //    }
                    //    break;
                    // }



                    return(View(pmycompany));
                }
                else
                {
                    return(RedirectToAction("SessionTimeOut", "User"));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(RedirectToAction("Login", "User"));
            }
        }
示例#14
0
        private AspNetUserViewModel UserDetails()
        {
            #region UserDetails
            try
            {
                var userList = new AspNetUserViewModel();
                userList.Users = new List <AspUser>();
                var appUser = new List <UserProfile>();

                appUser = _IUserProfileRepository.GetUserProfilesbyOrganizationGUID(new Guid(Session["OrganizationGUID"].ToString())).OrderBy(sort => sort.FirstName).ToList();

                foreach (var user in appUser.ToList())
                {
                    UserSubscription userSubscription = _IUserSubscriptionRepository.GetUserSubscriptionByUserID(user.UserGUID);
                    GlobalUser       _globalUser      = _IGlobalUserRepository.GetGlobalUserByID(user.UserGUID);
                    string           Regionname       = string.Empty;
                    string           Territoryname    = string.Empty;
                    string           Groupname        = string.Empty;
                    string           userType         = string.Empty;
                    if (_globalUser != null)
                    {
                        OrganizationUsersMap _orgUserMap = _IOrganizationRepository.GetOrganizationUserMapByUserGUID(user.UserGUID);

                        if (_orgUserMap != null && _orgUserMap.RegionGUID != null)
                        {
                            Regionname = _IRegionRepository.GetRegionNameByRegionGUID(new Guid(_orgUserMap.RegionGUID.ToString()));
                        }
                        else
                        {
                            Regionname = "";
                        }
                        if (_orgUserMap != null && _orgUserMap.TerritoryGUID != null)
                        {
                            Territoryname = _ITerritoryRepository.GetTerritoryNameByTerritoryGUID(new Guid(_orgUserMap.TerritoryGUID.ToString()));
                        }
                        else
                        {
                            Territoryname = "";
                        }

                        //Regionname = _IRegionRepository.GetRegionNameByRegionGUID(new Guid(_IOrganizationRepository.GetOrganizationUserMapByUserGUID(user.UserGUID).RegionGUID.ToString()));
                        //Territoryname = _ITerritoryRepository.GetTerritoryNameByTerritoryGUID(new Guid(_IOrganizationRepository.GetOrganizationUserMapByUserGUID(user.UserGUID).TerritoryGUID.ToString()));
                        userType = _IGlobalUserRepository.GetUserTypeByRoleID(_globalUser.Role_Id);
                    }
                    string UserTypeName = _IGlobalUserRepository.GetUserRoleName(user.UserGUID);

                    if (userSubscription != null)
                    {
                        userList.Users.Add(new AspUser {
                            UserTypeName = UserTypeName, RegionName = Regionname, TerritoryName = Territoryname, GroupName = Groupname, OrganizationSubscriptionGUID = userSubscription.OrganizationSubscriptionGUID.ToString(), UserType = userType, IsActive = userSubscription.IsActive, SubscriptionGUID = userSubscription.UserSubscriptionGUID.ToString(), FirstName = user.FirstName, LastName = user.LastName, Id = user.UserGUID.ToString(), EmailID = user.EmailID, MobilePhone = user.MobilePhone, City = user.City, State = user.State, Country = user.Country
                        });
                    }
                }

                OrganizationSubscription orgSubscription = new OrganizationSubscription();
                if (Session["UserType"] != null && Session["UserType"].ToString() != "WIM_A")
                {
                    orgSubscription = _IOrganizationSubscriptionRepository.GetOrganizationSubscriptionByOrgID(new Guid(Session["OrganizationGUID"].ToString()));
                    if (orgSubscription != null)
                    {
                        ViewBag.EnableCreateUserButton = "true";
                    }
                    else
                    {
                        ViewBag.EnableCreateUserButton = "false";
                    }
                    //if (orgSubscription != null && orgSubscription.SubscriptionPurchased > orgSubscription.SubscriptionConsumed)
                    //{
                    //    ViewBag.EnableCreateUserButton = "true";
                    //}
                    //else
                    //{
                    //    ViewBag.EnableCreateUserButton = "false";
                    //}
                }
                else
                {
                    ViewBag.EnableCreateUserButton = "false";
                }
                return(userList);
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message);
                return(null);
            }
            #endregion
        }