예제 #1
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    FinalProjectDbContext db = new FinalProjectDbContext();
                    db.Users.Add(new User
                    {
                        AspNetUserId = new Guid(user.Id),
                        FullName     = model.FullName
                    });
                    db.SaveChanges();

                    return(RedirectToAction("Index", "Event"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
예제 #2
0
        public ActionResult Login(string email, string password)
        {
            var db = new FinalProjectDbContext();


            if (db.Users.Any(u => u.email == email))
            {
                var user = db.Users.FirstOrDefault(u => u.email == email);

                if (user.password == password)
                {
                    TempData["Login"] = String.Format("Successfully Logged in as {0}", user.name);
                    Session["User"]   = user.id;
                    return(RedirectToAction("UserPage", new { id = user.id }));
                }
                else //if password entered is incorrect
                {
                    TempData["Login"] = "******";
                    return(View("LoginPage"));
                }
            }
            //if email does not exists
            TempData["Login"] = "******";
            return(View("LoginPage"));
        }
예제 #3
0
        public ActionResult Register(User user)
        {
            var db = new FinalProjectDbContext();

            if (ModelState.IsValid)
            {
                //
                // var Hasher = new PasswordHasher<User>();
                //user.password = Hasher.HashPassword(user, user.password);

                //TryValidateModel(user);

                //var user1 = new User { name = user.name, email = user.email, password = user.password };

                //
                db.Users.Add(user);
                db.SaveChanges();

                return(RedirectToAction("LoginPage", "Home"));
            }

            ViewBag.Errors = ModelState.Values;

            return(View("Index"));
        }
예제 #4
0
        public ActionResult Edit()
        {
            var db     = new FinalProjectDbContext();
            var userid = Convert.ToInt32(Session["User"]);

            var user = db.Users.FirstOrDefault(u => u.id == userid);

            return(View(user));
        }
예제 #5
0
        public ActionResult Index()
        {
            var db    = new FinalProjectDbContext();
            var users = db.Users.Where(u => u.id > 0).ToList(); //gets all users, 'selectmany' wasnt working

            var allUsers = new UsersViewModel {
                Users = users
            };

            return(View(allUsers));
        }
예제 #6
0
        public ActionResult Follow(Follower follow)
        {
            var db = new FinalProjectDbContext();

            //var userid = Convert.ToInt32(Session["User"]);
            follow.created_at = DateTime.Now;
            db.Followers.Add(follow);
            db.SaveChanges();

            return(RedirectToAction("UserPage", "Home", new { id = follow.followed_id }));
        }
예제 #7
0
        public ActionResult Following()
        {
            var db        = new FinalProjectDbContext();
            var userid    = Convert.ToInt32(Session["User"]);
            var following = db.Followers.Where(f => f.follower_id == userid).Distinct().ToList();

            var allFollowing = new FollowerViewModel {
                Follow = following
            };

            return(View(allFollowing));
        }
예제 #8
0
        public ActionResult Delete()
        {
            var db = new FinalProjectDbContext();
            //var userid = Convert.ToInt32(Session["User"]);

            var id     = Convert.ToInt32(RouteData.Values["id"]);
            var follow = db.Followers.FirstOrDefault(f => f.id == id);

            db.Followers.Remove(follow);
            db.SaveChanges();

            return(RedirectToAction("UserPage", "Home", new { id = follow.followed_id }));
        }
예제 #9
0
        public ActionResult DeleteComment()
        {
            var db = new FinalProjectDbContext();
            var id = Convert.ToInt32(RouteData.Values["id"]);


            var comment = db.Comments.SingleOrDefault(c => c.id == id);
            var userid  = Convert.ToInt32(comment.Message.Messaged.id);

            db.Comments.Remove(comment);
            db.SaveChanges();

            return(RedirectToAction("UserPage", "Home", new { id = userid }));
        }
예제 #10
0
        public ActionResult Update(User user)
        {
            var db     = new FinalProjectDbContext();
            var userid = Convert.ToInt32(Session["User"]);

            var oldUser = db.Users.SingleOrDefault(u => u.id == userid);

            //oldUser.name = user.name;

            // oldUser.avatar = user.avatar;

            db.SaveChanges();

            return(RedirectToAction("UserPage", "Home", new { id = userid }));
        }
예제 #11
0
        public ActionResult Like()
        {
            var commentid = Convert.ToInt32(RouteData.Values["id"]);
            var userid    = Convert.ToInt32(Session["User"]);

            var db      = new FinalProjectDbContext();
            var comment = db.Comments.FirstOrDefault(c => c.id == commentid);
            var like    = new Like {
                user_id = userid, comment_id = commentid
            };

            db.Likes.Add(like);
            db.SaveChanges();

            return(RedirectToAction("UserPage", "Home", new { id = comment.Message.Messaged.id }));
        }
예제 #12
0
        public ActionResult PostMessage(Message message)
        {
            var db       = new FinalProjectDbContext();
            var userid   = (int)Session["User"];                    // user id of the user sending the message
            var postedid = Convert.ToInt32(RouteData.Values["id"]); //user id of the user being messaged

            var msg = new Message {
                message = message.message, messaged_id = postedid, messager_id = userid, created_at = DateTime.Now
            };                                                                                                                           //coulve added the properties to the message object recived from the form , but this method requried less lines of code

            db.Messages.Add(msg);
            db.SaveChanges();


            return(RedirectToAction("UserPage", "Home", new { id = postedid }));
        }
예제 #13
0
        public ActionResult PostComment(Comment comment)
        {
            var db     = new FinalProjectDbContext();
            var msg    = db.Messages.First(m => m.id == comment.message_id);
            var pageid = msg.messaged_id; //getting ID of the user that was messaged so that the page will remain the same after comment submission

            var userid = (int)Session["User"];

            comment.user_id    = userid;
            comment.created_at = DateTime.Now;

            db.Comments.Add(comment);
            db.SaveChanges();

            return(RedirectToAction("UserPage", "Home", new { id = pageid }));
        }
예제 #14
0
        public ActionResult UserPage(int id)
        {
            if (Session["User"] == null) //ensures that someone must be logged in to view this page
            {
                TempData["Login"] = "******";
                return(View("LoginPage"));
            }
            var db     = new FinalProjectDbContext();
            var userid = Convert.ToInt32(Session["User"]);

            var user     = db.Users.FirstOrDefault(u => u.id == id);                                  //gets user object based on url id
            var messages = db.Messages.Where(m => m.messaged_id == id);                               //gets all messages sent to this user
            var comments = db.Comments.Where(c => c.id > 0);                                          //not a good way to get "all"

            var isfollow = db.Followers.Any(f => (f.followed_id == id) && (f.follower_id == userid)); //gets true or false based on whether the user logged in folows the user whose page we are on
            var follow   = db.Followers.FirstOrDefault(f => (f.followed_id == id) && (f.follower_id == userid));

            var commentWithLikes = new List <CommentViewModel>(); //list of each comment with its likes



            foreach (var comment in comments)
            {
                var likes = db.Likes.Where(l => l.comment_id == comment.id).ToList();

                var likesCount = db.Likes.Where(l => l.comment_id == comment.id).Count(); //count of likes per comment

                var newCommentWithLikes = new CommentViewModel {
                    Comment = comment, Likes = likes, LikesCount = likesCount
                };                                         //sets up each comment with its likes in a new object
                commentWithLikes.Add(newCommentWithLikes); //adding each comment with its likes to the list we initialized
            }


            var viewUser = new UserAndMessages {
                User = user, Messages = messages.ToList(), Comments = commentWithLikes, Follow = follow, IsFollowing = isfollow
            };                                                                                                                                                     //sends everything we need to the user page

            return(View("User", viewUser));
        }
예제 #15
0
        public ActionResult Delete()
        {
            var db = new FinalProjectDbContext();
            var id = Convert.ToInt32(RouteData.Values["id"]); //id of the message


            var message = db.Messages.SingleOrDefault(m => m.id == id);         //get that message from databse based on the id

            var url = message.Messaged.id;                                      //id of the user whose page we were on (for the redirect)

            var userid = Convert.ToInt32(Session["User"]);                      //user id of user logged in

            var comments = db.Comments.Where(c => c.message_id == id).ToList(); // get comments of teh message we are deleting

            db.Comments.RemoveRange(comments);                                  //delete those comments before deleteign the message
            //The method of deleting comments before the message is most liekly incorrect. implementing a cascading deletetion based on foreign keys would be better

            db.Messages.Remove(message);
            db.SaveChanges();

            return(RedirectToAction("UserPage", "Home", new { id = url }));
        }
예제 #16
0
        public ActionResult Index()
        {
            var db     = new FinalProjectDbContext();
            var userid = Convert.ToInt32(Session["User"]);

            var follow = db.Followers.Where(f => f.follower_id == userid).ToList();
            var feed   = new FeedViewModel();

            feed.Messages = new List <Message>();
            feed.Comments = new List <Comment>();

            foreach (var x in follow)
            {
                //for both of the following, need to implement ordering and also checking if the messaegs and comments were after the datetime of the follow
                var messages = db.Messages.Where(m => m.messager_id == x.followed_id).ToList();
                var comments = db.Comments.Where(c => c.user_id == x.followed_id).ToList();

                feed.Messages.AddRange(messages);

                feed.Comments.AddRange(comments);
            }

            return(View(feed));
        }
예제 #17
0
 public EmpleadoServices(FinalProjectDbContext dbContext)
 {
     _DbContext = dbContext;
 }
예제 #18
0
 public DepartamentosServices(FinalProjectDbContext dbContext)
 {
     _DbContext = dbContext;
 }
예제 #19
0
 public ClienteServices(FinalProjectDbContext dbContext)
 {
     _DbContext = dbContext;
 }
예제 #20
0
 public MecanicosServices(FinalProjectDbContext dbContext)
 {
     _DbContext = dbContext;
 }
예제 #21
0
 public MantenimientoServices(FinalProjectDbContext dbContext)
 {
     _DbContext = dbContext;
 }
예제 #22
0
 public FacturaService(FinalProjectDbContext dbContext)
 {
     _dbContext = dbContext;
 }
예제 #23
0
 public DarkSkyController(FinalProjectDbContext context, IConfiguration configuration)
 {
     _context       = context;
     _configuration = configuration;
     _darkSkyKey    = _configuration.GetSection("AppConfiguration")["DarkSkyAPIKey"];
 }
예제 #24
0
        public JsonResult IsEmailExists(string email) //remote validation on client side (stackoverflow)
        {
            var db = new FinalProjectDbContext();

            return(Json(!db.Users.Any(x => x.email == email), JsonRequestBehavior.AllowGet));
        }
예제 #25
0
 public UserRepository(FinalProjectDbContext dbContext) : base(dbContext)
 {
     _dbcontext = dbContext;
 }
예제 #26
0
 public VehiculoServices(FinalProjectDbContext dbContext)
 {
     _DbContext = dbContext;
 }
예제 #27
0
 public XYZController(FinalProjectDbContext context, IConfiguration configuration)
 {
     _context       = context;
     _configuration = configuration;
     _xyzKey        = _configuration.GetSection("AppConfiguration")["XYZMenusAPIKey"];
 }
 public PreferencesController(FinalProjectDbContext dbContext)
     : base(dbContext)
 {
     context = dbContext;
 }
 public ProductRepository(FinalProjectDbContext dbContext) : base(dbContext)
 {
     _dbContext = dbContext;
 }
 public GenericRepository(FinalProjectDbContext context)
 {
     _context = context;
     _dbSet   = context.Set <TEntity>();
 }