Example #1
0
        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);
        }
Example #2
0
        //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);
        }
Example #3
0
 //
 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);
 }
Example #4
0
        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);
        }