public bool SetAvatar(AvatarDTO avatar) { try { var t = Database.Avatars.Find(a => a.UserId == avatar.UserId).ToList(); var config = new MapperConfiguration(cfg => cfg.CreateMap<AvatarDTO, Photo>()); var mapper = config.CreateMapper(); if (t.Count == 0) { Database.Avatars.Create(mapper.Map<Photo>(avatar)); } else { Database.Avatars.Update(mapper.Map<Photo>(avatar)); } Database.Save(); return true; } catch { return false; } }
public ActionResult UploadImages(HttpPostedFileBase uploadImage, HttpPostedFileBase themeImage, UserModel model) { var config = new MapperConfiguration(cfg => cfg.CreateMap<UserModel, UserDTO>()); var mapper = config.CreateMapper(); var user = mapper.Map<UserDTO>(model); user.Id = User.Identity.GetUserId(); var result = pageService.ChangeUserInfo(user); if (result != null) { return Json(new { result = false, responseText = result }); } if (uploadImage != null) { if (!(uploadImage.ContentType == "image/jpeg" || uploadImage.ContentType == "image/png")) { return Json(new { result = false, responseText = "Image can be only jpg/png" }); } if (uploadImage.ContentLength > 40960*1024) { return Json(new { result = false, responseText = "Image is bigger than 40Mb" }); } byte[] imageData = null; using (var binaryReader = new BinaryReader(uploadImage.InputStream)) { imageData = binaryReader.ReadBytes(uploadImage.ContentLength); } var headerImage = new AvatarDTO() { Avatar = imageData, UserId = model.Id }; var res = pageService.SetAvatar(headerImage); if (!res) { return Json(new { result = false, responseText = "Internal server error. Cannot set a photo." }); } } if (themeImage != null) { if (!(themeImage.ContentType == "image/jpeg" || themeImage.ContentType == "image/png")) { return Json(new { result = false, responseText = "Image can be only jpg/png" }); } if (themeImage.ContentLength > 40960 * 1024) { return Json(new { result = false, responseText = "Image is bigger than 40Mb" }); } byte[] imageData2 = null; using (var binaryReader = new BinaryReader(themeImage.InputStream)) { imageData2 = binaryReader.ReadBytes(themeImage.ContentLength); } var headerImage2 = new AvatarDTO() { Avatar = imageData2, UserId = model.Id + "!Background" }; var res2 = pageService.SetAvatar(headerImage2); if (!res2) { return Json(new { result = false, responseText = "Internal server error. Cannot set a photo." }); } } return Json(new { result = "Redirect", url = "/" + model.Login }); }
public bool AddPost(string authorizeId, string urlId, string text, byte[] image) { try { if (image == null && string.IsNullOrEmpty(text)) { return false; } Post post = new Post() { DateTime = DateTime.Now, Text = text, UserFromId = authorizeId, UserToId = urlId, HasPhoto = image != null }; Database.Posts.Create(post); if (image != null) { var headerImage = new AvatarDTO() { Avatar = image, UserId = post.Id.ToString() }; var config = new MapperConfiguration(cfg => cfg.CreateMap<AvatarDTO, Photo>()); var mapper = config.CreateMapper(); Database.Avatars.Create(mapper.Map<Photo>(headerImage)); } Database.Save(); return true; } catch { return false; } }