Ejemplo n.º 1
0
        public ActionResult Handle(int?id, string result)
        {
            if (id == null)
            {
                return(RedirectToAction("HandleApplication"));
            }
            ApplyRecord record = db.ApplyRecords.Find(id);

            if (record == null)
            {
                return(RedirectToAction("HandleApplication"));
            }
            record.Admin      = User.Identity.Name;
            record.States     = result;
            record.HandleDate = DateTime.Now;
            if (result == "Approve")
            {
                var server = db.Servers.Find(record.ServerId);
                var user   = db.UserServers.Find(record.Applicant);
                if (user == null)
                {
                    user         = new UserServer();
                    user.UserId  = record.Applicant;
                    user.Servers = new List <Server>();
                    user.Servers.Add(server);
                    db.UserServers.Add(user);
                }
                else
                {
                    user.Servers.Add(server);
                }
                server.State = "Rented";

                ServerRentalRecord RentalRecord = new ServerRentalRecord();
                RentalRecord.ServerId = record.ServerId;
                RentalRecord.From     = DateTime.Now;
                RentalRecord.IsActive = true;
                RentalRecord.Renter   = User.Identity.Name;
                db.ServerRentalRecords.Add(RentalRecord);
            }

            db.SaveChanges();
            if (result == "Approve")
            {
                var OtherApply = db.ApplyRecords.Where(x => x.ServerId == record.ServerId && x.States == "Active").ToList();
                foreach (var other in OtherApply)
                {
                    other.States = "Decline";
                }
            }
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
Ejemplo n.º 2
0
        public ActionResult RetrunVM(string ServerId)
        {
            var user   = db.UserServers.Find(User.Identity.Name);
            var server = db.Servers.Find(ServerId);

            user.Servers.Remove(server);
            ServerRentalRecord rentalRecord = db.ServerRentalRecords.Where(x => x.ServerId == ServerId && x.Renter == User.Identity.Name && x.IsActive == true).FirstOrDefault();

            rentalRecord.To       = DateTime.Now;
            rentalRecord.IsActive = false;
            server.State          = "Dirty";
            db.SaveChanges();
            return(Json("ok"));
        }