public IActionResult NewBookings() { if (!string.IsNullOrEmpty(HttpContext.Session.GetString("AdminId"))) { BookingNewViewModel obj = _operation.GetNewBookings(HttpContext.Session.GetString("AdminId")); obj.lstBookings = obj.lstBookings.OrderByDescending(item => item.CreatedDate).ToList(); obj.lstAgents = _operation.GetAgentsData(); return(View(obj)); } return(RedirectToAction("Index", "AdminLogin")); }
//Getting the NewBookings Data public BookingNewViewModel GetNewBookings(string id) { List <NewBookingViewModel> lst = new List <NewBookingViewModel>(); List <ProjectDetails> lstProjectDetails = new List <ProjectDetails>(); List <ProjectDetails> lstRejProjectDetails = new List <ProjectDetails>(); List <ProjectDetails> lstbookedProjectDetails = new List <ProjectDetails>(); List <ProjectDetails> lstSelfProjectDetails = new List <ProjectDetails>(); List <ProjectDetails> lstadbookedProjectDetails = new List <ProjectDetails>(); List <ProjectDetails> lstRejectesProjectDetails = new List <ProjectDetails>(); var admins = _context.AdminDetails.Where(x => x.AdminUUID == id).FirstOrDefault(); BookingNewViewModel ObjModel = new BookingNewViewModel(); if (admins != null) { if (!string.IsNullOrEmpty(admins.BlockedUnits)) { lstSelfProjectDetails = JsonSerializer.Deserialize <List <ProjectDetails> >(admins.BlockedUnits); foreach (var projectData in lstSelfProjectDetails) { foreach (var unit in projectData.UnitsData) { NewBookingViewModel agentDetails = new NewBookingViewModel(); agentDetails.AdminId = admins.AdminUUID; agentDetails.AgentName = "SarkProject"; agentDetails.UnitSize = unit.UnitSize; agentDetails.CreatedDate = unit.CreatedDate; agentDetails.UnitNumber = unit.UnitNumber; agentDetails.Facing = unit.Facing; agentDetails.ProjectId = projectData.ProjectId; agentDetails.ProjectName = projectData.ProjectName; agentDetails.Status = unit.Status; agentDetails.StatusConfiredDate = unit.StatusConfiredDate; agentDetails.customerName = unit.customerName; agentDetails.AgentId = unit.AgentId; agentDetails.customerName = unit.customerName; lst.Add(agentDetails); } } } if (!string.IsNullOrEmpty(admins.RejectedUnits)) { lstRejectesProjectDetails = JsonSerializer.Deserialize <List <ProjectDetails> >(admins.RejectedUnits); foreach (var projectData in lstRejectesProjectDetails) { foreach (var unit in projectData.UnitsData) { NewBookingViewModel agentDetails = new NewBookingViewModel(); agentDetails.AgentId = admins.AdminUUID; agentDetails.AgentName = "SarkProject"; agentDetails.UnitSize = unit.UnitSize; agentDetails.CreatedDate = unit.CreatedDate; agentDetails.UnitNumber = unit.UnitNumber; agentDetails.Facing = unit.Facing; agentDetails.ProjectId = projectData.ProjectId; agentDetails.ProjectName = projectData.ProjectName; agentDetails.Status = unit.Status; agentDetails.customerName = unit.customerName; lst.Add(agentDetails); } } } if (!string.IsNullOrEmpty(admins.BookingConfirmed)) { lstadbookedProjectDetails = JsonSerializer.Deserialize <List <ProjectDetails> >(admins.BookingConfirmed); foreach (var projectData in lstadbookedProjectDetails) { foreach (var unit in projectData.UnitsData) { NewBookingViewModel agentDetails = new NewBookingViewModel(); agentDetails.AgentId = admins.AdminUUID; agentDetails.AgentName = "SarkProject"; agentDetails.UnitSize = unit.UnitSize; agentDetails.CreatedDate = unit.CreatedDate; agentDetails.UnitNumber = unit.UnitNumber; agentDetails.Facing = unit.Facing; agentDetails.ProjectId = projectData.ProjectId; agentDetails.ProjectName = projectData.ProjectName; agentDetails.StatusConfiredDate = unit.StatusConfiredDate; agentDetails.customerName = unit.customerName; agentDetails.Status = unit.Status; lst.Add(agentDetails); } } } } var agents = _context.AgentRegistration.ToList(); foreach (var agent in agents) { if (!string.IsNullOrEmpty(agent.BlockedUnits)) { lstProjectDetails = JsonSerializer.Deserialize <List <ProjectDetails> >(agent.BlockedUnits); foreach (var projectData in lstProjectDetails) { foreach (var unit in projectData.UnitsData) { NewBookingViewModel agentDetails = new NewBookingViewModel(); agentDetails.AgentId = agent.AgentId; agentDetails.AgentName = agent.AgetName; agentDetails.UnitSize = unit.UnitSize; agentDetails.CreatedDate = unit.CreatedDate; agentDetails.UnitNumber = unit.UnitNumber; agentDetails.Facing = unit.Facing; agentDetails.ProjectId = projectData.ProjectId; agentDetails.ProjectName = projectData.ProjectName; agentDetails.StatusConfiredDate = unit.StatusConfiredDate; agentDetails.customerName = unit.customerName; agentDetails.Status = unit.Status; lst.Add(agentDetails); } } } if (!string.IsNullOrEmpty(agent.RejectedUnits)) { lstRejProjectDetails = JsonSerializer.Deserialize <List <ProjectDetails> >(agent.RejectedUnits); foreach (var projectData in lstRejProjectDetails) { foreach (var unit in projectData.UnitsData) { NewBookingViewModel agentDetails = new NewBookingViewModel(); agentDetails.AgentId = agent.AgentId; agentDetails.AgentName = agent.AgetName; agentDetails.UnitSize = unit.UnitSize; agentDetails.CreatedDate = unit.CreatedDate; agentDetails.UnitNumber = unit.UnitNumber; agentDetails.Facing = unit.Facing; agentDetails.ProjectId = projectData.ProjectId; agentDetails.ProjectName = projectData.ProjectName; agentDetails.StatusConfiredDate = unit.StatusConfiredDate; agentDetails.Status = unit.Status; agentDetails.customerName = unit.customerName; lst.Add(agentDetails); } } } if (!string.IsNullOrEmpty(agent.BookingConfirmed)) { lstbookedProjectDetails = JsonSerializer.Deserialize <List <ProjectDetails> >(agent.BookingConfirmed); foreach (var projectData in lstbookedProjectDetails) { foreach (var unit in projectData.UnitsData) { NewBookingViewModel agentDetails = new NewBookingViewModel(); agentDetails.AgentId = agent.AgentId; agentDetails.AgentName = agent.AgetName; agentDetails.UnitSize = unit.UnitSize; agentDetails.CreatedDate = unit.CreatedDate; agentDetails.UnitNumber = unit.UnitNumber; agentDetails.Facing = unit.Facing; agentDetails.ProjectId = projectData.ProjectId; agentDetails.ProjectName = projectData.ProjectName; agentDetails.StatusConfiredDate = unit.StatusConfiredDate; agentDetails.customerName = unit.customerName; agentDetails.Status = unit.Status; lst.Add(agentDetails); } } } } ObjModel.lstBookings = lst; return(ObjModel); }