public ActionResult UploadAvatar(CustomerAvatarModel model, HttpPostedFileBase uploadedFile) { if (!IsCurrentUserRegistered()) return new HttpUnauthorizedResult(); if (!_customerSettings.AllowCustomersToUploadAvatars) return RedirectToAction("Info"); var customer = _workContext.CurrentCustomer; model.MaxFileSize = Prettifier.BytesToString(_customerSettings.AvatarMaximumSizeBytes); model.NavigationModel = GetCustomerNavigationModel(customer); model.NavigationModel.SelectedTab = CustomerNavigationEnum.Avatar; if (ModelState.IsValid) { try { var customerAvatar = _pictureService.GetPictureById(customer.GetAttribute<int>(SystemCustomerAttributeNames.AvatarPictureId)); if ((uploadedFile != null) && (!String.IsNullOrEmpty(uploadedFile.FileName))) { var avatarMaxSize = _customerSettings.AvatarMaximumSizeBytes; if (uploadedFile.ContentLength > avatarMaxSize) throw new SmartException(T("Account.Avatar.MaximumUploadedFileSize", Prettifier.BytesToString(avatarMaxSize))); byte[] customerPictureBinary = uploadedFile.InputStream.ToByteArray(); if (customerAvatar != null) customerAvatar = _pictureService.UpdatePicture(customerAvatar.Id, customerPictureBinary, uploadedFile.ContentType, null, true); else customerAvatar = _pictureService.InsertPicture(customerPictureBinary, uploadedFile.ContentType, null, true, false); } else if (customerAvatar != null) { _pictureService.DeletePicture(customerAvatar); customerAvatar = null; } var customerAvatarId = (customerAvatar != null ? customerAvatar.Id : 0); _genericAttributeService.SaveAttribute(customer, SystemCustomerAttributeNames.AvatarPictureId, customerAvatarId); model.AvatarUrl = _pictureService.GetPictureUrl(customerAvatarId, _mediaSettings.AvatarPictureSize, false); return View(model); } catch (Exception exc) { ModelState.AddModelError("", exc.Message); } } //If we got this far, something failed, redisplay form model.AvatarUrl = _pictureService.GetPictureUrl(customer.GetAttribute<int>(SystemCustomerAttributeNames.AvatarPictureId), _mediaSettings.AvatarPictureSize, false); return View(model); }
public ActionResult Avatar() { if (!IsCurrentUserRegistered()) return new HttpUnauthorizedResult(); if (!_customerSettings.AllowCustomersToUploadAvatars) return RedirectToAction("Info"); var customer = _workContext.CurrentCustomer; var model = new CustomerAvatarModel(); model.MaxFileSize = Prettifier.BytesToString(_customerSettings.AvatarMaximumSizeBytes); model.NavigationModel = GetCustomerNavigationModel(customer); model.NavigationModel.SelectedTab = CustomerNavigationEnum.Avatar; model.AvatarUrl = _pictureService.GetPictureUrl( customer.GetAttribute<int>(SystemCustomerAttributeNames.AvatarPictureId), _mediaSettings.AvatarPictureSize, false); return View(model); }
public ActionResult RemoveAvatar(CustomerAvatarModel model, HttpPostedFileBase uploadedFile) { if (!IsCurrentUserRegistered()) return new HttpUnauthorizedResult(); if (!_customerSettings.AllowCustomersToUploadAvatars) return RedirectToAction("Info"); var customer = _workContext.CurrentCustomer; model.NavigationModel = GetCustomerNavigationModel(customer); model.NavigationModel.SelectedTab = CustomerNavigationEnum.Avatar; var customerAvatar = _pictureService.GetPictureById(customer.GetAttribute<int>(SystemCustomerAttributeNames.AvatarPictureId)); if (customerAvatar != null) _pictureService.DeletePicture(customerAvatar); _genericAttributeService.SaveAttribute(customer, SystemCustomerAttributeNames.AvatarPictureId, 0); return RedirectToAction("Avatar"); }