Exemplo n.º 1
0
 public ConceptsManagement()
 {
     BSecondaryConceptUserDefined = new BSecondaryConceptUserDefined();
     StringBuilder    = new StringGenerator();
     LangProv         = new BLanguage();
     ExceptionHandler = new ExceptionHandler();
 }
Exemplo n.º 2
0
 public ExpressionsManagement()
 {
     BExpression      = new BConceptExpression();
     StringBuilder    = new StringGenerator();
     LangProv         = new BLanguage();
     ExceptionHandler = new ExceptionHandler();
 }
Exemplo n.º 3
0
        protected override void InitializeCulture()
        {
            BLanguage LangProv = new BLanguage();

            this.SetCurrentCultureResObjs(LangProv.GetCurrentLanguage());
            base.InitializeCulture();
        }
Exemplo n.º 4
0
 public RulesManagement()
 {
     RuleBusiness      = new BRuleTemp();
     RuleParameterTemp = new BRuleParameterTemp();
     StringBuilder     = new StringGenerator();
     LangProv          = new BLanguage();
     ExceptionHandler  = new ExceptionHandler();
     BRuleType         = new BRuleType();
 }
Exemplo n.º 5
0
 public ConceptRuleEditor()
 {
     if (BConceptExpression == null)
     {
         BConceptExpression = new BConceptExpression();
     }
     if (StringBuilder == null)
     {
         StringBuilder = new StringGenerator();
     }
     if (ExceptionHandler == null)
     {
         ExceptionHandler = new ExceptionHandler();
     }
     if (LangProv == null)
     {
         LangProv = new BLanguage();
     }
 }
Exemplo n.º 6
0
        protected override void OnSaveChangesSuccess(User user, UIActionType action)
        {
            try
            {
                if (action == UIActionType.ADD) //ایجاد تنظیمات
                {
                    UserSettings userSettings = new UserSettings();
                    userSettings.Language = new Languages()
                    {
                        ID = BLanguage.GetCurrentSystemLanguage().ID
                    };
                    userSettings.User = user;

                    EntityRepository <UserSettings> setRep = new EntityRepository <UserSettings>(false);
                    setRep.Save(userSettings);
                }
            }
            catch (Exception ex)
            {
                LogException(ex, "UserSettings Creation");
                throw ex;
            }
        }
Exemplo n.º 7
0
        public decimal UpdateDateRange(CalculationRangeGroup calcDateRangeGroup, IList <CalculationDateRange> dateRanges, IList <decimal> conceptTmpIds)
        {
            try
            {
                #region validation
                UIValidationExceptions exception = new UIValidationExceptions();

                if (dateRanges == null || dateRanges.Count != 12)
                {
                    exception.Add(new ValidationException(ExceptionResourceKeys.DateRangesCountNotEqualToTwelve, "تعداد ماههای ارسالی برای ذخیره دوره محاسبات باید برابر 12 باشد", ExceptionSrc));
                }
                if (Utility.IsEmpty(conceptTmpIds))
                {
                    exception.Add(new ValidationException(ExceptionResourceKeys.DateRangesMustHaveConcept, "بمنظور بروزرسانی حتما باید یک یا چند مفهوم انتخاب شود", ExceptionSrc));
                }
                if (exception.Count > 0)
                {
                    throw exception;
                }
                #endregion
                ApplicationLanguageSettings sysLanguage = new BLanguage().CurrentApplicationSetting;
                if (sysLanguage != null)
                {
                    calcDateRangeGroup.Culture = sysLanguage.Language.Name;
                }

                //بارگذاری دوره مجاسبات ثبت شده در دیتابیس
                var result = from o in conceptTmpIds
                             select new SecondaryConcept()
                {
                    ID = o
                };
                IList <SecondaryConcept> conceptsList = result.ToList <SecondaryConcept>();

                IList <CalculationDateRange> dateRangeListInDatabase = dateRangeRepository.GetCalculationDateRanges(calcDateRangeGroup, conceptsList);
                //استخراج مفاهیمی که در حال حاضر در دیتابیس دوره محاسبات ندارند
                IList <SecondaryConcept>     extraCnps           = conceptsList.Where(x => dateRangeListInDatabase.Select(y => y.Concept.ID).Contains(x.ID) == false).ToList();
                IList <CalculationDateRange> newOrderList        = new List <CalculationDateRange>();
                List <CalculationDateRange>  resultDateRangeList = new List <CalculationDateRange>();

                foreach (CalculationDateRange dateRange in dateRanges.OrderBy(x => x.Order).ToList())
                {
                    //بروزرساتی دورهای محاسباتی
                    IList <CalculationDateRange> sameOrderList = dateRangeListInDatabase.Where(x => x.Order == dateRange.Order).ToList();
                    for (int i = 0; i < sameOrderList.Count; i++)
                    {
                        sameOrderList[i].FromDay   = dateRange.FromDay;
                        sameOrderList[i].FromMonth = dateRange.FromMonth;
                        sameOrderList[i].ToDay     = dateRange.ToDay;
                        sameOrderList[i].ToMonth   = dateRange.ToMonth;
                        SetDateRangeIndex(sameOrderList[i]);
                    }
                    //درج دوره محاسبات برای مفاهیم جدید
                    foreach (SecondaryConcept cnp in extraCnps)
                    {
                        CalculationDateRange dr = new CalculationDateRange();
                        dr.Concept    = cnp;
                        dr.FromDay    = dateRange.FromDay;
                        dr.FromMonth  = dateRange.FromMonth;
                        dr.ToDay      = dateRange.ToDay;
                        dr.ToMonth    = dateRange.ToMonth;
                        dr.Order      = dateRange.Order;
                        dr.RangeGroup = calcDateRangeGroup;
                        SetDateRangeIndex(dr);
                        newOrderList.Add(dr);
                    }
                }

                resultDateRangeList.AddRange(dateRangeListInDatabase);
                resultDateRangeList.AddRange(newOrderList);
                calcDateRangeGroup.DateRangeList = resultDateRangeList;

                base.SaveChanges(calcDateRangeGroup, UIActionType.EDIT);
                return(calcDateRangeGroup.ID);
            }
            catch (Exception ex)
            {
                LogException(ex, "BDateRange", "UpdateDateRange");
                throw ex;
            }
        }
Exemplo n.º 8
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;
            }
        }
Exemplo n.º 9
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;
            }
        }