コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
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());
        }
コード例 #4
0
        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());
        }
コード例 #5
0
        /// <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));
                }
            }
        }
コード例 #6
0
        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
            });
        }