コード例 #1
0
        /// <summary>
        /// Index
        /// </summary>
        /// <returns>List View</returns>
        public ActionResult Index()
        {
            //SA: TODO this function just assume, must build function to Budget Setting
            if ((!IsInFunctionList(Constant.FunctionID.Budget_Setting)))
            {
                return(this.RedirectToAction("Index", "ErrorAuthent"));
            }

            var currentUser = GetLoginUser();
            int close_month = mainService.GetAccountClosingMonth(currentUser.CompanyCode);

            ViewBag.CloseMonth = close_month;
            var model = new PMS11002ListViewModel
            {
                GroupList        = this.commonService.GetUserGroupSelectList(currentUser.CompanyCode, true),
                ContractTypeList = this.commonService.GetContractTypeSelectList(currentUser.CompanyCode, true),
                MonthList        = Utility.QuarterList(close_month)
            };
            string quaterMonth = "";
            int    month       = Utility.GetCurrentDateTime().Month;

            foreach (var quarter in model.MonthList)
            {
                string        quarterValue = quarter.Value;
                List <string> result       = quarterValue.Split(',').ToList();
                for (int i = 0; i < result.Count; i++)
                {
                    if (month == Convert.ToInt32(result[i]))
                    {
                        quaterMonth = quarterValue;
                        break;
                    }
                }
            }

            model.Condition.Month          = quaterMonth;
            model.Condition.GroupId        = null;
            model.Condition.ContractTypeId = null;
            model.Condition.Year           = Utility.GetCurrentFinancialYear(close_month).ToString();

            if (Session[Constant.SESSION_IS_BACK] != null)
            {
                Session[Constant.SESSION_IS_BACK] = null;
            }

            return(this.View("List", model));
        }
コード例 #2
0
        /// <summary>
        /// Search data budget setting
        /// </summary>
        /// <param name="GroupId">GroupId</param>
        /// <param name="ContractTypeId">ContractTypeId</param>
        /// <param name="Month">Month</param>
        /// <param name="Year">Year</param>
        /// <param name="TimeList">TimeList</param>
        /// <returns></returns>
        public ActionResult SearchBudgetSetting(string GroupId, string ContractTypeId, string Month = "", string Year = "", List <TimeListBudget> TimeList = null)
        {
            if (Request.IsAjaxRequest())
            {
                PMS11002ListViewModel model = new PMS11002ListViewModel();
                model.Condition.CompanyCode = GetLoginUser().CompanyCode;
                model.Condition.Year        = Year;

                if (!string.IsNullOrEmpty(GroupId))
                {
                    model.Condition.GroupId = GroupId;
                }

                if (!string.IsNullOrEmpty(ContractTypeId))
                {
                    model.Condition.ContractTypeId = ContractTypeId;
                }

                if (!string.IsNullOrEmpty(Month))
                {
                    model.Condition.Month = Month;
                }

                model.Condition.List_Contract = mainService.GetListContractTypeBySearch(ContractTypeId, GetLoginUser().CompanyCode).OrderBy(m => m.display_order).ThenBy(m => m.contract_type_id).ToList();
                model.Condition.List_Group    = mainService.GetListGroupBySearch(GroupId, GetLoginUser().CompanyCode).OrderBy(m => m.display_order).ThenBy(m => m.group_id).ToList();

                if (model.Condition.Month != null)
                {
                    model.Condition.List_Month = model.Condition.Month.Split(',').ToList();
                }
                else
                {
                    //build condition month list default
                    var monthList = new List <string>();
                    for (int i = 1; i <= 12; i++)
                    {
                        monthList.Add(i.ToString());
                    }
                    model.Condition.List_Month = monthList;
                }

                model.BudgetList = mainService.GetListBudgetBySearch(ContractTypeId, GroupId, Month, Year, model.Condition.CompanyCode, TimeList);
                var totalYear     = mainService.GetListTotalYearBySearch(Year, model.Condition.CompanyCode, ContractTypeId);
                var totalYearList = new List <TotalYearList>();
                foreach (var a in totalYear)
                {
                    var eachGroupTotal = new TotalYearList();
                    eachGroupTotal.group_id = a.group_id.ToString();
                    var totalProfit = a.total_profit;
                    var salesBudget = a.total_sales;
                    eachGroupTotal.profit_budget = totalProfit == null ? "0" : totalProfit.ToString();
                    eachGroupTotal.sales_budget  = salesBudget == null ? "0" : salesBudget.ToString();
                    totalYearList.Add(eachGroupTotal);
                }

                model.TotalYearList = totalYearList;

                var result = Json(
                    model,
                    JsonRequestBehavior.AllowGet);
                return(result);
            }
            return(new EmptyResult());
        }