Beispiel #1
0
        public IList <BasicTraffic> GetAllBaiscTrafficsByConditions(TrafficTransferMode TTM, decimal machineID, DateTime fromDate, DateTime toDate, int fromTime, int toTime, int fromRecord, int toRecord, decimal fromIdentifier, decimal toIdentifier, bool IsIntegralConditions)
        {
            IList <BasicTraffic>       BasicTrafficsList      = null;
            IEnumerable <BasicTraffic> BasicTrafficEnumerable = null;
            IQueryOver <BasicTraffic, BasicTraffic> IQueryOverBasicTraffic = null;
            Expression <Func <BasicTraffic, bool> > conditions             = conditions = x => x.Date >= fromDate && x.Date <= toDate && x.Time >= fromTime && x.Time <= toTime && x.Active == true;

            switch (TTM)
            {
            case TrafficTransferMode.Normal:
                IQueryOverBasicTraffic = NHibernateSession.QueryOver <BasicTraffic>()
                                         .Where(conditions);
                BasicTrafficsList = this.GetBasicTrafficsOverMachine(machineID, IQueryOverBasicTraffic);
                break;

            case TrafficTransferMode.RecordBase:
                IQueryOverBasicTraffic = NHibernateSession.QueryOver <BasicTraffic>()
                                         .OrderBy(basicTraffic => basicTraffic.ID).Asc
                                         .Skip(fromRecord - 1)
                                         .Take(toRecord - fromRecord + 1)
                                         .Clone();
                if (IsIntegralConditions)
                {
                    IQueryOverBasicTraffic = IQueryOverBasicTraffic.Where(conditions);
                    BasicTrafficsList      = this.GetBasicTrafficsOverMachine(machineID, IQueryOverBasicTraffic);
                }
                else
                {
                    BasicTrafficsList = IQueryOverBasicTraffic.List <BasicTraffic>();
                }
                break;

            case TrafficTransferMode.IdentifierBase:
                IQueryOverBasicTraffic = NHibernateSession.QueryOver <BasicTraffic>()
                                         .Where(basicTraffic => basicTraffic.ID >= fromIdentifier && basicTraffic.ID <= toIdentifier && basicTraffic.Active)
                                         .Clone();
                if (IsIntegralConditions)
                {
                    IQueryOverBasicTraffic = IQueryOverBasicTraffic.Where(conditions);
                    BasicTrafficsList      = this.GetBasicTrafficsOverMachine(machineID, IQueryOverBasicTraffic);
                }
                else
                {
                    BasicTrafficsList = BasicTrafficEnumerable.ToList <BasicTraffic>();
                }
                break;
            }
            return(BasicTrafficsList);
        }
Beispiel #2
0
    public string[] TrafficsTransferByConditions_TrafficsTransferPage(string trafficTransferMode, string trafficTransferType, string MachineID, string FromDate, string ToDate, string FromTime, string ToTime, string FromRecord, string ToRecord, string FromIdentifier, string ToIdentifier, string TransferDay, string TransferTime, string IsIntegralConditions)
    {
        this.InitializeCulture();

        string[] retMessage = new string[4];

        try
        {
            AttackDefender.CSRFDefender(this.Page);
            TrafficTransferMode TTM       = (TrafficTransferMode)Enum.Parse(typeof(TrafficTransferMode), this.StringBuilder.CreateString(trafficTransferMode));
            TrafficTransferType TTT       = (TrafficTransferType)Enum.Parse(typeof(TrafficTransferType), this.StringBuilder.CreateString(trafficTransferType));
            decimal             machineID = decimal.Parse(this.StringBuilder.CreateString(MachineID), CultureInfo.InvariantCulture);
            FromDate = this.StringBuilder.CreateString(FromDate);
            ToDate   = this.StringBuilder.CreateString(ToDate);
            FromTime = this.StringBuilder.CreateString(FromTime);
            ToTime   = this.StringBuilder.CreateString(ToTime);
            int     fromRecored          = int.Parse(this.StringBuilder.CreateString(FromRecord), CultureInfo.InvariantCulture);
            int     toRecored            = int.Parse(this.StringBuilder.CreateString(ToRecord), CultureInfo.InvariantCulture);
            decimal fromIdentifier       = decimal.Parse(this.StringBuilder.CreateString(FromIdentifier), CultureInfo.InvariantCulture);
            decimal toIdentifier         = decimal.Parse(this.StringBuilder.CreateString(ToIdentifier), CultureInfo.InvariantCulture);
            bool    isIntegralConditions = bool.Parse(this.StringBuilder.CreateString(IsIntegralConditions));
            TransferDay  = this.StringBuilder.CreateString(TransferDay);
            TransferTime = this.StringBuilder.CreateString(TransferTime);

            this.TrafficBusiness.TransferTrafficsByConditions(TTM, machineID, FromDate, ToDate, FromTime, ToTime, fromRecored, toRecored, fromIdentifier, toIdentifier, TransferDay, TransferTime, TTT, isIntegralConditions);

            this.trafficWebServiceClient.TransferTrafficsByConditions(BUser.CurrentUser.Person.ID, TTM, machineID, FromDate, ToDate, FromTime, ToTime, fromRecored, toRecored, fromIdentifier, toIdentifier, TransferDay, TransferTime, TTT, isIntegralConditions);

            retMessage[1] = GetLocalResourceObject("OperationComplete").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);
        }
    }
Beispiel #3
0
        public void TransferTrafficsByConditions(TrafficTransferMode TTM, decimal machineID, string fromDate, string toDate, string fromTime, string toTime, int fromRecord, int toRecord, decimal fromIdentifier, decimal toIdentifier, string transferDay, string transferTime, TrafficTransferType TTT, bool IsIntegralConditions)
        {
            try
            {
                GTS.Clock.Infrastructure.Repository.BasicTrafficRepository basicTrafficRepository = new Infrastructure.Repository.BasicTrafficRepository();
                BLanguage LanguageBusiness = new BLanguage();
                DateTime  FromDate         = DateTime.Now;
                DateTime  ToDate           = DateTime.Now;
                switch (LanguageBusiness.GetCurrentSysLanguage())
                {
                case "fa-IR":
                    FromDate = Utility.ToMildiDate(fromDate);
                    ToDate   = Utility.ToMildiDate(toDate);
                    break;

                case "en-US":
                    FromDate = Utility.ToMildiDateTime(fromDate);
                    ToDate   = Utility.ToMildiDateTime(toDate);
                    break;
                }
                if (DateTime.Compare(FromDate, ToDate) > 0)
                {
                    FromDate = ToDate;
                }
                int FromTime     = Utility.RealTimeToIntTime(fromTime);
                int ToTime       = Utility.RealTimeToIntTime(toTime);
                int TransferTime = Utility.RealTimeToIntTime(transferTime);
                int TransferDay  = 0;
                if (transferDay != null && transferDay != string.Empty)
                {
                    TransferDay = int.Parse(transferDay);
                }
                int TargetTime = 0;

                switch (TTM)
                {
                case TrafficTransferMode.RecordBase:
                    int BasicTrafficsRowCount = basicTrafficRepository.GetBasicTrfficsRowCount();
                    toRecord   = toRecord > 0 ? toRecord <= BasicTrafficsRowCount ? toRecord : BasicTrafficsRowCount : 1;
                    fromRecord = fromRecord > 0 ? fromRecord <= toRecord ? fromRecord : 1 : 1;
                    break;

                case TrafficTransferMode.IdentifierBase:
                    decimal BasicTrafficsLastRowIdentifier = basicTrafficRepository.GetBaseTrafficsLastRowIdentifier();
                    toIdentifier   = toIdentifier > 0 ? toIdentifier <= BasicTrafficsLastRowIdentifier ? toIdentifier : BasicTrafficsLastRowIdentifier : 0;
                    fromIdentifier = fromIdentifier >= 0 ? fromIdentifier <= toIdentifier ? fromIdentifier : 0 : 0;
                    break;
                }

                IList <BasicTraffic> BasicTrafficsList = basicTrafficRepository.GetAllBaiscTrafficsByConditions(TTM, machineID, FromDate, ToDate, FromTime, ToTime, fromRecord, toRecord, fromIdentifier, toIdentifier, IsIntegralConditions);
                foreach (BasicTraffic BasicTrafficsListItem in BasicTrafficsList)
                {
                    switch (TTT)
                    {
                    case TrafficTransferType.Backward:
                        TargetTime = BasicTrafficsListItem.Time - TransferTime;
                        if (TargetTime >= 0)
                        {
                            BasicTrafficsListItem.Time = TargetTime;
                            BasicTrafficsListItem.Date = BasicTrafficsListItem.Date.AddDays(-TransferDay);
                            base.SaveChanges(BasicTrafficsListItem, UIActionType.EDIT);
                        }
                        else
                        {
                            this.InsertTraffic(BasicTrafficsListItem.Person.ID, BasicTrafficsListItem.Precard.ID, BasicTrafficsListItem.Date.AddDays(-(TransferDay + 1)), BasicTrafficsListItem.Time + (24 * 60 - TransferTime), "TrraficTimeTransfer");
                            this.DeleteTraffic(BasicTrafficsListItem.ID);
                        }
                        break;

                    case TrafficTransferType.Forward:
                        TargetTime = BasicTrafficsListItem.Time + TransferTime;
                        if (TargetTime < 24 * 60)
                        {
                            BasicTrafficsListItem.Time = TargetTime;
                            BasicTrafficsListItem.Date = BasicTrafficsListItem.Date.AddDays(TransferDay);
                            base.SaveChanges(BasicTrafficsListItem, UIActionType.EDIT);
                        }
                        else
                        {
                            this.InsertTraffic(BasicTrafficsListItem.Person.ID, BasicTrafficsListItem.Precard.ID, BasicTrafficsListItem.Date.AddDays(TransferDay + 1), (BasicTrafficsListItem.Time + TransferTime) - 24 * 60, "TrraficTimeTransfer");
                            this.DeleteTraffic(BasicTrafficsListItem.ID);
                        }
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                LogException(ex, "BTraffic", "TransferDayTrafficsByConditions");
                throw ex;
            }
        }
Beispiel #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="operatorPersonID"></param>
        /// <param name="TTM"></param>
        /// <param name="machineID"></param>
        /// <param name="fromDate"></param>
        /// <param name="toDate"></param>
        /// <param name="fromTime"></param>
        /// <param name="toTime"></param>
        /// <param name="fromRecord"></param>
        /// <param name="toRecord"></param>
        /// <param name="fromIdentifier"></param>
        /// <param name="toIdentifier"></param>
        /// <param name="transferDay"></param>
        /// <param name="transferTime"></param>
        /// <param name="TTT"></param>
        /// <param name="IsIntegralConditions"></param>
        public void TransferTraffics(decimal operatorPersonID, TrafficTransferMode TTM, decimal machineID, string fromDate, string toDate, string fromTime, string toTime, int fromRecord, int toRecord, decimal fromIdentifier, decimal toIdentifier, string transferDay, string transferTime, TrafficTransferType TTT, bool IsIntegralConditions)
        {
            try
            {
                GTS.Clock.Infrastructure.Repository.BasicTrafficRepository basicTrafficRepository = new Infrastructure.Repository.BasicTrafficRepository();
                BLanguage LanguageBusiness = new BLanguage();
                DateTime  FromDate         = DateTime.Now;
                DateTime  ToDate           = DateTime.Now;
                switch (LanguageBusiness.GetCurrentSysLanguage())
                {
                case "fa-IR":
                    FromDate = Utility.ToMildiDate(fromDate);
                    ToDate   = Utility.ToMildiDate(toDate);
                    break;

                case "en-US":
                    FromDate = Utility.ToMildiDateTime(fromDate);
                    ToDate   = Utility.ToMildiDateTime(toDate);
                    break;
                }
                if (DateTime.Compare(FromDate, ToDate) > 0)
                {
                    FromDate = ToDate;
                }
                int FromTime     = Utility.RealTimeToIntTime(fromTime);
                int ToTime       = Utility.RealTimeToIntTime(toTime);
                int TransferTime = Utility.RealTimeToIntTime(transferTime);
                int TransferDay  = 0;
                if (transferDay != null && transferDay != string.Empty)
                {
                    TransferDay = int.Parse(transferDay);
                }
                int TargetTime = 0;

                switch (TTM)
                {
                case TrafficTransferMode.RecordBase:
                    int BasicTrafficsRowCount = basicTrafficRepository.GetBasicTrfficsRowCount();
                    toRecord   = toRecord > 0 ? toRecord <= BasicTrafficsRowCount ? toRecord : BasicTrafficsRowCount : 1;
                    fromRecord = fromRecord > 0 ? fromRecord <= toRecord ? fromRecord : 1 : 1;
                    break;

                case TrafficTransferMode.IdentifierBase:
                    decimal BasicTrafficsLastRowIdentifier = basicTrafficRepository.GetBaseTrafficsLastRowIdentifier();
                    toIdentifier   = toIdentifier > 0 ? toIdentifier <= BasicTrafficsLastRowIdentifier ? toIdentifier : BasicTrafficsLastRowIdentifier : 0;
                    fromIdentifier = fromIdentifier >= 0 ? fromIdentifier <= toIdentifier ? fromIdentifier : 0 : 0;
                    break;
                }

                IList <BasicTraffic> BasicTrafficsList = basicTrafficRepository.GetAllBaiscTrafficsByConditions(TTM, machineID, FromDate, ToDate, FromTime, ToTime, fromRecord, toRecord, fromIdentifier, toIdentifier, IsIntegralConditions);
                trafficCount = BasicTrafficsList.Count;

                foreach (BasicTraffic BasicTrafficsListItem in BasicTrafficsList)
                {
                    string errorDate        = string.Empty;
                    string errorDescription = string.Empty;
                    switch (LanguageBusiness.GetCurrentLanguage())
                    {
                    case "fa-IR":
                        errorDescription = "اشکال در انتقال تردد " + BasicTrafficsListItem.Person.Name + " به شماره پرسنلی " + BasicTrafficsListItem.Person.BarCode + " در تاریخ " + BasicTrafficsListItem.Date + " و ساعت " + Utility.IntTimeToRealTime(BasicTrafficsListItem.Time) + "";
                        break;

                    case "en-US":
                        errorDescription = "Problem In Traffic Transfer " + BasicTrafficsListItem.Person.Name + " with Personnel Code " + BasicTrafficsListItem.Person.BarCode + " in Date " + BasicTrafficsListItem.Date + " and Time " + Utility.IntTimeToRealTime(BasicTrafficsListItem.Time) + "";
                        break;
                    }
                    switch (LanguageBusiness.GetCurrentSysLanguage())
                    {
                    case "fa-IR":
                        errorDate = Utility.ToPersianDate(BasicTrafficsListItem.Date);
                        break;

                    case "en-US":
                        errorDate = Utility.ToString(BasicTrafficsListItem.Date);
                        break;
                    }

                    switch (TTT)
                    {
                    case TrafficTransferType.Backward:
                        BasicTrafficsList = BasicTrafficsList.OrderBy(x => x.DateTime).ToList <BasicTraffic>();
                        TargetTime        = BasicTrafficsListItem.Time - TransferTime;
                        using (this.NHSession.BeginTransaction())
                        {
                            try
                            {
                                if (TargetTime >= 0)
                                {
                                    BasicTrafficsListItem.Time        = TargetTime;
                                    BasicTrafficsListItem.Date        = BasicTrafficsListItem.Date.AddDays(-TransferDay);
                                    BasicTrafficsListItem.Transferred = true;
                                    objectRep.WithoutTransactUpdate(BasicTrafficsListItem);
                                    UpdateCFP(BasicTrafficsListItem, UIActionType.EDIT);
                                }
                                else
                                {
                                    this.DeleteTraffic(operatorPersonID, BasicTrafficsListItem.ID);
                                    this.InsertTraffic(operatorPersonID, BasicTrafficsListItem.Person.ID, BasicTrafficsListItem.Precard.ID, BasicTrafficsListItem.Date.AddDays(-(TransferDay + 1)), BasicTrafficsListItem.Time + (24 * 60 - TransferTime), "TrraficTimeTransfer");
                                }
                                NHibernateSessionManager.Instance.CommitTransactionOn();
                            }
                            catch (Exception ex)
                            {
                                LogException(new Exception(errorDescription + " " + ex.Message), "BTraffic", "TransferDayTrafficsByConditions");
                                NHibernateSessionManager.Instance.RollbackTransactionOn();
                                SessionHelper.SaveSessionValue(SessionHelper.TrafficsTransferErrorOccuredCountSessionName, trafficErrorOccuredCounter++);
                            }
                        }
                        break;

                    case TrafficTransferType.Forward:
                        BasicTrafficsList = BasicTrafficsList.OrderByDescending(x => x.DateTime).ToList <BasicTraffic>();
                        TargetTime        = BasicTrafficsListItem.Time + TransferTime;
                        using (this.NHSession.BeginTransaction())
                        {
                            try
                            {
                                if (TargetTime < 24 * 60)
                                {
                                    BasicTrafficsListItem.Time        = TargetTime;
                                    BasicTrafficsListItem.Date        = BasicTrafficsListItem.Date.AddDays(TransferDay);
                                    BasicTrafficsListItem.Transferred = true;
                                    objectRep.WithoutTransactUpdate(BasicTrafficsListItem);
                                    UpdateCFP(BasicTrafficsListItem, UIActionType.EDIT);
                                }
                                else
                                {
                                    this.DeleteTraffic(operatorPersonID, BasicTrafficsListItem.ID);
                                    this.InsertTraffic(operatorPersonID, BasicTrafficsListItem.Person.ID, BasicTrafficsListItem.Precard.ID, BasicTrafficsListItem.Date.AddDays(TransferDay + 1), (BasicTrafficsListItem.Time + TransferTime) - 24 * 60, "TrraficTimeTransfer");
                                }
                                NHibernateSessionManager.Instance.CommitTransactionOn();
                            }
                            catch (Exception ex)
                            {
                                LogException(new Exception(errorDescription + " " + ex.Message), "BTraffic", "TransferDayTrafficsByConditions");
                                NHibernateSessionManager.Instance.RollbackTransactionOn();
                                SessionHelper.SaveSessionValue(SessionHelper.TrafficsTransferErrorOccuredCountSessionName, trafficErrorOccuredCounter++);
                            }
                        }
                        break;
                    }
                    SessionHelper.SaveSessionValue(SessionHelper.TrafficsTransferCompletedCountSessionName, trafficCounter++);
                }
            }
            catch (Exception ex)
            {
                LogException(ex, "BTraffic", "TransferDayTrafficsByConditions");
                throw ex;
            }
        }
Beispiel #5
0
 public void TransferTrafficsByConditions(TrafficTransferMode TTM, decimal machineID, string fromDate, string toDate, string fromTime, string toTime, int fromRecord, int toRecord, decimal fromIdentifier, decimal toIdentifier, string transferDay, string transferTime, TrafficTransferType TTT, bool IsIntegralConditions)
 {
 }
Beispiel #6
0
 public void TransferTrafficsByConditions(decimal operatorPersonID, TrafficTransferMode TTM, decimal machineID, string fromDate, string toDate, string fromTime, string toTime, int fromRecord, int toRecord, decimal fromIdentifier, decimal toIdentifier, string transferDay, string transferTime, TrafficTransferType TTT, bool IsIntegralConditions)
 {
     this.TrafficsBusiness.TransferTraffics(operatorPersonID, TTM, machineID, fromDate, toDate, fromTime, toTime, fromRecord, toRecord, fromIdentifier, toIdentifier, transferDay, transferTime, TTT, IsIntegralConditions);
 }