Exemplo n.º 1
0
 public ActionResult AddComment(FormCollection form)
 {
     int id = int.Parse(form["id"].ToString());
     string comment = form["comment"].ToString();
     using (var db = new RazomContext())
     {
         Comments c = new Comments { PlaceID = id, Message = comment };
         db.Comments.Add(c);
         db.SaveChanges();
     }
     return RedirectToAction("Show", new { id=id});
 }
Exemplo n.º 2
0
 public ActionResult AddToFavorite(int id)
 {
     HttpCookie cookie = Request.Cookies[FormsAuthentication.FormsCookieName];
     FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
     string username = ticket.Name;
     using (var db = new RazomContext())
     {
         Users user = db.Users.SingleOrDefault(u => u.Login == username);
         var set = db.FuturePlace.Where(p => p.PlaceID == id && p.UserID == user.UserID);
         if (set.Count() == 0)
         {
             FuturePlace p = new FuturePlace { PlaceID = id, UserID = user.UserID };
             db.FuturePlace.Add(p);
             db.SaveChanges();
         }
     }
     return RedirectToAction("Show", "Place", new { id=id});
 }
Exemplo n.º 3
0
 public void Send(int user_id, int travel_id, string message)
 {
     string name = "";
     using (var db = new RazomContext())
     {
         Users u = db.Users.Find(user_id);
         name = u.FirstName + " " + u.SecondName;
         Message m = new Message
         {
             Time = DateTime.Now,
             TravelID = travel_id,
             UserID = user_id,
             Text = message
         };
         db.Message.Add(m);
         db.SaveChanges();
     }
     Clients.All.addNewMessageToPage(name, travel_id, message);
 }
Exemplo n.º 4
0
 public ActionResult Create(PlaceCreator model, HttpPostedFileBase[] files)
 {
     int res = 0;
     if (ModelState.IsValid)
     {
         if (files.Count() > 5)
         {
             return Create("Не можна додавати більше 5 фото");
         }
         using (var db = new RazomContext())
         {
             Places p = new Places()
             {
                 CityID = model.SelectedCity,
                 Name = model.Place.Name,
                 PlaceTypeID = model.SelectedPlaceType,
                 Address = model.Place.Address,
             };
             db.Places.Add(p);
             db.SaveChanges();
             res = p.PlaceID;
             foreach (var file in files)
             {
                 byte[] image = new byte[file.ContentLength];
                 using (BinaryReader r = new BinaryReader(file.InputStream))
                 {
                     image = r.ReadBytes(file.ContentLength);
                 }
                 db.Database.ExecuteSqlCommand("INSERT INTO PhotosPlace(PlaceID,FileFoto) Values({0},{1})", p.PlaceID, image);
             }
         }
         return RedirectToAction("Show", "Place", new { id = res });
     }
     return Create("Не введена назва або адреса");
 }
Exemplo n.º 5
0
 public ActionResult DeleteFromList(int id)
 {
     using (var db = new RazomContext())
     {
         FuturePlace ID = db.FuturePlace.Find(id);
         if (ID != null)
         {
             db.FuturePlace.Remove(ID);
             db.SaveChanges();
             ViewBag.Message = "Місце успішно видалено зі списку!";
             return View();
         }
     }
     ViewBag.Message = "Щось пройшло не так...";
     return View();
 }
Exemplo n.º 6
0
 public ActionResult LeftTrip(int id)
 {
     HttpCookie cookie = Request.Cookies[FormsAuthentication.FormsCookieName];
     FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
     string username = ticket.Name;
     using (var db = new RazomContext())
     {
         int userID = db.Users.SingleOrDefault(u => u.Login == username).UserID;
         History hist = db.History.Where(h => h.TravelID == id && h.UserID == userID).First();
         db.History.Remove(hist);
         db.SaveChanges();
         if (db.History.Where(h => h.TravelID == id).Count() == 0)
         {
             var conect = db.TravelPlaces.Where(t => t.TravelID == id);
             foreach (var item in conect)
             {
                 db.TravelPlaces.Remove(item);
             }
             db.SaveChanges();
             Travels tr = db.Travels.Find(id);
             db.Travels.Remove(tr);
             db.SaveChanges();
         }
     }
     return View();
 }
Exemplo n.º 7
0
        public ActionResult Create(Trip trip)
        {
            if (ModelState.IsValid)
            {
                if (trip.Start > trip.Finish)
                {
                    ModelState.AddModelError("", "Дата початку має бути раніше за дату кінця");
                    return View();
                }
                if (Math.Abs(trip.Start.Year - DateTime.Now.Year) >100)
                {
                    ModelState.AddModelError("", "Неправильно введена дата початку");
                    return View();
                }
                if (Math.Abs(trip.Finish.Year - DateTime.Now.Year) > 100)
                {
                    ModelState.AddModelError("", "Неправильно введена дата кінця");
                    return View();
                }
                using (var db = new RazomContext())
                {
                    HttpCookie cookie = Request.Cookies[FormsAuthentication.FormsCookieName];
                    FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
                    Users user = db.Users.Where(u => u.Login == ticket.Name).SingleOrDefault();

                    Travels t = new Travels { DateStart = trip.Start, DateFinish = trip.Finish, Name = trip.Name };
                    db.Travels.Add(t);
                    db.SaveChanges();
                    db.History.Add(new History { UserID = user.UserID, TravelID = t.TravelID });
                    db.SaveChanges();
                    return RedirectToAction("Show", "Trip", new { id = t.TravelID });
                }
            }

            return View();
        }
Exemplo n.º 8
0
        public ActionResult ConfirmTrip(int id)
        {
            HttpCookie cookie = Request.Cookies[FormsAuthentication.FormsCookieName];
            FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
            string username = ticket.Name;

            using (var db = new RazomContext())
            {
                Users user = db.Users.Where(u => u.Login == username).FirstOrDefault();
                Invite inv = db.Invite.Where(i => i.TravelID == id).FirstOrDefault();
                db.Invite.Remove(inv);
                db.SaveChanges();
                History h = new History { UserID = user.UserID, TravelID = id };
                db.History.Add(h);
                db.SaveChanges();
            }
            return RedirectToAction("Show", "Trip", new { id=id });
        }
Exemplo n.º 9
0
        public ActionResult ConfirmAddUser(int id, int uid)
        {
            string name = "";
            using (var db = new RazomContext())
            {
                Users user = db.Users.Find(uid);

                name = user.FirstName + " " + user.SecondName;
                ViewBag.Name = name;
                ViewBag.id = id;
                Invite inv = new Invite();
                inv.TravelID = id;
                inv.UserID = uid;
                db.Invite.Add(inv);
                db.SaveChanges();
            }
            return View();
        }
Exemplo n.º 10
0
        public ActionResult ConfirmAddPlace(int id, int uid)
        {
            string name = "";
            using (var db = new RazomContext())
            {
                Places place = db.Places.Find(uid);
                name = place.Name;
                ViewBag.Name = name;
                ViewBag.id = id;

                TravelPlaces tp = new TravelPlaces();
                tp.TravelID = id;
                tp.PlaceID = uid;
                db.TravelPlaces.Add(tp);
                db.SaveChanges();
            }
            return View();
        }
Exemplo n.º 11
0
        public ActionResult ChangeName(FormCollection form)
        {
            string name = form["new_name"].ToString();
            if (!(String.IsNullOrEmpty(name) || String.IsNullOrWhiteSpace(name)))
            {
                using (var db = new RazomContext())
                {
                    Travels t = db.Travels.Find(int.Parse(form["id"].ToString()));
                    t.Name = name;
                    db.SaveChanges();
                }
            }

            return RedirectToAction("Show", "Trip", new { id = form["id"].ToString() });
        }
Exemplo n.º 12
0
 public ActionResult ChangeDate(TripDate model)
 {
     if (ModelState.IsValid)
     {
         if (model.Start > model.Finish)
         {
             ModelState.AddModelError("", "Дата початку має бути раніше за дату кінця");
             return View();
         }
         if (Math.Abs(model.Start.Year - DateTime.Now.Year) > 100)
         {
             ModelState.AddModelError("", "Неправильно введена дата початку");
             return View();
         }
         if (Math.Abs(model.Finish.Year - DateTime.Now.Year) > 100)
         {
             ModelState.AddModelError("", "Неправильно введена дата кінця");
             return View();
         }
         using (var db = new RazomContext())
         {
             Travels t = db.Travels.Find(model.ID);
             t.DateStart = model.Start;
             t.DateFinish = model.Finish;
             db.SaveChanges();
         }
         return RedirectToAction("Show", new { id = model.ID });
     }
     return View();
 }
Exemplo n.º 13
0
        public ActionResult RegisterTwo(SecondRegisterModel model, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                using (var db = new RazomContext())
                {
                    if (file != null)
                    {
                        byte[] image = new byte[file.ContentLength];
                        using (BinaryReader r = new BinaryReader(file.InputStream))
                        {
                            image = r.ReadBytes(file.ContentLength);
                        }
                        db.Database.ExecuteSqlCommand("UPDATE Users SET Phone={0}, Avatar={1} WHERE UserID={2}", model.Phone, image, model.ID);
                    }

                    NetworkAccounts a1 = new NetworkAccounts { UserID = model.ID, NetworkID = db.Network.SingleOrDefault(i => i.Name == "foursquare").NetworkID, ProfileURL = model.FourSquareAccount != null? model.FourSquareAccount.Substring(model.FourSquareAccount.LastIndexOf('/')+1):"" };
                    NetworkAccounts a2 = new NetworkAccounts { UserID = model.ID, NetworkID = db.Network.SingleOrDefault(i => i.Name == "twitter").NetworkID, ProfileURL = model.TwitterAccount != null? model.TwitterAccount.Replace("@",""):"" };
                    NetworkAccounts a3 = new NetworkAccounts { UserID = model.ID, NetworkID = db.Network.SingleOrDefault(i => i.Name == "vk").NetworkID, ProfileURL = model.VkAccount != null? model.VkAccount.Substring(model.VkAccount.LastIndexOf('/')+1).Replace("id",""): "" };
                    Users user = db.Users.Find(model.ID);
                    if (!string.IsNullOrEmpty(model.About))
                    {
                        string[] abouts = model.About.Split(' ', ',', '.', '?', ';', ':', '<', '>', '\\', '/', '[', ']', '{', '}', '!', '@', '#', '$', '%', '^', '&', '№');
                        foreach (string item in abouts)
                        {
                            if (!string.IsNullOrEmpty(item))
                            {
                                db.UsersData.Add(new UsersData { DataTypeID = db.DataType.Where(m => m.Type == "AboutMe").First().DataTypeID, Data = item, UserID = model.ID, });
                            }
                        }
                    }

                    user.Phone = model.Phone;
                    if(!string.IsNullOrEmpty(model.FourSquareAccount))
                        db.NetworkAccounts.Add(a1);
                    if (!string.IsNullOrEmpty(model.TwitterAccount))
                        db.NetworkAccounts.Add(a2);
                    if(!string.IsNullOrEmpty(model.VkAccount))
                        db.NetworkAccounts.Add(a3);
                    db.SaveChanges();
                    return View("EndReg");
                }
            }
            return View();
        }
Exemplo n.º 14
0
        public ActionResult RegisterOne(FirstRegisterModel model)
        {
            if (ModelState.IsValid)
            {
                int id = 0;
                using (var db = new RazomContext())
                {
                    Users copyUser = db.Users.Where(u => u.Login == model.UserName).SingleOrDefault();
                    if (copyUser != null)
                    {
                        ModelState.AddModelError("key", "Користувач з таким логіном уже існує!");
                        return View();
                    }
                    Users user = new Users
                    {
                        Login = model.UserName,
                        IsAdmin = false,
                        Password = model.Password,
                        Email = model.EMail,
                        FirstName = model.FirstName,
                        SecondName = model.SecondName
                    };
                    db.Users.Add(user);
                    db.SaveChanges();
                    user = db.Users.FirstOrDefault(u => u.Login == model.UserName);
                    id = user.UserID;

                    FormsAuthentication.SetAuthCookie(model.UserName, false);
                    var roleCoockie = new HttpCookie("role", "user");
                    HttpContext.Response.Cookies.Add(roleCoockie);
                }
                return View("RegisterTwo",new SecondRegisterModel { ID = id });
            }
            return View();
        }
Exemplo n.º 15
0
 public ActionResult DeleteAccount()
 {
     HttpCookie cookie = Request.Cookies[FormsAuthentication.FormsCookieName];
     FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
     string username = ticket.Name;
     using(var db = new RazomContext())
     {
         Users user = db.Users.SingleOrDefault(u => u.Login == username);
         db.Database.ExecuteSqlCommand("delete from FuturePlace where UserID={0}", user.UserID);
         db.Database.ExecuteSqlCommand("delete from NetworkAccounts where UserID={0}", user.UserID);
         db.Database.ExecuteSqlCommand("delete from UsersData where UserID={0}", user.UserID);
         db.Database.ExecuteSqlCommand("delete from TestData where UserID={0}", user.UserID);
         db.Database.ExecuteSqlCommand("delete from History where userID={0}", user.UserID);
         db.Database.ExecuteSqlCommand("delete from Message where userID={0}", user.UserID);
         db.Users.Remove(user);
         db.SaveChanges();
     }
     FormsAuthentication.SignOut();
     HttpContext.Response.Cookies.Remove("role");
     return View();
 }