public ActionResult Company(int companyId = 0) { CompanyVm companyvm = new CompanyVm(); using (HrDataContext dbContext = new HrDataContext()) { //companyId = dbContext.Branches.Where(x => x.BranchID == SESSIONOBJ.BRANCHID).FirstOrDefault()==null?0 // : dbContext.Branches.Where(x => x.BranchID == SESSIONOBJ.BRANCHID).FirstOrDefault().CompanyId.Value; companyId = 1000; Company company = dbContext.Companies.Where(x => x.CompanyId == companyId).FirstOrDefault(); if (company != null) { companyvm.company = new CompanyVmObj(); companyvm.company.CompanyCode = company.CompanyCode; companyvm.company.CompanyId = company.CompanyId; companyvm.company.CompanyName = company.CompanyName; companyvm.company.CreatedBy = company.CreatedBy; companyvm.company.CreatedOn = company.CreatedOn; companyvm.company.InCorporationDate = company.InCorporationDate; companyvm.company.IsActive = company.IsActive; companyvm.company.ModifiedBy = company.ModifiedBy; companyvm.company.ModifiedOn = company.ModifiedOn; companyvm.company.RegNo = company.RegNo; companyvm.company.SSFNo = company.SSFNumber; companyvm.company.TaxIdNo = company.TaxIdNumber; companyvm.company.BranchCode = company.BranchCode; } companyvm.companyAddress = new AddressVm(); Address address = dbContext.Addresses.Where(x => x.LinkID == companyId && x.AddressType == UTILITY.COMPANY).FirstOrDefault(); if (address != null) { companyvm.companyAddress.Address1 = address.Address1; companyvm.companyAddress.Address2 = address.Address2; companyvm.companyAddress.AddressId = address.AddressId; companyvm.companyAddress.AddressType = address.AddressType; companyvm.companyAddress.CityName = address.CityName; companyvm.companyAddress.Contact = address.Contact; companyvm.companyAddress.CountryCode = address.CountryCode; companyvm.companyAddress.CreatedBy = address.CreatedBy; companyvm.companyAddress.CreatedOn = address.CreatedOn; companyvm.companyAddress.Email = address.Email; companyvm.companyAddress.FaxNo = address.FaxNo; companyvm.companyAddress.IsActive = address.IsActive; companyvm.companyAddress.LinkID = address.LinkID; companyvm.companyAddress.MobileNo = address.MobileNo; companyvm.companyAddress.ModifiedBy = address.ModifiedBy; companyvm.companyAddress.ModifiedOn = address.ModifiedOn; companyvm.companyAddress.SeqNo = address.SeqNo; companyvm.companyAddress.StateName = address.StateName; companyvm.companyAddress.TelNo = address.TelNo; companyvm.companyAddress.WebSite = address.WebSite; companyvm.companyAddress.ZipCode = address.ZipCode; } var result = dbContext.Companies.GroupJoin(dbContext.Branches, a => a.CompanyId, b => b.CompanyId, (a, b) => new { A = a, B = b }).ToList(); companyvm.companyTreeVm = new List <companyTreeVm>(); companyTreeVm companyTreeVm = new companyTreeVm(); foreach (var item in result) { companyTreeVm.href = item.A.CompanyId.ToString(); companyTreeVm.text = item.A.CompanyName; companyTreeVm.nodes = new List <branchTreeVm>(); foreach (var subitem in item.B) { branchTreeVm branchVM = new branchTreeVm() { href = subitem.BranchID.ToString(), text = subitem.BranchName, }; companyTreeVm.nodes.Add(branchVM); } } companyvm.companyTreeVm.Add(companyTreeVm); } return(View(companyvm)); }
public ActionResult AddBranch(int branchId = 0) { BranchVm branchVm = new BranchVm(); branchVm.address = new AddressVm(); using (HrDataContext dbContext = new HrDataContext()) { Branch branch = dbContext.Branches.Where(x => x.BranchID == branchId).FirstOrDefault(); branchVm.branch = branch; Address address = dbContext.Addresses.Where(x => x.LinkID == branchId && x.AddressType == UTILITY.BRANCH).FirstOrDefault(); if (branchId != -1 && address != null) { branchVm.address.Address1 = address.Address1; branchVm.address.Address2 = address.Address2; branchVm.address.AddressId = address.AddressId; branchVm.address.AddressType = address.AddressType; branchVm.address.CityName = address.CityName; branchVm.address.Contact = address.Contact; branchVm.address.CountryCode = address.CountryCode; branchVm.address.CreatedBy = address.CreatedBy; branchVm.address.CreatedOn = address.CreatedOn; branchVm.address.Email = address.Email; branchVm.address.FaxNo = address.FaxNo; branchVm.address.IsActive = address.IsActive; branchVm.address.LinkID = address.LinkID; branchVm.address.MobileNo = address.MobileNo; branchVm.address.ModifiedBy = address.ModifiedBy; branchVm.address.ModifiedOn = address.ModifiedOn; branchVm.address.SeqNo = address.SeqNo; branchVm.address.StateName = address.StateName; branchVm.address.TelNo = address.TelNo; branchVm.address.WebSite = address.WebSite; branchVm.address.ZipCode = address.ZipCode; } var result = dbContext.Companies.GroupJoin(dbContext.Branches, a => a.CompanyId, b => b.CompanyId, (a, b) => new { A = a, B = b }).ToList(); branchVm.companyTreeVm = new List <companyTreeVm>(); companyTreeVm companyTreeVm = new companyTreeVm(); foreach (var item in result) { companyTreeVm.href = item.A.CompanyId.ToString(); companyTreeVm.text = item.A.CompanyName; companyTreeVm.nodes = new List <branchTreeVm>(); foreach (var subitem in item.B) { branchTreeVm branchVM = new branchTreeVm() { href = subitem.BranchID.ToString(), text = subitem.BranchName, }; companyTreeVm.nodes.Add(branchVM); } } branchVm.companyTreeVm.Add(companyTreeVm); } return(View(branchVm)); }