Пример #1
0
        public virtual void AdminLayout()
        {
            if (strUtil.IsNullOrEmpty(Page.Title))
            {
                Page.Title = "wojilu " + lang("adminTitle");
            }

            bindCommon();

            set("sitename", config.Instance.Site.SiteName);
            set("copyright", config.Instance.Site.Copyright);
            set("viewer.Name", ctx.viewer.obj.Name);

            set("siteLink", "<a href='" + sys.Path.Root + "'>" + lang("siteHome") + "</a>");
            set("site.OnlineCount", OnlineStats.Instance.Count);

            set("site.AdminLink", Link.To(new DashboardController().Index));
            set("site.LogoutLink", to(new Admin.MainController().Logout));
            set("lostPage", Link.To(Site.Instance, new MainController().lost));

            List <SiteAdminMenu>      menus       = OperationDB.GetInstance().SiteAdminMenus;
            List <SiteAdminOperation> userActions = SiteAdminOperationConfig.Instance.GetActionsByUser((User)ctx.viewer.obj);
            IList apps = siteAppService.GetByMember(Site.Instance.Id);
            List <AppInstaller> userDataApps = appInfoService.GetUserDataAdmin();

            bindAdminMenus(menus, userActions, apps, userDataApps);

            bindLeftNav(apps);
        }
Пример #2
0
 FeedBack ApplicationOperation(string clientCPF, float amount, DateTime dateTime)
 {
     using (var dataBase = new OperationDB())
     {
         dataBase.Add(new Operation(dateTime, clientCPF, amount, OperationType.Application));
         dataBase.SaveChanges();
         FeedBack feedBack = new FeedBack(amount);
         return(feedBack);
     }
 }
Пример #3
0
 public Operation[] FindOperations(string client, OperationType operationType, DateTime currentDate)
 {
     using (var dataBase = new OperationDB())
     {
         return((from operations in dataBase.Operations
                 where (operations.clientCPF == client &&
                        operations.operationType == operationType &&
                        DateTime.Compare(operations.dateTime, currentDate) < 0)
                 select operations).ToArray());
     }
 }
Пример #4
0
        //-------------------------------------------------------------


        private void bindLeftNav(IList apps)
        {
            bindAppNavList(apps);

            List <SiteAdminOperation> userActions = SiteAdminOperationConfig.Instance.GetActionsByUser((User)ctx.viewer.obj);
            List <SiteDataAdminMenu>  menus       = OperationDB.GetInstance().SiteDataAdminMenus;

            bindSiteDataAdminMenus(menus, userActions);

            set("cacheAdminLink", to(new CacheController().Index));
        }
Пример #5
0
        //-------------------------------------------------------------


        private void bindLeftNav(IList apps)
        {
            bindAppNavList(apps);

            List <SiteAdminOperation> actionOfUser = SiteAdminOperationConfig.Instance.GetActionsByUser((User)ctx.viewer.obj);
            List <SiteDataAdminMenu>  allAction    = OperationDB.GetInstance().SiteDataAdminMenus;

            bindAppAndMenu(actionOfUser);

            bindSiteDataAdminMenus(allAction, actionOfUser);

            set("cacheAdminLink", to(new CacheController().Index));
        }
Пример #6
0
        FeedBack WithdrawOperation(string client, DateTime dateTime)
        {
            using (var dataBase = new OperationDB())
            {
                FeedBack fb = CalCulateRemainingMoney(client, dateTime);
                if (fb == null)
                {
                    return(fb);
                }

                dataBase.Add(new Operation(dateTime, client, fb.values[0] + fb.values[1], OperationType.Withdraw));
                return(fb);
            }
        }
Пример #7
0
        private void bindAppAndMenu(List <SiteAdminOperation> actionOfUser)
        {
            String strHide = "display:none";

            // 是否显示app管理
            set("lnkAppList", to(new Admin.AppController().Index));
            set("lnkAppAdd", to(new Admin.AppController().Select));

            String appHide = "";

            if (OperationDB.GetMenu(1).CanShow(actionOfUser) == false)
            {
                appHide = strHide;
            }
            set("appHide", appHide);

            // 是否显示菜单管理
            set("lnkMenuList", to(new Admin.MenuController().Index));
            set("lnkMenuAdd", to(new Admin.MenuController().AddMenu));

            String menuHide = "";

            if (OperationDB.GetMenu(2).CanShow(actionOfUser) == false)
            {
                menuHide = strHide;
            }
            set("menuHide", menuHide);

            // 是否显示App和组件管理
            set("lnkAppConfig", to(new Admin.AppConfigController().App));

            String appConfigHide = "";

            if (OperationDB.GetMenu(4).CanShow(actionOfUser) == false)
            {
                appConfigHide = strHide;
            }
            set("appConfigHide", appConfigHide);
        }
Пример #8
0
        FeedBack CalCulateRemainingMoney(string client, DateTime dateTime)
        {
            using (var dataBase = new OperationDB())
            {
                Operation[] applications = FindOperations(client, OperationType.Application, dateTime);

                applications = (from application in applications where application.withdrawn == false select application).ToArray();

                if (applications.Length == 0)
                {
                    return(null);
                }

                float TotalIR = 0;
                float profit  = 0;

                foreach (Operation o in applications)
                {
                    //if (o.withdrawn == true) continue;
                    float amount      = o.amount;
                    float totalProfit = 0;
                    int   days        = dateTime.Day - o.dateTime.Day;
                    int   months      = dateTime.Month - o.dateTime.Month;
                    int   years       = dateTime.Year - o.dateTime.Year;

                    if (days < 0 && months > 0)
                    {
                        months -= 1;
                    }
                    if (months < 0 && years > 0)
                    {
                        years -= 1;
                    }

                    int totalMonths = (12 * years) + months;

                    for (int i = 0; i < totalMonths; i++)
                    {
                        totalProfit += (amount * o.profitPerMonth);
                        amount      += (amount * o.profitPerMonth);
                    }

                    float totalProfitWithoutIR = totalProfit;

                    if (years <= 1 && months <= 0)
                    {
                        totalProfit -= totalProfit * .225f;
                    }
                    else if ((years == 2 && months <= 0) || years < 2)
                    {
                        totalProfit -= totalProfit * .185f;
                    }
                    else
                    {
                        totalProfit -= totalProfit * .15f;
                    }
                    TotalIR += totalProfitWithoutIR - totalProfit;
                    profit  += totalProfit;
                    dataBase.Operations.Remove(o);
                }

                dataBase.SaveChanges();
                return(new FeedBack(profit, TotalIR, profit + TotalIR));
            }
        }