예제 #1
0
        public async Task <IActionResult> CreateAdmin([Bind("Message,RecipientId")] CreateMessageModel model)
        {
            var sender = _context.Users.FirstOrDefaultAsync(user => user.Id == _userManager.GetUserId(User));

            model.UsersHasMessages = new UsersHasMessages {
                Sender = await sender
            };

            if (ModelState.IsValid)
            {
                model.Message.DateSent = DateTime.Now;
                _context.Add(model.Message);
                await _context.SaveChangesAsync();

                model.UsersHasMessages.IsAdminMessage = 1;
                model.UsersHasMessages.IsDeleted      = 0;
                model.UsersHasMessages.AlreadyRead    = 0;
                model.UsersHasMessages.Messages       = model.Message;
                model.UsersHasMessages.MessagesId     = model.Message.Id;

                IList <ApplicationUser> users = _context.Users.ToList();
                foreach (var user in users)
                {
                    //Data for UsersHasMessages table
                    model.UsersHasMessages.RecipientId = user.Id;

                    _context.Add(model.UsersHasMessages);
                    await _context.SaveChangesAsync();
                }
                return(RedirectToAction(nameof(Index)));
            }

            return(View(model));
        }
        public async Task Delete_Message_DeleteMessage()
        {
            // Arrange
            var messagesController = this.CreateMessagesController(true);

            //add recipient
            var recipientUser = new ApplicationUser()
            {
                Email    = "*****@*****.**",
                UserName = "******"
            };

            mockadvert_siteContext.Add(recipientUser);

            //add msg
            var msg = new Messages()
            {
                Subject = "Delete me",
                Text    = "LOL"
            };

            mockadvert_siteContext.Add(msg);
            mockadvert_siteContext.SaveChanges();

            var userHasMsg = new UsersHasMessages()
            {
                MessagesId  = msg.Id,
                RecipientId = recipientUser.Id,
                SenderId    = fakeUser.Id,
                IsDeleted   = 0
            };

            mockadvert_siteContext.UsersHasMessages.Add(userHasMsg);
            mockadvert_siteContext.SaveChanges();


            // Act
            var result = await messagesController.Delete(
                userHasMsg.MessagesId,
                userHasMsg.SenderId,
                userHasMsg.RecipientId);

            // Assert
            Assert.Equal((short)1, userHasMsg.IsDeleted);
        }
예제 #3
0
        public async Task <IActionResult> CreateAsync(int id, Comments comment)
        {
            if (ModelState.IsValid)
            {
                var comments = new Comments
                {
                    Listingid = id,
                    Userid    = this.User.FindFirstValue(ClaimTypes.NameIdentifier),
                    Text      = comment.Text,
                    Date      = DateTime.Now
                };
                _context.Add(comments);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", "Listings", new { id = id }));
            }

            // turetu sito nepasiekti
            return(RedirectToAction("Index", "Home"));
        }
예제 #4
0
        public async Task <IActionResult> CreatePost([Bind("Subcategoryid,Name,Description,Price,GoogleLatitude,GoogleLongitude,GoogleRadius,ListingPictures")] ListingNewModel newListing)
        {
            if (ModelState.IsValid)
            {
                Listings listings = new Listings()
                {
                    Subcategoryid   = newListing.Subcategoryid,
                    Name            = newListing.Name,
                    Description     = newListing.Description,
                    Price           = newListing.Price,
                    GoogleLatitude  = newListing.GoogleLatitude,
                    GoogleLongitude = newListing.GoogleLongitude,
                    GoogleRadius    = newListing.GoogleRadius * 1000
                };

                listings.Userid = this.User.FindFirstValue(ClaimTypes.NameIdentifier);

                listings.Date     = DateTime.Now;
                listings.Display  = 1;
                listings.Verified = 0;

                /*
                 * listings.GoogleLongitude = 0;// newListing.GoogleLongitude;
                 * listings.GoogleLatitude = 0;// newListing.GoogleLatitude;
                 * listings.GoogleRadius = 10000;// newListing.GoogleRadius;
                 */
                _context.Add(listings);
                _context.SaveChanges();


                if (newListing.ListingPictures != null && newListing.ListingPictures.Count() > 4) //jei nuotrauku daugiau nei 4 atmetam
                {
                    TempData["PictureError"] = "Nuotraukų negali būti daugiau nei 4!";
                    return(RedirectToAction(nameof(Create), newListing));
                }

                if (newListing.ListingPictures != null)
                {
                    foreach (var picture in newListing.ListingPictures)
                    {
                        if (picture.Length > ImageMaximumBytes) //jei dydid didesnis uz 10MB atmeta
                        {
                            TempData["PictureError"] = "Nuotraukos dydis negali būti didesnis nei 10Mb!";
                            return(RedirectToAction(nameof(Create), newListing));
                        }

                        if (!IsImage(picture))
                        {
                            TempData["PictureError"] = "Failas nėra nuotrauka!";
                            return(RedirectToAction(nameof(Create), newListing));
                        }
                    }

                    foreach (var picture in newListing.ListingPictures)
                    {
                        if (picture.Length > 0)
                        {
                            var pic = new ListingPictures {
                                ListingId = listings.Id, ContentType = picture.ContentType
                            };
                            _context.Add(pic);
                            await _context.SaveChangesAsync();

                            string[] filenameAndExtension = picture.FileName.Split('.');
                            filenameAndExtension[0] = pic.PictureId.ToString();

                            string fileName = filenameAndExtension[0] + "." + filenameAndExtension[1];

                            string path = "UserPictures" + "\\" + fileName;
                            path = Path.GetFullPath(path);

                            pic.FileName = fileName;
                            _context.ListingPictures.Update(pic);
                            using (var stream = new FileStream(path, FileMode.Create))
                            {
                                await picture.CopyToAsync(stream);
                            }
                        }
                    }
                }
                await _context.SaveChangesAsync();

                //TempData["Success"] = "Jūsų skelbimas bus patalpintas, kai administratorius jį patikrins";
                return(RedirectToAction(nameof(Index)));
            }

            ViewData["Subcategoryid"] = new SelectList(_context.Subcategory, "Id", "Id");
            ViewData["Userid"]        = new SelectList(_context.Users, "Id", "UserName");
            return(View(newListing));
        }