示例#1
0
 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"));
     }
 }
示例#2
0
        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));
        }
示例#3
0
 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)));
     }
 }