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; } }
/// <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); }
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); }
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 } }