Beispiel #1
0
        public void SetArchiveGridSettings(IList <ArchiveFieldMap> mapList)
        {
            try
            {
                IList <ArchiveFieldMap> orginalMapList = mapRep.GetAll();
                foreach (ArchiveFieldMap changedMap in mapList)
                {
                    ArchiveFieldMap map = orginalMapList.Where(x => x.PId == changedMap.PId).FirstOrDefault();
                    if (map == null)
                    {
                        continue;
                    }
                    if (map.Visible != changedMap.Visible)
                    {
                        map.Visible = changedMap.Visible;
                        mapRep.Update(map);
                    }
                }
            }
            catch (Exception ex)
            {
                BaseBusiness <Entity> .LogException(ex);

                throw ex;
            }
        }
Beispiel #2
0
        /// <summary>
        /// فیلدهایی که باید مقدار بگیرند را مقدار دهی میکند
        /// </summary>
        /// <param name="proxy"></param>
        /// <param name="personId">کد پرسنلی</param>
        /// <param name="archiveValues">لیست مقادیر مفاعیم نتایج محاسبات شده</param>
        /// <param name="fildsMapList">فیلد های نتایج محاسبات محسبات</param>
        /// <returns></returns>
        private ArchiveCalcValuesProxy SetMapValue(ArchiveCalcValuesProxy proxy, decimal personId, IList <ArchiveConceptValue> archiveValues, IList <ArchiveFieldMap> fildsMapList)
        {
            try
            {
                ArchiveFieldMap map     = null;
                MemberInfo[]    members = proxy.GetType().GetMembers();

                foreach (MemberInfo member in members.Where(a => a.MemberType == MemberTypes.Property && !a.Name.ToLower().Contains("person")))
                {
                    PropertyInfo prop = typeof(ArchiveCalcValuesProxy).GetProperty(member.Name);
                    map = fildsMapList.Where(x => x.PId.ToLower().Equals(member.Name.ToLower())).FirstOrDefault();
                    prop.SetValue(proxy, Empty, null);

                    if (map != null)
                    {
                        ArchiveConceptValue cnpValue = archiveValues.Where(x => x.PersonId == personId && x.Concept.KeyColumnName.ToLower().Equals(map.ConceptKeyColumn.ToLower())).FirstOrDefault();

                        if (cnpValue != null)
                        {
                            string value = Utility.ToString(cnpValue.ChangedValue);
                            switch (cnpValue.Concept.DataType)
                            {
                            case ConceptDataType.Int:
                                value = Utility.ToInteger(value).ToString();
                                break;

                            case ConceptDataType.Hour:
                                value = Utility.IntTimeToTime(Utility.ToInteger(value));
                                break;
                            }
                            prop.SetValue(proxy, value, null);
                        }
                    }
                }
                proxy.ID = Guid.NewGuid().ToString();
                return(proxy);
            }
            catch (Exception ex)
            {
                BaseBusiness <Entity> .LogException(ex);

                throw ex;
            }
        }
    private void BuildGrid_UpdateCalculationResult(ComponentArt.Web.UI.Grid grid)
    {
        IList <ArchiveFieldMap> ArchiveFieldMapList = this.UpdateCalculationResultBusiness.GetArchiveGridSettings();
        GridColumnCollection    Gcc = grid.Levels[0].Columns;

        for (int i = 5; i < Gcc.Count - 1; i++)
        {
            ArchiveFieldMap archiveFieldMap = ArchiveFieldMapList.Where(afm => afm.PId.ToLower() == Gcc[i].DataField.ToLower()).FirstOrDefault();
            if (archiveFieldMap != null)
            {
                Gcc[i].Visible     = archiveFieldMap.Visible;
                Gcc[i].HeadingText = archiveFieldMap.Title;
                Gcc[i].Width       = archiveFieldMap.ColumnSize;
            }
            else
            {
                Gcc[i].Visible = false;
            }
        }
    }
    private IList <ArchiveFieldMap> GetVisibleColumns_GridSettings_UpdateCalculationResult(string State, Dictionary <string, string> SettingsColArray)
    {
        IList <ArchiveFieldMap> ArchiveFieldMapList = new List <ArchiveFieldMap>();

        switch (State)
        {
        case "Get":
            ArchiveFieldMapList = this.UpdateCalculationResultBusiness.GetArchiveGridSettings();
            break;

        case "Set":
            foreach (string key in SettingsColArray.Keys)
            {
                ArchiveFieldMap archiveFieldMap = new ArchiveFieldMap();
                archiveFieldMap.PId     = key;
                archiveFieldMap.Visible = bool.Parse(SettingsColArray[key]);
                ArchiveFieldMapList.Add(archiveFieldMap);
            }
            this.UpdateCalculationResultBusiness.SetArchiveGridSettings(ArchiveFieldMapList);
            break;
        }
        return(ArchiveFieldMapList);
    }
Beispiel #5
0
        public ArchiveCalcValuesProxy SetArchiveValues(int year, int month, decimal personId, ArchiveCalcValuesProxy proxy)
        {
            IList <ArchiveCalcValuesProxy> resultList = new List <ArchiveCalcValuesProxy>();
            int rangeOrder = month;

            try
            {
                UIValidate(personId);
                proxy = ValidateKaheshiKosuratBankSepah(proxy, year, month, personId);
            }
            catch (Exception)
            {
            }



            IList <ArchiveConceptValue> archiveValues = archiveRep.LoadArchiveValueList(new List <decimal>()
            {
                personId
            }, year, rangeOrder);

            IList <ArchiveFieldMap> fildsMapList = mapRep.GetAll();

            if (archiveValues.Any(x => x.PersonId == personId))
            {
                ArchiveFieldMap map     = null;
                MemberInfo[]    members = proxy.GetType().GetMembers();

                #region Data Type Validatin
                UIValidationExceptions exceptions = new UIValidationExceptions();
                foreach (MemberInfo member in members.Where(a => a.MemberType == MemberTypes.Property && !a.Name.ToLower().Contains("person")))
                {
                    PropertyInfo prop = typeof(ArchiveCalcValuesProxy).GetProperty(member.Name);

                    map = fildsMapList.Where(x => x.PId.ToLower().Equals(member.Name.ToLower())).FirstOrDefault();
                    if (map != null && map.Visible)
                    {
                        ArchiveConceptValue cnpValue = archiveValues.Where(x => x.PersonId == personId && x.Concept.KeyColumnName.ToLower().Equals(map.ConceptKeyColumn.ToLower())).FirstOrDefault();

                        if (cnpValue != null)
                        {
                            bool   isValid = false;
                            string pValue  = Utility.ToString(prop.GetValue(proxy, null)).Trim();
                            if (Utility.IsEmpty(pValue))
                            {
                                pValue = "0";
                            }
                            int    value   = 0;
                            string cnpName = "";
                            if (BLanguage.CurrentLocalLanguage == LanguagesName.Parsi)
                            {
                                cnpName = map.FnTitle;
                            }
                            else
                            {
                                cnpName = map.EnTitle;
                            }
                            switch (cnpValue.Concept.DataType)
                            {
                            case ConceptDataType.Int:
                                if (!Utility.IsIntiger(pValue))
                                {
                                    ValidationException exception = new ValidationException(ExceptionResourceKeys.ArchiveDataTypeIsNotValid, cnpName, ExceptionSrc);
                                    exception.Data.Add("Info", cnpName);
                                    exceptions.Add(exception);
                                }
                                break;

                            case ConceptDataType.Hour:
                                if (!Utility.IsTime(pValue) && !Utility.IsIntiger(pValue))
                                {
                                    ValidationException exception = new ValidationException(ExceptionResourceKeys.ArchiveDataTypeIsNotValid, cnpName, ExceptionSrc);
                                    exception.Data.Add("Info", cnpName);
                                    exceptions.Add(exception);
                                }
                                break;
                            }
                            if (isValid)
                            {
                                cnpValue.ChangedValue = value;
                                archiveRep.SaveOrUpdate(cnpValue);
                            }
                        }
                    }
                }
                if (exceptions.Count > 0)
                {
                    throw exceptions;
                }
                #endregion

                #region Set Value
                foreach (MemberInfo member in members.Where(a => a.MemberType == MemberTypes.Property && !a.Name.ToLower().Contains("person")))
                {
                    PropertyInfo prop = typeof(ArchiveCalcValuesProxy).GetProperty(member.Name);

                    map = fildsMapList.Where(x => x.PId.ToLower().Equals(member.Name.ToLower())).FirstOrDefault();
                    if (map != null && map.Visible)
                    {
                        ArchiveConceptValue cnpValue = archiveValues.Where(x => x.PersonId == personId && x.Concept.KeyColumnName.ToLower().Equals(map.ConceptKeyColumn.ToLower())).FirstOrDefault();

                        if (cnpValue != null)
                        {
                            bool   isValid = false;
                            string pValue  = Utility.ToString(prop.GetValue(proxy, null)).Trim();
                            if (Utility.IsEmpty(pValue))
                            {
                                pValue = "0";
                            }
                            int value = 0;
                            switch (cnpValue.Concept.DataType)
                            {
                            case ConceptDataType.Int:
                                if (Utility.IsIntiger(pValue))
                                {
                                    value   = Utility.ToInteger(pValue);
                                    isValid = true;
                                }
                                break;

                            case ConceptDataType.Hour:
                                if (Utility.IsIntiger(pValue))
                                {
                                    pValue = pValue += ":00";
                                }
                                if (Utility.IsTime(pValue))
                                {
                                    value   = Utility.RealTimeToIntTime(pValue);
                                    isValid = true;
                                }
                                break;
                            }
                            if (isValid)
                            {
                                cnpValue.ModifiedDate     = DateTime.Now;
                                cnpValue.ModifiedPersonId = BUser.CurrentUser.Person.ID;
                                cnpValue.ChangedValue     = value;
                                archiveRep.SaveOrUpdate(cnpValue);
                                BArchiveCalculator.LogUserAction(cnpValue, string.Format("Change Archive for person {0} , Date: {2}/{1}", cnpValue.PersonId.ToString(), month, year));
                            }
                        }
                    }
                }
                #endregion
            }

            return(proxy);
        }
Beispiel #6
0
        public void SetArchiveValues(int year, int month, decimal personId, ArchiveCalcValuesProxy proxy)
        {
            IList <ArchiveCalcValuesProxy> resultList = new List <ArchiveCalcValuesProxy>();
            int rangeOrder = month;

            IList <ArchiveConceptValue> archiveValues = archiveRep.LoadArchiveValueList(new List <decimal>()
            {
                personId
            }, year, rangeOrder);

            IList <ArchiveFieldMap> fildsMapList = mapRep.GetAll();

            if (archiveValues.Any(x => x.PersonId == personId))
            {
                ArchiveFieldMap map     = null;
                MemberInfo[]    members = proxy.GetType().GetMembers();

                #region Data Type Validatin
                UIValidationExceptions exceptions = new UIValidationExceptions();
                foreach (MemberInfo member in members.Where(a => a.MemberType == MemberTypes.Property && !a.Name.ToLower().Contains("person")))
                {
                    PropertyInfo prop = typeof(ArchiveCalcValuesProxy).GetProperty(member.Name);

                    map = fildsMapList.Where(x => x.PId.ToLower().Equals(member.Name.ToLower())).FirstOrDefault();
                    if (map != null)
                    {
                        ArchiveConceptValue cnpValue = archiveValues.Where(x => x.PersonId == personId && x.Concept.KeyColumnName.ToLower().Equals(map.ConceptKeyColumn.ToLower())).FirstOrDefault();

                        if (cnpValue != null)
                        {
                            bool   isValid = false;
                            string pValue  = Utility.ToString(prop.GetValue(proxy, null));
                            int    value   = 0;
                            string cnpName = "";
                            if (BLanguage.CurrentLocalLanguage == LanguagesName.Parsi)
                            {
                                cnpName = map.FnTitle;
                            }
                            else
                            {
                                cnpName = map.EnTitle;
                            }
                            switch (cnpValue.Concept.DataType)
                            {
                            case ConceptDataType.Int:
                                if (!Utility.IsNumber(pValue))
                                {
                                    exceptions.Add(new ValidationException(ExceptionResourceKeys.ArchiveDataTypeIsNotValid, cnpName, ExceptionSrc));
                                }
                                break;

                            case ConceptDataType.Hour:
                                if (!Utility.IsTime(pValue))
                                {
                                    exceptions.Add(new ValidationException(ExceptionResourceKeys.ArchiveDataTypeIsNotValid, cnpName, ExceptionSrc));
                                }
                                break;
                            }
                            if (isValid)
                            {
                                cnpValue.ChangedValue = value;
                                archiveRep.SaveOrUpdate(cnpValue);
                            }
                        }
                    }
                }
                if (exceptions.Count > 0)
                {
                    throw exceptions;
                }
                #endregion

                #region Set Value
                foreach (MemberInfo member in members.Where(a => a.MemberType == MemberTypes.Property && !a.Name.ToLower().Contains("person")))
                {
                    PropertyInfo prop = typeof(ArchiveCalcValuesProxy).GetProperty(member.Name);

                    map = fildsMapList.Where(x => x.PId.ToLower().Equals(member.Name.ToLower())).FirstOrDefault();
                    if (map != null)
                    {
                        ArchiveConceptValue cnpValue = archiveValues.Where(x => x.PersonId == personId && x.Concept.KeyColumnName.ToLower().Equals(map.ConceptKeyColumn.ToLower())).FirstOrDefault();

                        if (cnpValue != null)
                        {
                            bool   isValid = false;
                            string pValue  = Utility.ToString(prop.GetValue(proxy, null));
                            int    value   = 0;
                            switch (cnpValue.Concept.DataType)
                            {
                            case ConceptDataType.Int:
                                if (Utility.IsNumber(pValue))
                                {
                                    value   = Utility.ToInteger(pValue);
                                    isValid = true;
                                }
                                break;

                            case ConceptDataType.Hour:
                                if (Utility.IsTime(pValue))
                                {
                                    value   = Utility.RealTimeToIntTime(pValue);
                                    isValid = true;
                                }
                                break;
                            }
                            if (isValid)
                            {
                                cnpValue.ChangedValue = value;
                                archiveRep.SaveOrUpdate(cnpValue);
                            }
                        }
                    }
                }
                #endregion
            }
        }