예제 #1
0
        public ActionResult UpdateMember(UpdateMemberModel model)
        {
            var service = new CustomerService();
            var cookie  = Request.Cookies[FormsAuthentication.FormsCookieName];

            if (cookie == null)
            {
                return(RedirectToAction("Login", "Login"));
            }

            var ticket = FormsAuthentication.Decrypt(cookie.Value);

            var customer      = service.FindByCustomerAccount(ticket.Name);
            var customermodel = new Customer()
            {
                CustomerID   = customer.CustomerID,
                CustomerName = model.CustomerName,
                Phone        = model.Phone,
                Email        = model.Email,
                Birthday     = model.Birthday
            };

            service.Update(customermodel);
            return(RedirectToAction("SearchMember", "Member"));
        }
예제 #2
0
        public async Task <IActionResult> Edit(string id)
        {
            try
            {
                var member = await _usersService.GetMemberById(id);

                var model = new UpdateMemberModel
                {
                    Id          = member.Id,
                    GivenName   = member.GivenName,
                    Surname     = member.Surname,
                    DisplayName = member.DisplayName,
                    GitHubId    = member.GitHubId,
                    TwitterId   = member.TwitterId,
                    BlogUrl     = member.BlogUrl,
                    Expiration  = member.Expiration,
                    IsActive    = member.IsActive,
                    PhotoHeight = member.PhotoHeight,
                    PhotoWidth  = member.PhotoWidth,
                    PhotoType   = member.PhotoType,
                    PhotoBytes  = member.PhotoBytes
                };

                return(View(model));
            }
            catch (Exception e)
            {
                ModelState.TryAddModelError("", e.Message);
                return(View()); // TODO: error message
            }
        }
예제 #3
0
        public async Task <IActionResult> UpdateMember(string urlKey, [FromBody] UpdateMemberModel model)
        {
            if (model.AccountId.Equals(Guid.Empty))
            {
                return(BadRequest());
            }
            var organization = await OrganizationService.GetByUrlKeyAsync(urlKey);

            if (organization == null)
            {
                return(BadRequest());
            }

            var member = await OrganizationService.GetMember(organization.ID, model.AccountId);

            if (member == null)
            {
                return(BadRequest());
            }

            member.MembershipStatus = model.MembershipStatus;
            member.AccessLevel      = model.AccessLevel;

            await OrganizationService.UpdateMember(member);

            return(Ok());
        }
예제 #4
0
        public ActionResult UpdateMember()
        {
            var service             = new CustomerService();
            var passwordSaltService = new PasswordSaltService();
            var cookie = Request.Cookies[FormsAuthentication.FormsCookieName];

            if (cookie == null)
            {
                return(RedirectToAction("Login", "Login"));
            }

            var ticket = FormsAuthentication.Decrypt(cookie.Value);

            var customer = service.FindByCustomerAccount(ticket.Name);

            ViewBag.User = customer.Account;

            if (customer.Birthday != null)
            {
                ViewBag.birthday = DateTime.Parse(customer.Birthday.ToString()).ToShortDateString();
            }

            var model = new UpdateMemberModel()
            {
                CustomerName = customer.CustomerName,
                Email        = customer.Email,
                Phone        = customer.Phone,
                Birthday     = customer.Birthday
            };

            return(View(model));
        }
예제 #5
0
 public void UpdateMember(int id, UpdateMemberModel model)
 {
     try
     {
         var memberUpdate = this.db.Members.SingleOrDefault(m => m.id == id);
         if (memberUpdate == null)
         {
             throw new Exception("Member not found");
         }
         this.db.Members.Attach(memberUpdate);
         memberUpdate.email     = model.email;
         memberUpdate.firstname = model.firstname;
         memberUpdate.lastname  = model.lastname;
         memberUpdate.position  = model.position;
         memberUpdate.role      = model.role;
         if (!string.IsNullOrEmpty(model.password))
         {
             memberUpdate.password = model.password;
         }
         this.onConvertBase64ToImage(memberUpdate, model.image);
         memberUpdate.updated = DateTime.Now;
         this.db.Entry(memberUpdate).State = System.Data.Entity.EntityState.Modified;
         this.db.SaveChanges();
     }
     catch (Exception ex)
     {
         throw ex.GetErrorException();
     }
 }
예제 #6
0
        public void updateMember(int id, UpdateMemberModel model)
        {
            try
            {
                var member = this.Members.SingleOrDefault(m => m.id == id);

                if (member == null)
                {
                    throw new Exception("Not found member");
                }

                this._db.Members.Attach(member);
                member.email     = model.email;
                member.firstname = model.firstname;
                member.lastname  = model.lastname;
                member.position  = model.position;
                member.role      = model.role;
                member.updated   = DateTime.UtcNow;
                if (!string.IsNullOrEmpty(model.password))
                {
                    member.password = PasswordHash.HashEncode(model.password);
                }
                this.convertImageBase64ToImage(member, model.image);
                this._db.Entry(member).State = EntityState.Modified;
                this._db.SaveChanges();
            }
            catch (Exception e)
            {
                throw e.GetExceptionError();
            }
        }
예제 #7
0
        public async Task <IActionResult> Edit(string id, UpdateMemberModel model)
        {
            if (model.PhotoUpload?.Length > 100 * 1024)
            {
                ModelState.AddModelError(nameof(model.PhotoUpload), "Image size must be less than 100kb");
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            try
            {
                byte[] buffer = null;

                if (model.PhotoUpload?.Length > 0)
                {
                    using var ms = new MemoryStream((int)model.PhotoUpload.Length);
                    await model.PhotoUpload.CopyToAsync(ms);

                    ms.Position = 0;
                    buffer      = ms.ToArray();
                }

                await _usersService.UpdateMemberAsync(id, model.DisplayName, null, null, model.GivenName, model.Surname, model.GitHubId, model.TwitterId, model.BlogUrl, buffer);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e)
            {
                ModelState.TryAddModelError("", e.Message);
                return(View(model));
            }
        }
        public async Task <IActionResult> Update(string id, UpdateMemberModel model)
        {
            var entity = _service.Members.Id(id).FirstOrDefault();

            if (entity == null)
            {
                return(NotFound(AppResult.NotFound()));
            }
            var validationData = _service.ValidateUpdateMember(User, entity, model);

            if (!validationData.IsValid)
            {
                return(BadRequest(AppResult.FailValidation(data: validationData)));
            }
            using (var transaction = context.Database.BeginTransaction())
            {
                var user = entity.User;
                _service.UpdateMember(entity, model);
                user = _identityService.UpdateUser(user, model);
                if (model.UpdateDepartmentMembers.Any(o => o.IsManager == true) ||
                    model.UpdateAreaMembers.Any(o => o.IsManager == true))
                {
                    model.Roles = model.Roles ?? new HashSet <string>();
                    model.Roles.Add(RoleName.MANAGER);
                }
                var result = await _identityService.UpdateUserAsync(user);

                if (result.Succeeded && model.Roles != null && model.Roles.Count() > 0)
                {
                    var oldRoles = await _identityService.GetRolesOfUserAsync(user);

                    result = await _identityService.RemoveUserFromRolesAsync(user, oldRoles);

                    if (result.Succeeded)
                    {
                        result = await _identityService.AddRolesForUserAsync(user, model.Roles);
                    }
                }
                if (!result.Succeeded)
                {
                    foreach (var err in result.Errors)
                    {
                        ModelState.AddModelError(err.Code, err.Description);
                    }
                    var builder = ResultHelper.MakeInvalidAccountRegistrationResults(ModelState);
                    return(BadRequest(builder));
                }
                _logger.CustomProperties(User).Info("Update user");
                //log event
                var ev = _sysService.GetEventForUpdateUser(
                    $"Admin has updated a user information",
                    UserId);
                _sysService.CreateAppEvent(ev);
                //end log event
                context.SaveChanges();
                transaction.Commit();
            }
            return(NoContent());
        }
예제 #9
0
 public async Task <MemberModel> UpdateMember(UpdateMemberModel updateMemberModel)
 {
     if (updateMemberModel != null)
     {
         await _memberRepository.UpdateMember(updateMemberModel).ConfigureAwait(false);
     }
     return(null);
 }
예제 #10
0
        public Member CreateMember(UpdateMemberModel updateMemberModel, Member originalMember)
        {
            var newMember = new Member
            {
                Id          = updateMemberModel.Id,
                Email       = updateMemberModel.Email,
                FirstName   = updateMemberModel.FirstName,
                LastName    = updateMemberModel.LastName,
                Role        = updateMemberModel.Role,
                Communities = originalMember.Communities
            };

            return(_objDiffManager.UpdateObject(originalMember, newMember));
        }
예제 #11
0
        public async Task <IHttpActionResult> UpdateMember(int id, [FromBody] UpdateMemberModel updateMemberModel)
        {
            if (ModelState.IsValid)
            {
                updateMemberModel.Id = id;
                var memberModel = await _memberService.UpdateMember(updateMemberModel).ConfigureAwait(false);

                if (memberModel != null)
                {
                    return(Ok(memberModel));
                }
                return(BadRequest("Something went wrong !"));
            }
            return(BadRequest("Something went wrong !"));
        }
예제 #12
0
        public async Task <MemberModel> UpdateMember(UpdateMemberModel memberUpdates)
        {
            var oldMember = await _memberDao.GetMember(memberUpdates.Id).ConfigureAwait(false);

            if (oldMember != null)
            {
                var newMember = _modelFactory.CreateMember(memberUpdates, oldMember);
                if (newMember != null)
                {
                    await _memberDao.UpdateMember(newMember).ConfigureAwait(false);

                    return(_modelFactory.CreateMemberModel(newMember));
                }
            }
            return(null);
        }
 public IHttpActionResult PutUpdateMember(int id, [FromBody] UpdateMemberModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             this.memberService.UpdateMember(id, model);
             return(Ok("Update successful"));
         }
         catch (Exception ex)
         {
             ModelState.AddModelError("exception", ex.Message);
         }
     }
     return(BadRequest(ModelState.GetErrorModelState()));
 }
예제 #14
0
 public IHttpActionResult PutEditmember(int id, [FromBody] UpdateMemberModel value)
 {
     try
     {
         if (ModelState.IsValid)
         {
             this._member.updateMember(id, value);
             return(Ok("updated"));
         }
     }
     catch (Exception e)
     {
         ModelState.AddModelError("Exception", e.Message);
     }
     return(BadRequest(ModelState.GetErrorModelState()));
 }
예제 #15
0
        public ActionResult ImportMemberPictures(IEnumerable <HttpPostedFileBase> files)
        {
            if (CurrentMemberModel.AdminUserId == null)
            {
                return(RedirectToHome());
            }

            List <string> notFound = new List <string>();
            List <string> updated  = new List <string>();

            IPublishedContent chapter = HomePage;

            IReadOnlyCollection <MemberModel> memberModels = _memberService.GetMembers(new MemberSearchCriteria(chapter.Id), Umbraco);

            foreach (HttpPostedFileBase file in files)
            {
                FileInfo    fileInfo    = new FileInfo(file.FileName);
                string      fullName    = fileInfo.Name.Substring(0, fileInfo.Name.Length - fileInfo.Extension.Length);
                MemberModel memberModel = memberModels.FirstOrDefault(x => x.FullName.Equals(fullName, StringComparison.OrdinalIgnoreCase));
                if (memberModel == null)
                {
                    notFound.Add(file.FileName);
                    continue;
                }

                IPublishedContent member = Members.GetById(memberModel.Id);

                UpdateMemberModel updateMemberModel = new UpdateMemberModel(member);
                updateMemberModel.UploadedPicture = file;

                _memberService.Update(member.Id, updateMemberModel, Umbraco);

                updated.Add(file.FileName);
            }

            if (notFound.Count > 0)
            {
                AddFeedback("Members not found: " + string.Join(", ", notFound), false);
            }

            if (updated.Count > 0)
            {
                AddFeedback("Members updated: " + string.Join(", ", updated), true);
            }

            return(RedirectToCurrentUmbracoPage());
        }
예제 #16
0
        public ActionResult Update(UpdateMemberModel model)
        {
            HandleLoggedOffUser();

            model.SetChapter(HomePage);

            ServiceResult result = _memberService.Update(CurrentMember.Id, model, Umbraco);

            if (!result.Success)
            {
                return(OnError(model, result));
            }

            AddFeedback("Profile updated", true);

            return(RedirectToCurrentUmbracoPage());
        }
예제 #17
0
        public ActionResult Edit(int id = 0)
        {
            var req = YunClient.Instance.Execute(new GetUserRequest {
                UserId = id
            }, id > 0 ? null : Token).User;

            if (req == null)
            {
                Error404Message = "当前用户不存在";
                return(RedirectToAction("Error404", "Home"));
            }

            SetUserLocationData(req.Province, req.City, req.Area);

            var rtm = new UpdateMemberModel
            {
                Avatar      = req.Avatar,
                UserId      = req.UserId,
                Nick        = req.Nick,
                Sex         = req.Sex,
                CreateTime  = req.CreateTime,
                LastVisit   = req.LastVisit,
                Email       = req.Email,
                Mobile      = req.Mobile,
                Score       = req.Score,
                Money       = req.Money,
                RealName    = req.RealName,
                PrepaidCard = req.PrepaidCard,
                Province    = req.Province,
                Address     = req.Address,
                Area        = req.Area,
                City        = req.City,
                Remark      = req.Remark
            };

            if (!string.IsNullOrEmpty(req.Birthday))
            {
                rtm.Birthday = Convert.ToDateTime(req.Birthday);
            }

            return(View(rtm));
        }
예제 #18
0
        public ActionResult Edit(UpdateMemberModel model, string redirectUrl = "")
        {
            var province = string.IsNullOrEmpty(model.Province) ? "" : model.Province.Split('-')[0];
            var city     = string.IsNullOrEmpty(model.City) ? "" : model.City.Split('-')[0];
            var area     = string.IsNullOrEmpty(model.Area) ? "" : model.Area.Split('-')[0];

            var img = FileManage.UploadOneFile();

            var req = YunClient.Instance.Execute(new ModifyUserInfoRequest
            {
                Avatar   = string.IsNullOrEmpty(img) ? model.Avatar : img,
                Email    = model.Email,
                IsMale   = model.Sex == "男" ? 1 : 0,
                Mobile   = model.Mobile,
                Nick     = model.Nick,
                RealName = model.RealName,
                Address  = model.Address,
                Province = province,
                City     = city,
                Area     = area,
                Birthday = model.Birthday,
                Remark   = model.Remark,
                Phone    = model.Mobile
            }, Token);

            if (req.Result > 0)
            {
                TempData["success"] = "保存成功";
                if (!string.IsNullOrEmpty(redirectUrl))
                {
                    return(Redirect(redirectUrl));
                }
            }

            SetUserLocationData(province, city, area);

            TempData["error"] = "编辑失败,错误原因:" + req.ErrMsg;
            return(View(model));
        }
예제 #19
0
        public Member UpdateMember(Member entity, UpdateMemberModel model)
        {
            model.CopyTo(entity);
            DeleteAllDepartmentMemberOf(entity);
            var depMembers = model.UpdateDepartmentMembers.Select(o =>
            {
                var dm      = o.ToDest();
                dm.MemberId = entity.UserId;
                return(dm);
            }).ToList();

            DeleteAllAreaMemberOf(entity);
            var areaMembers = model.UpdateAreaMembers.Select(o =>
            {
                var am      = o.ToDest();
                am.MemberId = entity.UserId;
                return(am);
            }).ToList();

            entity.DepartmentMember = depMembers;
            entity.AreaMember       = areaMembers;
            return(entity);
        }
예제 #20
0
        public async Task <IActionResult> Index()
        {
            var member = await _usersService.GetMe();

            var model = new UpdateMemberModel
            {
                Id          = member.Id,
                GivenName   = member.GivenName,
                Surname     = member.Surname,
                DisplayName = member.DisplayName,
                GitHubId    = member.GitHubId,
                TwitterId   = member.TwitterId,
                BlogUrl     = member.BlogUrl,
                Expiration  = member.Expiration.GetValueOrDefault(),
                IsActive    = member.IsActive.GetValueOrDefault(),
                PhotoHeight = member.PhotoHeight,
                PhotoWidth  = member.PhotoWidth,
                PhotoType   = member.PhotoType,
                PhotoBytes  = member.PhotoBytes
            };


            return(View(model));
        }
예제 #21
0
        public async Task <IActionResult> ChangeMemberEmail(string id, UpdateMemberModel model)
        {
            if (string.IsNullOrWhiteSpace(model.SignInAddress))
            {
                ModelState.AddModelError(nameof(model.SignInAddress), "Email address is required");
            }

            if (!ModelState.IsValid)
            {
                return(View(nameof(Edit), model));
            }

            try
            {
                var newUserId = await _usersService.ChangeMemberLogonAddress(id, model.SignInAddress);

                return(RedirectToAction(nameof(Edit), new { id = newUserId }));
            }
            catch (Exception e)
            {
                ModelState.TryAddModelError("", e.Message);
                return(View(nameof(Edit), model));
            }
        }
예제 #22
0
 public AppUser UpdateUser(AppUser entity, UpdateMemberModel model)
 {
     entity.FullName = model.FullName;
     return(entity);
 }
예제 #23
0
        public MemberModel UpdateProfile(int memberId, UpdateMemberModel model)
        {
            OrgComm.Data.Models.Member member = null;

            using (OrgCommEntities dbc = new OrgCommEntities(DBConfigs.OrgCommConnectionString))
            {
                member = dbc.Members.SingleOrDefault(r => (!r.DelFlag) && r.Id.Equals(memberId));

                if (member == null)
                {
                    throw new OrgException(1, "Invalid profile");
                }

                if (model.Photo == null)
                {
                    member.Photo = null;
                }
                else
                {
                    byte[] photo = model.Photo.Buffer;

                    using (System.IO.MemoryStream msReader = new System.IO.MemoryStream(photo))
                    {
                        using (System.Drawing.Image img = System.Drawing.Image.FromStream(msReader))
                        {
                            string imageType = ImageHelper.GetImageFormat(img);

                            if (imageType == null)
                            {
                                throw new OrgException("Not support image type");
                            }

                            int?  width, height;
                            Image imgResize = null;

                            //Size Max constraint
                            width  = AppConfigs.MemberPhotoWidthMax;
                            height = AppConfigs.MemberPhotoHeightMax;

                            imgResize    = ImageHelper.ReSize(img, width, height, ImageHelper.ResizeMode.KeepAspectRatio);
                            member.Photo = ImageHelper.ImageToByteArray(imgResize, img.RawFormat);
                        }
                    }
                }

                if (!String.IsNullOrWhiteSpace(model.Email))
                {
                    Validator validator = new Validator();
                    string    email     = model.Email.Trim();

                    if (!validator.IsValidEmail(email))
                    {
                        throw new OrgException("Invalid e-mail");
                    }

                    if (dbc.Members.Any(r => (r.Id != memberId) && (r.Email.Equals(email))))
                    {
                        throw new OrgException("Duplicate e-mail");
                    }

                    member.Email = email;
                }

                if (!String.IsNullOrWhiteSpace(model.FirstName))
                {
                    member.FirstName = model.FirstName;
                }

                if (!String.IsNullOrWhiteSpace(model.LastName))
                {
                    member.LastName = model.LastName;
                }

                if (!String.IsNullOrWhiteSpace(model.DisplayName))
                {
                    member.DisplayName = model.DisplayName;
                }

                if (!String.IsNullOrWhiteSpace(model.Gender))
                {
                    member.Gender = model.Gender;
                }

                if (!String.IsNullOrWhiteSpace(model.Phone))
                {
                    if (dbc.Members.Any(r => (r.Id != memberId) && (r.Phone.Equals(model.Phone))))
                    {
                        throw new OrgException("Duplicate phone no.");
                    }

                    member.Phone = model.Phone;
                }

                member.UpdatedDate = DateTime.Now;

                dbc.SaveChanges();
            }

            return(new MemberModel
            {
                Id = member.Id,
                FacebookId = member.FacebookId,
                Email = member.Email,
                FirstName = member.FirstName,
                LastName = member.LastName,
                NickName = member.Nickname,
                DisplayName = member.DisplayName,
                Gender = member.Gender,
                Company = member.Company.Name,
                Department = member.Department.Name,
                Position = member.Position.Name,
                EmployeeId = member.EmployeeId,
                Phone = member.Phone,
                Photo = (member.Photo == null) ? null : MemberBL.PhotoUrlFormatString.Replace("{0}", member.Id.ToString())
            });
        }