예제 #1
0
 public static DateTime GetDateModified(this ESM_COMP_USERS user)
 {
     if (user.DATEMODIFIED.HasValue && user.DATEMODIFIED.Value != DateTime.MinValue)
     {
         return(user.DATEMODIFIED.Value);
     }
     return(DateTime.Now);
 }
예제 #2
0
        //public static string GetSiteWhiteLabel(this ESM_COMP_USERS user)
        //{
        //    var label = AppSetting.DefaultWhiteLabel;
        //    if (!string.IsNullOrWhiteSpace(user.ESM_COMPANY?.WHITE_LABEL))
        //    {
        //        label = user.ESM_COMPANY?.WHITE_LABEL ?? label;
        //    }
        //    else if (!string.IsNullOrWhiteSpace(user.ESM_SITE?.SITE_LABEL))
        //    {
        //        label = user.ESM_SITE.SITE_LABEL ?? label;
        //    }
        //    return label;
        //}

        //public static UserManager.User GetApprovingManager(this ESM_COMP_USERS user)
        //{
        //    UserManager.User approvingManager = null;
        //    var managerId = user.GetUserManager();
        //    if (managerId.HasValue)
        //    {
        //        var result = new UserManager().Read(managerId.Value);
        //        if (!result.IsError)
        //        {
        //            approvingManager = result.Data;
        //        }
        //    }
        //    return approvingManager;
        //}

        //public static void UploadUserImage(this UserManager.User user, string image, Action<UserManager.User, IFileInfo, bool> action, bool userPhoto, bool isTempImage)
        //{
        //    if (!string.IsNullOrWhiteSpace(image))
        //    {
        //        try
        //        {
        //            var finalImage = isTempImage
        //                ? FileFactory.GetInstance(FileLocations.TempStorage, Guid.NewGuid().ToString() + Path.GetExtension(image))
        //                : FileFactory.GetUserProfileFileName(user.CompanyId, user.UserId, Path.GetExtension(image), userPhoto ? "_user_photo" : "_logo_photo");
        //            using (var client = new WebClient())
        //            {
        //                client.DownloadFile(image, finalImage.FullName);
        //                action(user, finalImage, isTempImage);
        //            }
        //        }
        //        catch (Exception err)
        //        {
        //            ErrorHandlingRepositoryFactory.Instance.HandleError(err, "Failed to load User image.", new { user, image, userPhoto, isTempImage });
        //        }
        //    }
        //}

        //public static void MoveUserImage(this UserManager.User user, UserManager manager, Func<UserManager.User, bool> shouldMove, Action<int, IFileInfo, UserManager> update, bool isUserPhoto)
        //{
        //    try
        //    {
        //        if (shouldMove(user))
        //        {
        //            var tempFile = FileFactory.GetInstance(FileLocations.TempStorage, isUserPhoto ? user.Photo : user.DefaultLogo);

        //            if (tempFile.Exists)
        //            {
        //                var userPhoto = FileFactory.GetUserProfileFileName(user.CompanyId, user.UserId, tempFile.Extension, isUserPhoto ? "_user_photo" : "_logo_photo");
        //                tempFile.CopyTo(userPhoto);
        //                update(user.UserId, userPhoto, manager);
        //            }
        //        }
        //    }
        //    catch (Exception err)
        //    {
        //        ErrorHandlingRepositoryFactory.Instance.HandleError(err, "Failed to map user photo", new { user });
        //    }
        //}

        //public static List<int> GetChildUserIds(this UserManager.User user)
        //{
        //    return new HierarchyManager().GetChildUsers(user.UserId).Select(y => y.COMP_USER_ID).ToList();
        //}
        //public static CompUserGroupManager.CompUserGroup GetUserGroup(this ESM_COMP_USERS user)
        //{
        //    CompUserGroupManager.CompUserGroup group = null;
        //    if (user?.COMP_USERGROUP_ID != null)
        //    {
        //        var result = new CompUserGroupManager().Read(user.COMP_USERGROUP_ID.Value);
        //        if (!result.IsError)
        //        {
        //            group = result.Data;
        //        }
        //    }
        //    return group;
        //}
        //public static bool IsWhiteLabelSite(this ESM_COMP_USERS user)
        //{
        //    if (user.ESM_SITE?.SYS_SITE_LIC_PLAN != null)
        //    {
        //        var license = user.ESM_SITE.SYS_SITE_LIC_PLAN.FirstOrDefault();
        //        return license != null && license.ALLOW_WHITELABLE.GetValueOrDefault(false);
        //    }
        //    if (user.ESM_COMPANY?.ESM_SITE?.SYS_SITE_LIC_PLAN != null)
        //    {
        //        var license = user.ESM_COMPANY.ESM_SITE.SYS_SITE_LIC_PLAN.FirstOrDefault();
        //        return license != null && license.ALLOW_WHITELABLE.GetValueOrDefault(false);
        //    }
        //    // enables white labeling at the company level.
        //    return user.ESM_COMPANY?.ESM_SITE != null && user.ESM_COMPANY.ESM_SITE.FLAG_ALLOW_COMPANY_WHITE_LABEL;
        //}

        //public static bool IsUserGroupManager(this ESM_COMP_USERS user)
        //{
        //    return new ArgosyManager<ESM_COMP_USERGROUP>().Any(f => f.GROUP_MANAGER_ID == user.COMP_USER_ID);
        //}

        //public static List<int> GetFavoriteParts(this ESM_COMP_USERS user)
        //{
        //    return user.ESM_CART_QUICK.Select(e => e.PART_ID).ToList();
        //}

        //public static bool IsFavoritePart(this ESM_COMP_USERS user, int partId)
        //{
        //    return user.ESM_CART_QUICK.Any(e => e.PART_ID == partId);
        //}

        public static string GetFullName(this ESM_COMP_USERS user)
        {
            if (string.IsNullOrWhiteSpace(user.FIRST_NAME) && string.IsNullOrWhiteSpace(user.LAST_NAME))
            {
                return(user.USERNAME);
            }
            return((user.FIRST_NAME + " " + user.LAST_NAME).Trim());
        }
예제 #3
0
        //public static string GetFullName(this UserManager.User user)
        //{
        //    if (string.IsNullOrWhiteSpace(user.FirstName) && string.IsNullOrWhiteSpace(user.LastName))
        //    {
        //        return user.Username;
        //    }
        //    return (user.FirstName + " " + user.LastName).Trim();
        //}

        //public static ESM_COMP_PRICELIST GetDefaultPriceList(this ESM_COMP_USERS user)
        //{
        //    if (user.COMP_USERGROUP_ID.HasValue && user.ESM_COMP_USERGROUP.PRICELISTID.HasValue)
        //    {
        //        return new ArgosyManager<ESM_COMP_PRICELIST>().Get(user.ESM_COMP_USERGROUP.PRICELISTID.Value);
        //    }
        //    return user.ESM_COMPANY.ESM_COMP_PRICELIST.FirstOrDefault(p => p.ISDEFAULT);
        //}

        //public static int GetDefaultPriceListId(this ESM_COMP_USERS user)
        //{
        //    if (user.COMP_USERGROUP_ID.HasValue && user.ESM_COMP_USERGROUP?.PRICELISTID != null)
        //    {
        //        return user.ESM_COMP_USERGROUP.PRICELISTID.Value;
        //    }
        //    if (user.COMP_USERGROUP_ID.HasValue && user.ESM_COMP_USERGROUP == null)
        //    {
        //        var manager = new ArgosyManager<ESM_COMP_USERGROUP>();
        //        var userGroup = manager.Get(user.COMP_USERGROUP_ID.Value);

        //        if (userGroup?.PRICELISTID != null)
        //        {
        //            return userGroup.PRICELISTID.Value;
        //        }
        //    }
        //    ESM_COMP_PRICELIST priceList = null;
        //    if (user.ESM_COMPANY != null)
        //    {
        //        priceList = user.ESM_COMPANY.ESM_COMP_PRICELIST.FirstOrDefault(p => p.ISDEFAULT);
        //    }
        //    else if (user.COMPANY_ID > 0)
        //    {
        //        var manager = new ArgosyManager<ESM_COMPANY>();
        //        var company = manager.Get(user.COMPANY_ID);

        //        if (company != null && company.ESM_COMP_PRICELIST.Any())
        //        {
        //            priceList = company.ESM_COMP_PRICELIST.FirstOrDefault(p => p.ISDEFAULT);
        //        }
        //    }
        //    return priceList?.COMPPRICELIST_ID ?? 0;
        //}

        public static string GetFullNameWithUserName(this ESM_COMP_USERS user)
        {
            var userName = string.Empty;

            if (string.IsNullOrWhiteSpace(user.FIRST_NAME) && string.IsNullOrWhiteSpace(user.LAST_NAME))
            {
                userName = user.USERNAME;
            }
            else
            {
                userName = (user.FIRST_NAME + " " + user.LAST_NAME).Trim() + " (" + user.USERNAME + ")";
            }

            return(userName);
        }
예제 #4
0
        //public static decimal GetCoopDollars(this UserManager.User user)
        //{
        //    return GetCoopDollarBalance(user.UserId, user.UserGroupId);
        //}

        //public static decimal GetCoopDollars(this IUser user)
        //{
        //    return GetCoopDollarBalance(user.Id, user.UserGroupId);
        //}


        //public static int GetNewMessageCount(this ESM_COMP_USERS user)
        //{
        //    return user.ESM_MSGUSER.Count(m => m.MSGREAD == "N"); //APM: based on v4, Read messages are marked as 'Y'
        //}

        //public static int? GetUserManager(this ESM_COMP_USERS user)
        //{
        //    var manager = new ArgosyManager<ESM_HIERARCHY>();
        //    var userManager = manager.FirstOrDefault(u => u.COMP_USER_ID == user.COMP_USER_ID);
        //    int? mgrId = null;

        //    if (userManager != null)
        //    {
        //        mgrId = userManager.MGR_USER_ID;
        //    }

        //    return mgrId;
        //}

        //public static string GetApprovingManagerName(this UserManager.User user)
        //{
        //    var name = "N/A";
        //    if (user.ApprovingManagerId.HasValue)
        //    {
        //        name = new ArgosyManager<ESM_COMP_USERS>().GetQuery().FirstOrDefault(a => a.COMP_USER_ID == user.Id).GetFullName() ?? "N/A";
        //    }
        //    return name;
        //}

        //public static bool IsEstimatedShipDateVisible(this ESM_COMP_USERS user)
        //{
        //    bool isShipDateVisible = false;

        //    if (user.COMP_USERGROUP_ID.HasValue && user.COMP_USERGROUP_ID > 0)
        //    {
        //        isShipDateVisible = user.ESM_COMP_USERGROUP.ESTIMATEDSHIPPINGDATE.HasValue && user.ESM_COMP_USERGROUP.ESTIMATEDSHIPPINGDATE.Value;
        //    }
        //    else
        //    {
        //        isShipDateVisible = user.ESM_COMPANY.FLAG_ESTIMATE_SHIP_DATE.ToUpper() == "Y";
        //    }

        //    return isShipDateVisible;
        //}

        //public static bool ispriceinformationvisible(this esm_comp_users user)
        //{
        //    bool ispriceinformationvisible = false;

        //    if (user.comp_usergroup_id.hasvalue && user.comp_usergroup_id > 0)
        //    {
        //        ispriceinformationvisible = user.esm_comp_usergroup.showprice.hasvalue && user.esm_comp_usergroup.showprice.value;
        //    }
        //    else
        //    {
        //        ispriceinformationvisible = user.esm_company.flag_show_price.toupper() == "y";
        //    }

        //    return ispriceinformationvisible;
        //}

        public static bool HasAdminAccess(this ESM_COMP_USERS user)
        {
            var hasAdminAccess = user.ADMIN_ACCESS.ToUpper() == "Y";

            return(hasAdminAccess);
        }
예제 #5
0
        //private static decimal GetCoopDollarBalance(int userId, int? userGroupId)
        //{
        //    return new ViewCoopDollarBalanceManager().GetUserTotalBalance(userId, userGroupId);
        //}

        //public static decimal GetCoopDollarsWithoutBuckets(this ESM_COMP_USERS user)
        //{
        //    return GetCoopDollarsWithoutBuckets(user.COMP_USER_ID, user.COMP_USERGROUP_ID);
        //}

        //public static decimal GetCoopDollarsWithoutBuckets(this IUser user)
        //{
        //    return GetCoopDollarsWithoutBuckets(user.Id, user.UserGroupId);
        //}

        //private static decimal GetCoopDollarsWithoutBuckets(int userId, int? userGroupId)
        //{
        //    return new ViewCoopDollarBalanceManager().GetUserTotalUnassignedBalance(userId, userGroupId);
        //}

        public static decimal GetCoopDollars(this ESM_COMP_USERS user)
        {
            return(400);//GetCoopDollarBalance(user.COMP_USER_ID, user.COMP_USERGROUP_ID);
        }