Esempio n. 1
0
    public string[] Calculate_SystemReportsPage(string PersonnelID, string FromDate, string ToDate)
    {
        this.InitializeCulture();

        string[] retMessage = new string[4];

        try
        {
            AttackDefender.CSRFDefender(this.Page);
            bool    ResultCalculate = false;
            decimal personnelID     = decimal.Parse(this.StringBuilder.CreateString(PersonnelID), CultureInfo.InvariantCulture);
            FromDate = this.StringBuilder.CreateString(FromDate);
            ToDate   = this.StringBuilder.CreateString(ToDate);

            if (personnelID == 0)
            {
                retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, new Exception(GetLocalResourceObject("PersonnelNotExistsWithThisBarcode").ToString()), retMessage);
                return(retMessage);
            }

            this.SystemReportsBusiness.DeleteAllEngineDebugReport();

            ResultCalculate = EngineCalculateBusiness.Calculate(personnelID, FromDate, ToDate, true);
            if (!ResultCalculate)
            {
                retMessage[0] = GetLocalResourceObject("RetErrorType").ToString();
                retMessage[1] = GetLocalResourceObject("CalculationsRunningError").ToString();
                retMessage[2] = "error";
                return(retMessage);
            }

            int Progress                      = 0;
            int AllPersonnelCount             = 0;
            int NotCalculatedPersonnelCount   = 0;
            int ErrorCalculatedPersonnelCount = 0;
            while (Progress < 100 && ErrorCalculatedPersonnelCount == 0)
            {
                AllPersonnelCount             = this.EngineCalculateBusiness.GetTotalCountInCalculating();
                NotCalculatedPersonnelCount   = this.EngineCalculateBusiness.GetRemainCountInCalculating();
                ErrorCalculatedPersonnelCount = this.EngineCalculateBusiness.GetErrorCountInCalculating();
                int CalculatedPersonnelCount = AllPersonnelCount - NotCalculatedPersonnelCount;
                Progress = AllPersonnelCount > 0 ? Math.DivRem(CalculatedPersonnelCount * 100, AllPersonnelCount, out Progress) : 0;
            }
            if (ErrorCalculatedPersonnelCount > 0)
            {
                retMessage[0] = GetLocalResourceObject("RetErrorType").ToString();
                retMessage[1] = GetLocalResourceObject("CalculationsRunningError").ToString();
                retMessage[2] = "error";
                return(retMessage);
            }

            if (Progress == 100)
            {
                this.EngineCalculateBusiness.ClearTotalCountInCalculating();
            }

            retMessage[0] = GetLocalResourceObject("RetSuccessType").ToString();
            retMessage[1] = GetLocalResourceObject("CalculationsOperationComplete").ToString();
            retMessage[2] = "success";
            return(retMessage);
        }
        catch (UIValidationExceptions ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, ex, retMessage);
            return(retMessage);
        }
        catch (UIBaseException ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIBaseException, ex, retMessage);
            return(retMessage);
        }
        catch (Exception ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, ex, retMessage);
            return(retMessage);
        }
    }
Esempio n. 2
0
    public string[] Calculate_CalculationsPage(string state, string SearchTerm, string FromDate, string ToDate, string PersonnelID, string calculationPersonnelCountState, string IsForcibleCalculate)
    {
        this.InitializeCulture();

        string[] retMessage = new string[4];

        try
        {
            AttackDefender.CSRFDefender(this.Page);
            bool    ResultCalculate = false;
            decimal personnelID     = decimal.Parse(StringBuilder.CreateString(PersonnelID), CultureInfo.InvariantCulture);
            SearchTerm = StringBuilder.CreateString(SearchTerm);
            LoadState LS = (LoadState)Enum.Parse(typeof(LoadState), StringBuilder.CreateString(state));
            FromDate = this.StringBuilder.CreateString(FromDate);
            ToDate   = this.StringBuilder.CreateString(ToDate);
            CalculationPersonnelCountState CPCS = (CalculationPersonnelCountState)Enum.Parse(typeof(CalculationPersonnelCountState), this.StringBuilder.CreateString(calculationPersonnelCountState));
            bool isForcibleCalculate            = bool.Parse(this.StringBuilder.CreateString(IsForcibleCalculate));

            switch (CPCS)
            {
            case CalculationPersonnelCountState.Single:
            {
                ResultCalculate = EngineCalculateBusiness.Calculate(personnelID, FromDate, ToDate, isForcibleCalculate);
                int AllPersonnelCount = this.EngineCalculateBusiness.GetTotalCountInCalculating();
                break;
            }

            case CalculationPersonnelCountState.Group:
            {
                switch (LS)
                {
                case LoadState.Normal:
                    ResultCalculate = EngineCalculateBusiness.Calculate(FromDate, ToDate, isForcibleCalculate);
                    break;

                case LoadState.Search:
                    ResultCalculate = EngineCalculateBusiness.Calculate(SearchTerm, FromDate, ToDate, isForcibleCalculate);
                    break;

                case LoadState.AdvancedSearch:
                    ResultCalculate = EngineCalculateBusiness.Calculate(this.APSProv.CreateAdvancedPersonnelSearchProxy(SearchTerm), FromDate, ToDate, isForcibleCalculate);
                    break;
                }
                break;
            }
            }

            string RetMessageType = string.Empty;
            string MessageBody    = string.Empty;
            string MessageType    = string.Empty;

            if (ResultCalculate)
            {
                RetMessageType = GetLocalResourceObject("RetSuccessType").ToString();
                MessageBody    = GetLocalResourceObject("CalculationsRunning").ToString();
                MessageType    = "success";
            }
            else
            {
                RetMessageType = GetLocalResourceObject("RetErrorType").ToString();
                MessageBody    = GetLocalResourceObject("CalculationsRunningError").ToString();
                MessageType    = "error";
            }

            retMessage[0] = RetMessageType;
            retMessage[1] = MessageBody;
            retMessage[2] = MessageType;

            return(retMessage);
        }
        catch (UIValidationExceptions ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIValidationExceptions, ex, retMessage);
            return(retMessage);
        }
        catch (UIBaseException ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.UIBaseException, ex, retMessage);
            return(retMessage);
        }
        catch (Exception ex)
        {
            retMessage = this.exceptionHandler.HandleException(this.Page, ExceptionTypes.Exception, ex, retMessage);
            return(retMessage);
        }
    }