public List <BlockedUnits> GetUnitsDataForView(string id) { List <BlockedUnits> lstUnits = new List <BlockedUnits>(); var units = _context.ProjectUnitsData.Where(x => x.Projectuuid == id && (x.status == "Booked" || x.status == "Reserved")).ToList(); foreach (var data in units) { BlockedUnits unit = new BlockedUnits(); unit.UnitNumber = data.UnitNumber; unit.Status = data.status; unit.AgentId = data.AgentId; unit.ProjectId = data.Projectuuid; var ProjectName = _context.ProjectsData.Where(x => x.projectuuid == data.Projectuuid).FirstOrDefault(); unit.ProjectName = ProjectName.ProjectName; lstUnits.Add(unit); } return(lstUnits); }
//Here Updating the Status of Unit either Confir or Rejected public bool UpdateStatusOfBooking(string aid, string pid, string un, string status, string type, string nae, string adid) { dynamic agentDetails = null; dynamic unitDetails = null; if (type == "Admin") { agentDetails = _context.AdminDetails.Where(x => x.AdminUUID == adid).FirstOrDefault(); unitDetails = _context.ProjectUnitsData.Where(x => x.AgentId == adid && x.Projectuuid == pid && x.UnitNumber == un.TrimEnd()).FirstOrDefault(); } else if (type == "Agent") { agentDetails = _context.AgentRegistration.Where(x => x.AgentId == aid).FirstOrDefault(); unitDetails = _context.ProjectUnitsData.Where(x => x.AgentId == aid && x.Projectuuid == pid && x.UnitNumber == un.TrimEnd()).FirstOrDefault(); } else { return(false); } List <ProjectDetails> lstbookedData = new List <ProjectDetails>(); List <ProjectDetails> lstrejectedData = new List <ProjectDetails>(); List <ProjectDetails> lstNewrejectedData = new List <ProjectDetails>(); if (agentDetails != null) { if (!string.IsNullOrEmpty(agentDetails.BlockedUnits)) { List <ProjectDetails> lstDetails = JsonSerializer.Deserialize <List <ProjectDetails> >(agentDetails.BlockedUnits); ProjectDetails BookedProject = new ProjectDetails(); List <BlockedUnits> lstBookedUnits = new List <BlockedUnits>(); List <ProjectDetails> lstNewBookedUnits = new List <ProjectDetails>(); ProjectDetails project = lstDetails.Where(x => x.ProjectId == pid).FirstOrDefault(); BlockedUnits unit = project.UnitsData.Where(y => y.UnitNumber == un.Trim()).FirstOrDefault(); if (status == "Confirmed") { BookedProject.ProjectId = project.ProjectId; BookedProject.ProjectName = project.ProjectName; unit.Status = StatusEnum.Booked.ToString(); unit.StatusConfiredDate = DateTime.Now.ToString("MM-dd-yyyy"); unitDetails.status = StatusEnum.Booked.ToString(); unitDetails.StatusConfiredDate = DateTime.Now.ToString(); unit.customerName = nae; unit.AgentId = aid; lstBookedUnits.Add(unit); BookedProject.UnitsData = lstBookedUnits; if (!string.IsNullOrEmpty(agentDetails.BookingConfirmed)) { lstbookedData = JsonSerializer.Deserialize <List <ProjectDetails> >(agentDetails.BookingConfirmed); lstNewBookedUnits = lstbookedData; lstbookedData = lstbookedData.Where(x => x.ProjectId == pid).ToList(); if (lstbookedData != null && lstbookedData.Count > 0) { foreach (var data in lstbookedData) { data.UnitsData.Add(unit); } } else { lstNewBookedUnits.Add(BookedProject); } agentDetails.BookingConfirmed = JsonSerializer.Serialize(lstNewBookedUnits); } else { lstbookedData.Add(BookedProject); agentDetails.BookingConfirmed = JsonSerializer.Serialize(lstbookedData); } } else if (status == "Rejected") { BookedProject.ProjectId = project.ProjectId; BookedProject.ProjectName = project.ProjectName; unit.Status = StatusEnum.Rejected.ToString(); unit.StatusConfiredDate = DateTime.Now.ToString("MM-dd-yyyy"); unitDetails.status = StatusEnum.Available.ToString(); lstBookedUnits.Add(unit); BookedProject.UnitsData = lstBookedUnits; if (!string.IsNullOrEmpty(agentDetails.RejectedUnits)) { lstrejectedData = JsonSerializer.Deserialize <List <ProjectDetails> >(agentDetails.RejectedUnits); lstNewrejectedData = lstrejectedData; lstrejectedData = lstrejectedData.Where(x => x.ProjectId == pid).ToList(); if (lstrejectedData != null && lstrejectedData.Count > 0) { foreach (var data in lstrejectedData) { data.UnitsData.Add(unit); } } else { lstNewrejectedData.Add(BookedProject); } agentDetails.RejectedUnits = JsonSerializer.Serialize(lstNewrejectedData); } else { lstrejectedData.Add(BookedProject); agentDetails.RejectedUnits = JsonSerializer.Serialize(lstrejectedData); } } project.UnitsData.Remove(unit); agentDetails.BlockedUnits = JsonSerializer.Serialize(lstDetails); _context.SaveChanges(); } return(true); } return(false); }
// public bool UpdatingBlockingUnitsStatus() { try { var agents = _context.AgentRegistration.ToList(); if (agents != null && agents.Count > 0) { foreach (var agent in agents) { if (!string.IsNullOrEmpty(agent.BlockedUnits)) { List <ProjectDetails> lstNewList = new List <ProjectDetails>(); List <BlockedUnits> lstNewBlockedUnits = new List <BlockedUnits>(); AgentRegistration agentUpdate = _context.AgentRegistration.Where(x => x.AgentId == agent.AgentId).FirstOrDefault(); List <ProjectDetails> lstDetails = JsonSerializer.Deserialize <List <ProjectDetails> >(agent.BlockedUnits); List <ProjectDetails> lstNewDetails = lstDetails; List <ProjectDetails> lstRejectedUnits = new List <ProjectDetails>(); ProjectDetails Newdetails = new ProjectDetails(); BlockedUnits rejected = new BlockedUnits(); if (!string.IsNullOrEmpty(agent.RejectedUnits)) { lstRejectedUnits = JsonSerializer.Deserialize <List <ProjectDetails> >(agent.RejectedUnits); } if (lstDetails != null && lstDetails.Count > 0) { foreach (var project in lstDetails) { ProjectDetails rejectedUnits = new ProjectDetails(); List <BlockedUnits> lstRejected = new List <BlockedUnits>(); foreach (var unitdata in project.UnitsData) { DateTime expiryDate = DateTime.Parse(unitdata.ExpiryDate); if (DateTime.Now > expiryDate) { rejected.Id = unitdata.Id; rejected.Status = StatusEnum.Rejected.ToString(); rejected.UnitNumber = unitdata.UnitNumber; rejected.UnitSize = unitdata.UnitSize; rejected.Facing = unitdata.Facing; rejected.CreatedDate = unitdata.CreatedDate; rejected.ExpiryDate = unitdata.ExpiryDate; lstRejected.Add(rejected); ProjectUnitsData unitsData = _context.ProjectUnitsData.Where(x => x.Projectuuid == project.ProjectId && x.UnitNumber == unitdata.UnitNumber).FirstOrDefault(); unitsData.status = StatusEnum.Available.ToString(); unitsData.AgentId = ""; unitsData.BlockedDate = ""; unitsData.ExpiredDate = ""; rejectedUnits.ProjectId = project.ProjectId; rejectedUnits.ProjectName = project.ProjectName; if (!string.IsNullOrEmpty(agentUpdate.RejectedUnits)) { if (lstRejectedUnits != null) { foreach (var data in lstRejectedUnits) { data.UnitsData.Add(rejected); } } else { lstRejectedUnits.Add(rejectedUnits); } } else { rejectedUnits.UnitsData = lstRejected; lstRejectedUnits.Add(rejectedUnits); } Newdetails = project; //UpdateProjectUnitStatus(agent, project, project.ProjectId, unitdata.UnitNumber); } else { } } } Newdetails.UnitsData.Remove(rejected); lstDetails.Remove(Newdetails); agentUpdate.RejectedUnits = JsonSerializer.Serialize(lstRejectedUnits); agentUpdate.BlockedUnits = JsonSerializer.Serialize(lstDetails); _context.SaveChanges(); } } } } } catch (Exception ex) { throw ex; } return(false); }
public ProjectDetails AddBlockedUnitsToDb(UnitModel model) { ProjectDetails projectDetails = new ProjectDetails(); BlockedUnits units = new BlockedUnits(); List <BlockedUnits> lstunits = new List <BlockedUnits>(); List <ProjectDetails> lstDetails = new List <ProjectDetails>(); List <ProjectDetails> newlstDetails = new List <ProjectDetails>(); units.Id = CommonMethods.GenerateuniqueId(); units.UnitNumber = model.UnitNumber; units.UnitSize = model.UnitSize; units.Facing = model.Facing; units.CreatedDate = DateTime.Now.ToString("MM-dd-yyyy hh:mm tt"); units.ExpiryDate = DateTime.Now.AddDays(2).ToString("MM-dd-yyyy hh:mm tt"); units.AgentId = model.AgentId; units.AdminId = model.AdminId; units.Status = StatusEnum.Reserved.ToString(); units.customerName = model.customerName; units.ProjectName = model.ProjectName; projectDetails.ProjectName = model.ProjectName; lstunits.Add(units); projectDetails.UnitsData = lstunits; projectDetails.ProjectId = model.ProjectId; var unitDetails = _context.AdminDetails.Where(x => x.AdminUUID == model.AdminId).FirstOrDefault(); var unitDetailsStatus = _context.ProjectUnitsData.Where(x => x.UnitNumber == model.UnitNumber && x.Projectuuid == model.ProjectId).FirstOrDefault(); if (unitDetailsStatus != null || unitDetailsStatus.status == StatusEnum.Available.ToString()) { unitDetailsStatus.status = StatusEnum.Reserved.ToString(); unitDetailsStatus.BlockedDate = units.CreatedDate; unitDetailsStatus.ExpiredDate = units.ExpiryDate; unitDetailsStatus.AgentId = model.AdminId; } if (unitDetails != null) { if (!string.IsNullOrEmpty(unitDetails.BlockedUnits)) { List <ProjectDetails> unitsData = JsonSerializer.Deserialize <List <ProjectDetails> >(unitDetails.BlockedUnits); lstDetails = unitsData; unitsData = unitsData.Where(x => x.ProjectId == model.ProjectId).ToList(); if (unitsData != null && unitsData.Count > 0) { foreach (var data in unitsData) { data.UnitsData.Add(units); } newlstDetails = lstDetails; unitDetails.BlockedUnits = JsonSerializer.Serialize(newlstDetails); } else { lstDetails.Add(projectDetails); unitDetails.BlockedUnits = JsonSerializer.Serialize(lstDetails); } } else { lstDetails.Add(projectDetails); unitDetails.BlockedUnits = JsonSerializer.Serialize(lstDetails); } _context.SaveChanges(); return(projectDetails); } return(null); }
public MyBookinsViewModel GetAgentsUnits(string agentId, string type) { MyBookinsViewModel units = new MyBookinsViewModel(); dynamic list = null; if (type == "Admin") { list = _context.AdminDetails.Where(x => x.AdminUUID == agentId).FirstOrDefault(); } else { list = _context.AgentRegistration.Where(x => x.AgentId == agentId).FirstOrDefault(); } if (!string.IsNullOrEmpty(agentId)) { if (list != null) { if (!string.IsNullOrEmpty(list.BlockedUnits)) { List <BlockedUnits> lstNewunits = new List <BlockedUnits>(); List <ProjectDetails> lstblockedUnits = JsonSerializer.Deserialize <List <ProjectDetails> >(list.BlockedUnits); List <ProjectDetails> lstNewblockedUnits = new List <ProjectDetails>(); foreach (var unit in lstblockedUnits) { BlockedUnits unis = new BlockedUnits(); ProjectDetails newObj = new ProjectDetails(); unis.ProjectId = unit.ProjectId; unis.ProjectName = unit.ProjectName; foreach (var project in unit.UnitsData) { unis.ProjectId = unit.ProjectId; unis.ProjectName = unit.ProjectName; unis.UnitNumber = project.UnitNumber; unis.UnitSize = project.UnitSize; unis.Status = project.Status; unis.AgentId = project.AgentId; unis.CreatedDate = project.CreatedDate; } lstNewunits.Add(unis); newObj.UnitsData = lstNewunits; lstNewblockedUnits.Add(newObj); } units.lstBlocked = lstNewblockedUnits; } if (!string.IsNullOrEmpty(list.RejectedUnits)) { List <BlockedUnits> lstNewunits = new List <BlockedUnits>(); List <ProjectDetails> lstrejectedUnits = JsonSerializer.Deserialize <List <ProjectDetails> >(list.RejectedUnits); List <ProjectDetails> lstNewrejectedUnits = new List <ProjectDetails>(); foreach (var unit in lstrejectedUnits) { BlockedUnits unis = new BlockedUnits(); ProjectDetails newObj = new ProjectDetails(); unis.ProjectId = unit.ProjectId; unis.ProjectName = unit.ProjectName; foreach (var project in unit.UnitsData) { unis.ProjectId = unit.ProjectId; unis.ProjectName = unit.ProjectName; unis.UnitNumber = project.UnitNumber; unis.UnitSize = project.UnitSize; unis.Status = project.Status; unis.AgentId = project.AgentId; unis.CreatedDate = project.CreatedDate; } lstNewunits.Add(unis); newObj.UnitsData = lstNewunits; lstNewrejectedUnits.Add(newObj); } units.lstRejected = lstrejectedUnits; } if (!string.IsNullOrEmpty(list.BookingConfirmed)) { List <BlockedUnits> lstNewunits = new List <BlockedUnits>(); List <ProjectDetails> lstBookedUnits = JsonSerializer.Deserialize <List <ProjectDetails> >(list.BookingConfirmed); List <ProjectDetails> lstNewBookedUnits = new List <ProjectDetails>(); foreach (var unit in lstBookedUnits) { BlockedUnits unis = new BlockedUnits(); ProjectDetails newObj = new ProjectDetails(); unis.ProjectId = unit.ProjectId; unis.ProjectName = unit.ProjectName; foreach (var project in unit.UnitsData) { unis.ProjectId = unit.ProjectId; unis.ProjectName = unit.ProjectName; unis.UnitNumber = project.UnitNumber; unis.UnitSize = project.UnitSize; unis.Status = project.Status; unis.AgentId = project.AgentId; unis.CreatedDate = project.CreatedDate; } lstNewunits.Add(unis); newObj.UnitsData = lstNewunits; lstNewBookedUnits.Add(newObj); } units.lstBooked = lstBookedUnits; } } } return(units); }