public ActionResult MyPicture(HttpPostedFileBase picture) { try { Image image = ImageManipulation.LoadImage(picture.InputStream); if (image == null) { TempData["ErrorMessage"] = "Niste poslali sliku"; return(RedirectToAction("Index", "Settings")); } var user = SessionData.User; image = ImageManipulation.ResizeImage(image, 320, 320); user.Picture = ImageManipulation.StoreImage(image); user.PictureType = ImageManipulation.OutputImageFormat; SessionData.User = user; dbProvider.UpdateUser(user); return(RedirectToAction("Index", "Settings")); } catch (Exception) { ViewBag.ErrorMessage = "Slika koju ste poslali nije ispravna"; return(RedirectToAction("Index", "Settings")); } }
public async Task <ActionResult> Create([Bind(Include = "Name,Duration,StartAmmount,Picture")] AuctionViewModel auction) { if (ModelState.IsValid) { Db.Auctions.Add(new Auction { Id = Guid.NewGuid().ToString(), Duration = auction.Duration, EndDate = DateTime.Now, StartDate = DateTime.Now, StartAmmount = auction.StartAmmount, CurrentAmmount = auction.StartAmmount, Name = auction.Name, PictureContent = ImageManipulation.StoreImage(ImageManipulation.ResizeImage(ImageManipulation.LoadImage(auction.Picture.InputStream), 600, 600)), Status = Auction.AuctionStatus.READY, User = await UserManager.FindByIdAsync(User.Identity.GetUserId()), Currency = Db.Params.Find("C").Value, CurrencyPrice = decimal.Parse(Db.Params.Find("T").Value) }); await Db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(auction)); }
public ActionResult Edit(GroupModel model) { if (ModelState.IsValid) { if (model.Id == null) { if (model.Picture == null) { return(Content("FAIL:Niste poslali sliku")); } var image = ImageManipulation.LoadImage(model.Picture.InputStream); if (image == null) { return(Content("FAIL:Niste poslali sliku")); } image = ImageManipulation.ResizeImage(image, 160, 160); var group = dbProvider.CreateGroup(new DB.Entities.Group { Binary = false, Name = model.Name, Timestamp = DateTime.Now, Picture = ImageManipulation.StoreImage(image), PictureType = ImageManipulation.OutputImageFormat, }); var users = model.GetMembers(); var friends = dbProvider.GetFriends(SessionData.User).Union(dbProvider.GetUsersInGroup(group)); foreach (var user in users) { if (user.Id == SessionData.User.Id || friends.All(x => x.Id != user.Id)) { return(HttpNotFound()); } } dbProvider.AddUsersToGroup(users, group, false); dbProvider.AddUsersToGroup(new List <DB.Entities.User> { SessionData.User }, group, true); dbProvider.CommitIfNecessary(); foreach (var user in users) { MessengerHub.CallRefresh(friends.First(x => x.Id == user.Id).RtID); } return(Content("OK")); } else { Image picture = null; if (model.Picture != null) { picture = ImageManipulation.LoadImage(model.Picture.InputStream); if (picture == null) { return(Content("FAIL:Niste poslali sliku")); } picture = ImageManipulation.ResizeImage(picture, 160, 160); } var group = dbProvider.GetGroupsForUser(SessionData.User).FirstOrDefault(x => x.Id == model.Id); if (group == null || !(bool)group.IsAdmin) { return(HttpNotFound()); } var oldMembers = dbProvider.GetUsersInGroup(group); var newMembers = model.GetMembers(); var friends = dbProvider.GetFriends(SessionData.User).Union(dbProvider.GetUsersInGroup(group)); foreach (var user in newMembers) { if (user.Id == SessionData.User.Id || friends.All(x => x.Id != user.Id)) { return(HttpNotFound()); } } newMembers.Add(SessionData.User); List <User> deletedMembers = new List <User>(); List <User> addedMembers = new List <User>(); foreach (var member in oldMembers) { if (!newMembers.Any(x => x.Id == member.Id)) { deletedMembers.Add(member); } } foreach (var member in newMembers) { if (!oldMembers.Any(x => x.Id == member.Id)) { addedMembers.Add(member); } } dbProvider.RemoveUsersFromGroup(deletedMembers, group); dbProvider.AddUsersToGroup(addedMembers, group, false); if (model.Name != group.Name || model.Picture != null) { if (model.Name != group.Name) { group.Name = model.Name; } if (picture != null) { group.Picture = ImageManipulation.StoreImage(picture); } dbProvider.UpdateGroup(group, picture != null); } dbProvider.CommitIfNecessary(); foreach (var member in deletedMembers) { MessengerHub.CallRefresh(member.RtID); } foreach (var member in addedMembers) { MessengerHub.CallRefresh(friends.First(x => x.Id == member.Id).RtID); } return(Content("OK")); } } else { var x = ModelValidationErrors; return(Content("FAIL:" + string.Join(", ", ModelValidationErrors))); } }