/// <summary> /// Returns a list of all systems in a specific jobsite which user has access to /// </summary> /// <param name="JobSiteId"></param> /// <param name="PageNo"></param> /// <param name="PageSize"></param> /// <returns></returns> public List <SystemForSetupVwMdl> getSystemListForSetupInInventory(int JobSiteId, int PageNo, int PageSize) { PageNo = PageNo <= 1 ? 0 : PageNo - 1; var result = new List <SystemForSetupVwMdl>(); if (!Initialized) { return(result); } var _access = new BLL.Core.Domain.UserAccess(new SharedContext(), userTableId); if (!_access.hasAccessToJobsite(JobSiteId)) { return(result); } var jobsites = _access.getAccessibleJobsites().Select(k => k.crsf_auto).ToList(); var systems = _context.LU_Module_Sub.Where(m => jobsites.Any(k => m.crsf_auto == k) && (m.equipmentid_auto == null || m.equipmentid_auto == 0)).ToList(); result = systems.Select(m => new SystemForSetupVwMdl { Id = m.Module_sub_auto.LongNullableToInt(), JobsiteId = m.crsf_auto.LongNullableToInt(), Serial = m.Serialno, EquipmentId = m.equipmentid_auto.LongNullableToInt(), Side = Side.Unknown, SystemType = (UCSystemType)m.systemTypeEnumIndex }).GroupBy(m => m.Id).Select(m => m.First()).Skip(PageNo * PageSize).Take(PageSize).ToList(); foreach (var system in result) { var logicalSystem = new UCSystem(new DAL.UndercarriageContext(), system.Id); system.Make = logicalSystem.getMake(); system.Model = logicalSystem.getModel(); system.Family = logicalSystem.getFamily(); system.Side = logicalSystem.side; system.SystemType = logicalSystem.GetSystemType(); } return(result.OrderBy(m => m.Serial).ToList()); }
public async Task <Tuple <bool, UserViewModel> > GetUser(int userId, System.Security.Principal.IPrincipal User) { var _access = new BLL.Core.Domain.UserAccess(new SharedContext(), User); if (_access.getAccessibleUsers().Where(m => m.user_auto == userId).Count() == 0) { return(Tuple.Create <bool, UserViewModel>(false, null)); } USER_TABLE user = await _context.USER_TABLE.FindAsync(userId); if (user == null) { return(Tuple.Create <bool, UserViewModel>(false, null)); } UserViewModel returnUser = new UserViewModel() { Email = user.email, Id = (int)user.user_auto, Name = user.username, AccessLevel = (UserAccessTypes)(int)_access.getHighestCategoryAccess() }; return(Tuple.Create(true, returnUser)); }
public List <BasicJobsiteDataSet> getListOfJobsitesForCustomer(long customerId, int User) { var accessibleJobsites = new BLL.Core.Domain.UserAccess(new SharedContext(), User).getAccessibleJobsites().Select(m => m.crsf_auto).ToList(); using (var context = new SharedContext()) { return(context.CRSF.OrderBy(j => j.site_name).Where(j => j.customer_auto == customerId && accessibleJobsites.Any(k => j.crsf_auto == k)) .Select(j => new BasicJobsiteDataSet { jobsiteId = j.crsf_auto, jobsiteName = j.site_name, equipmentCount = context.EQUIPMENT.Where(e => e.crsf_auto == j.crsf_auto).Count(), implementCount = context.GET.Where(i => i.EQUIPMENT.crsf_auto == j.crsf_auto).Count() }).ToList()); } }
public List <JobSiteForSelectionVwMdl> getJobSiteListForSelection(int PageNo, int PageSize) { PageNo = PageNo <= 1 ? 0 : PageNo - 1; var result = new List <JobSiteForSelectionVwMdl>(); if (!Initialized) { return(result); } var jobsites = new BLL.Core.Domain.UserAccess(new SharedContext(), userTableId).getAccessibleJobsites().ToList(); return(jobsites.Select(m => new JobSiteForSelectionVwMdl { Id = longNullableToint(m.crsf_auto), Title = m.site_name, CustomerId = m.customer_auto.LongNullableToInt() }).GroupBy(m => m.Id).Select(m => m.First()).Skip(PageNo * PageSize).Take(PageSize).OrderBy(m => m.Title).ToList()); }
/// <summary> /// Returns a list of all customers that belong to a given dealership. /// </summary> /// <param name="dealershipId"></param> /// <returns>A list of customer objects. Each object contains the customer's id, name, contactEmail, isActive and jobsiteCount. </returns> public List <BasicCustomerDataSet> getListOfCustomersForDealership(int dealershipId, System.Security.Principal.IPrincipal User) { var customers = new BLL.Core.Domain.UserAccess(new SharedContext(), User).getAccessibleCustomers(); using (var context = new SharedContext()) { return(customers.OrderBy(c => c.cust_name).Where(c => c.DealershipId == dealershipId) .Select(c => new BasicCustomerDataSet { id = c.customer_auto, name = c.cust_name, contactEmail = c.cust_email, isActive = c.active, jobsiteCount = context.CRSF.Where(j => j.customer_auto == c.customer_auto).Count() }).ToList()); } }
public List <CustomerOverviewModel> GetAllCustomersForUser(long userId) { List <CustomerOverviewModel> returnList = new List <CustomerOverviewModel>(); List <long> customerIds = new List <long>(); var customers = new BLL.Core.Domain.UserAccess(new SharedContext(), userId.LongNullableToInt()).getAccessibleCustomers(); foreach (var customer in customers.ToList()) { returnList.Add(new CustomerOverviewModel { CustomerId = customer.customer_auto, CustomerName = customer.cust_name, Email = customer.cust_email, JobsiteCount = _context.CRSF.Where(j => j.customer_auto == customer.customer_auto).Count(), DealershipName = string.Join(", ", customer.DealerGroups.Where(m => m.RecordStatus == (int)Core.Domain.RecordStatus.Available).Select(m => "[" + m.DealerGroup.Name + "]").ToArray()) + " " + string.Join(", ", customer.Dealers.Where(m => m.RecordStatus == (int)Core.Domain.RecordStatus.Available).Select(m => m.Dealer.Name).ToArray()) }); } return(returnList.OrderBy(l => l.CustomerName).ToList()); }
/// <summary> /// Returns some general details of dealerships the given user id has access to /// </summary> /// <param name="userId">User ID used to determine which dealerships to return. </param> /// <returns></returns> public async Task <List <DealershipOverviewModel> > GetAllDealershipsForUser(long userId) { List <DealershipOverviewModel> returnList = new List <DealershipOverviewModel>(); List <long> dealershipIds = new List <long>(); var userAccess = await _context.UserAccessMaps.Where(m => m.user_auto == userId).ToListAsync(); var dealers = new BLL.Core.Domain.UserAccess(new SharedContext(), userId.LongNullableToInt()).getAccessibleDealers().Select(m => new DealershipOverviewModel { DealershipId = m.DealershipId, DealershipName = m.Name }).ToList(); foreach (var dealer in dealers) { dealer.BrandedStyles = _undercarriageContext.DealershipBranding.Where(m => m.DealershipId == dealer.DealershipId).Select(b => new BrandedStyleModel() { Id = b.Id, Name = b.Name }).ToList(); } return(dealers.OrderBy(m => m.DealershipName).ToList()); }