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")); }
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")); }