public CustomerDetailsDataSet getCustomerDetails(long customerId, int User) { var currentCustomer = new Core.Domain.UserAccess(new SharedContext(), User).getAccessibleCustomers().Where(m => m.customer_auto == customerId).FirstOrDefault(); if (currentCustomer == null) { return(null); } using (var context = new SharedContext()) { string customerLogo = ""; try { customerLogo = Convert.ToBase64String(currentCustomer.logo); } catch { } var k = new CustomerDetailsDataSet() { name = currentCustomer.cust_name, email = currentCustomer.cust_email, fullAddress = currentCustomer.fullAddress, phoneNumber = currentCustomer.cust_phone, mobileNumber = currentCustomer.cust_mobile, logoBase64 = customerLogo, reportId = currentCustomer.SelectedReportId == null ? 0 : (int)currentCustomer.SelectedReportId }; return(k); } }
public static bool verifyAccessToChangeUserAccount(long userIdRequesting, long userAccountToChangeId) { var _userAccess = new Core.Domain.UserAccess(new SharedContext(), userIdRequesting.LongNullableToInt()); var users = _userAccess.getAccessibleUsers().Where(m => m.user_auto == userAccountToChangeId).Count(); return(_userAccess.hasRole("Administrator") && users > 0); }
public List <RopeShovelInspectionSearchResultModel> GetInspections(int userId, RopeShovelInspectionSearchRequestModel searchModel) { var equipment = new Core.Domain.UserAccess(new SharedContext(), userId).getAccessibleEquipments().Select(e => e.equipmentid_auto).ToList(); return(_context.TRACK_INSPECTION .Where(i => equipment.Contains(i.equipmentid_auto)) .Where(i => i.EQUIPMENT.LU_MMTA.TYPE.typeid == "RSH") .Where(i => i.inspection_date >= searchModel.StartDate && i.inspection_date <= searchModel.EndDate) .Where(i => i.EQUIPMENT.Jobsite.Customer.cust_name.Contains(searchModel.CustomerName)) .Where(i => i.EQUIPMENT.Jobsite.site_name.Contains(searchModel.JobsiteName)) .Where(i => i.EQUIPMENT.serialno.Contains(searchModel.SerialNumber)) .Where(i => i.EQUIPMENT.unitno.Contains(searchModel.UnitNumber)) .Where(i => i.created_user.Contains(searchModel.InspectorName)) .Where(i => i.ActionTakenHistory.recordStatus == (int)RecordStatus.Available) .Select(i => new RopeShovelInspectionSearchResultModel() { CustomerName = i.EQUIPMENT.Jobsite.Customer.cust_name, Evaluation = i.evalcode, Id = i.inspection_auto, InspectionDate = i.inspection_date, InspectorName = i.created_user, JobsiteName = i.EQUIPMENT.Jobsite.site_name, SerialNumber = i.EQUIPMENT.serialno, UnitNumber = i.EQUIPMENT.unitno, EquipmentId = i.equipmentid_auto }).OrderByDescending(i => i.InspectionDate).ToList()); }
public IEnumerable <UserCustomerAccessDataSet> getCustomerAccessForUser(long userId, System.Security.Principal.IPrincipal User) { var accessibleCustomersForTheUser = new Core.Domain.UserAccess(new SharedContext(), userId.LongNullableToInt()).getAccessibleCustomers().Select(m => m.customer_auto); return(new Core.Domain.UserAccess(new SharedContext(), User).getAccessibleCustomers().Select(m => new UserCustomerAccessDataSet { customerId = m.customer_auto, customerName = m.cust_name, hasAccess = accessibleCustomersForTheUser.Any(k => m.customer_auto == k) }).AsEnumerable()); }
/// <summary> /// Given an object which contains details about a customer, this will update that customers details accordingly. /// Used on the customer details area of the user management page. /// </summary> /// <param name="customerData"></param> /// <returns>A response message containing whether or not the update was successful, and a message. </returns> public GETResponseMessage updateCustomerDetails(UpdateCustomerDataSet customerData, System.Security.Principal.IPrincipal User) { var customer = new Core.Domain.UserAccess(new SharedContext(), User).getAccessibleCustomers().Where(m => m.customer_auto == customerData.customerId).FirstOrDefault(); if (customer == null) { return(new GETResponseMessage(ResponseTypes.Failed, "Access is denied!")); } using (var context = new SharedContext()) { if (customer == null) { return(new GETResponseMessage(ResponseTypes.Failed, "The given customer ID doesn't exist. ")); } if (!doesDealershipExist(customerData.dealershipId)) { return(new GETResponseMessage(ResponseTypes.Failed, "The given dealership ID doesn't exist. ")); } if (customerData.customerName == "") { return(new GETResponseMessage(ResponseTypes.InvalidInputs, "Missing required data. ")); } if (customerData.customerName != customer.cust_name && !checkCustomerNameIsUnique(customerData.customerName)) { return(new GETResponseMessage(ResponseTypes.Failed, "Customer name is not unique. ")); } string[] LogoArr = customerData.logoBase64.Split(','); string customerLogo = ""; if (LogoArr.Length > 1) { customerLogo = LogoArr[1]; } int?reportId = null; if (customerData.reportId != 0) { reportId = customerData.reportId; } try { customer.cust_name = customerData.customerName; customer.custid = customerData.customerName; customer.DealershipId = customerData.dealershipId; customer.cust_street = customerData.streetNumber + " " + customerData.streetAddress; customer.cust_suburb = customerData.city; customer.cust_postcode = customerData.postCode; customer.cust_state = customerData.state; customer.cust_phone = customerData.phoneNumber; customer.cust_country = customerData.country; customer.cust_mobile = customerData.mobileNumber; customer.cust_email = customerData.emailAddress; customer.modified_date = DateTime.UtcNow; customer.modified_user = customerData.authUserId.ToString(); // Once we merge in with uc, need to fix this. customer.fullAddress = customerData.fullAddress; customer.logo = Convert.FromBase64String(customerLogo); customer.SelectedReportId = reportId; context.SaveChanges(); return(new GETResponseMessage(ResponseTypes.Success, "Customer updated successfully. ")); } catch (Exception e) { return(new GETResponseMessage(ResponseTypes.Failed, "Database error. Failed to save changes. " + e.Message)); } } }
public static UserTeam getUserTeam(long userId) { var _userAccess = new Core.Domain.UserAccess(new SharedContext(), userId.LongNullableToInt()); var supportTeams = _userAccess.getAccessibleSupportTeams(); if (supportTeams.Count() > 0) { return new UserTeam { teamId = supportTeams.FirstOrDefault().Id, teamType = UserAccountType.SupportTeam_Id_4 } } ; var dealerGroups = _userAccess.getAccessibleDealerGroups(); if (dealerGroups.Count() > 0) { return new UserTeam { teamId = dealerGroups.FirstOrDefault().Id, teamType = UserAccountType.DealerGroup_Id_3 } } ; var dealers = _userAccess.getAccessibleDealers(); if (dealers.Count() > 0) { return new UserTeam { teamId = dealers.FirstOrDefault().DealershipId, teamType = UserAccountType.Dealership } } ; var customers = _userAccess.getAccessibleCustomers(); if (customers.Count() > 0) { return new UserTeam { teamId = customers.FirstOrDefault().DealershipId, teamType = UserAccountType.Customer } } ; var jobsites = _userAccess.getAccessibleJobsites(); if (jobsites.Count() > 0) { return new UserTeam { teamId = jobsites.FirstOrDefault().crsf_auto.LongNullableToInt(), teamType = UserAccountType.Jobsite_Id_5 } } ; var equipments = _userAccess.getAccessibleEquipments(); if (equipments.Count() > 0) { return new UserTeam { teamId = equipments.FirstOrDefault().equipmentid_auto.LongNullableToInt(), teamType = UserAccountType.Equipment_Id_6 } } ; return(new UserTeam { teamId = 0, teamType = UserAccountType.Unknown }); }