/// <summary> /// Liste les périodes liés à une périodicité donnée. /// </summary> /// <param name="periodName">La périodicité</param> /// <returns>Les périodes de cette périodicité</returns> public ObservableCollection <PeriodInterval> getHierarchicalPeriod(int show) { ObservableCollection <PeriodInterval> periods = new ObservableCollection <PeriodInterval>(); foreach (PeriodInterval year in buildYearPeriods()) { periods.Add(year); PeriodName yearPeriodName = new PeriodName(); yearPeriodName.periodFromTime = periodFromTime > year.periodFromDateTime ? periodFromTime : year.periodFromDateTime; yearPeriodName.periodToTime = periodToTime < year.periodToDateTime ? periodToTime : year.periodToDateTime; foreach (PeriodInterval month in yearPeriodName.buildMonthPeriods()) { year.childrens.Add(month); PeriodName monthPeriodName = new PeriodName(); monthPeriodName.periodFromTime = periodFromTime > month.periodFromDateTime ? periodFromTime : month.periodFromDateTime; monthPeriodName.periodToTime = periodToTime < month.periodToDateTime ? periodToTime : month.periodToDateTime; foreach (PeriodInterval week in monthPeriodName.buildWeekPeriods()) { month.childrens.Add(week); PeriodName weekPeriodName = new PeriodName(); weekPeriodName.periodFromTime = periodFromTime > month.periodFromDateTime ? periodFromTime : month.periodFromDateTime; weekPeriodName.periodToTime = periodToTime < month.periodToDateTime ? periodToTime : month.periodToDateTime; } } } return(periods); }
public void setPeriodName(Kernel.Domain.PeriodName periodName) { this.measureField = null; this.attributeField = null; this.periodField = periodName; this.writeOffFieldType = WriteOffFieldType.PERIOD; }
public void setAttribute(Kernel.Domain.Attribute attribute) { this.measureField = null; this.attributeField = attribute; this.periodField = null; this.writeOffFieldType = WriteOffFieldType.ATTRIBUTE; }
public void setMeasure(Measure measure) { this.measureField = measure; this.attributeField = null; this.periodField = null; this.writeOffFieldType = WriteOffFieldType.MEASURE; }
public void refreshPeriodInterval(PeriodName periodName) { foreach (PeriodInterval child in childrenListChangeHandler.Items) { child.periodName = periodName; child.refreshPeriodInterval(periodName); } }
public PeriodName GetChildByName(PeriodName periodName, string name) { foreach (PeriodName period in childrenListChangeHandler.Items) { if (period.name.ToUpper().Equals(name.ToUpper()) && !period.Equals(periodName)) { return(periodName); } } return(null); }
/// <summary> /// /// </summary> /// <param name="measure1"></param> /// <param name="measure2"></param> public void SwichtPosition(PeriodName periodName1, PeriodName periodName2) { int position = periodName1.position; periodName1.SetPosition(periodName2.position); periodName2.SetPosition(position); childrenListChangeHandler.AddUpdated(periodName1); childrenListChangeHandler.AddUpdated(periodName2); UpdateParents(); OnPropertyChanged("childrenListChangeHandler.Items"); }
/// <summary> /// /// </summary> /// <returns></returns> public IHierarchyObject GetCopy() { PeriodName periodName = new PeriodName(); periodName.name = "Copy Of " + this.name; periodName.position = -1; periodName.parent = null; foreach (PeriodName child in this.childrenListChangeHandler.Items) { IHierarchyObject copy = child.GetCopy(); periodName.AddChild(copy); } return(periodName); }
/// <summary> /// Retire un fils /// </summary> /// <param name="child"></param> public void RemoveChild(IHierarchyObject child) { foreach (IHierarchyObject item in childrenListChangeHandler.Items) { if (item.GetPosition() > child.GetPosition()) { item.SetPosition(item.GetPosition() - 1); childrenListChangeHandler.AddUpdated((PeriodName)item); } } child.SetPosition(-1); PeriodName Child = (PeriodName)child; childrenListChangeHandler.AddDeleted(Child); UpdateParents(); }
public void Update(PeriodName p) { this.curentIntervalGroupName = p.curentIntervalGroupName; this.periodFrom = p.periodFrom; this.periodTo = p.periodTo; //this.position = p.position; this.showDay = p.showDay; this.showMonth = p.showMonth; this.showWeek = p.showWeek; this.showYear = p.showYear; this.typeName = p.typeName; this.name = p.name; this.incrementationCount = p.incrementationCount; this.granularity = p.granularity; PeriodInterval group = new PeriodInterval(0, p.curentIntervalGroupName, p.periodFromTime, p.periodToTime); group.childrenListChangeHandler.AddNew(p.intervalListChangeHandler.Items); this.AddPeriodInterval(group); }
/// <summary> /// return existing child with name: name and in not edition mode /// </summary> /// <param name="name"></param> /// <returns></returns> public IHierarchyObject GetNotEditedChildByName(PeriodName periodName, string name) { if (periodName.name.ToUpper().Equals(name.ToUpper())) { foreach (PeriodName periodname in childrenListChangeHandler.Items) { if (periodName.name == null) { continue; } if (periodname.name.ToUpper().Equals(name.ToUpper()) && !periodname.Equals(periodName)) { return(periodname); } IHierarchyObject ob = periodname.GetNotEditedChildByName(periodName, name); if (ob != null) { return(ob); } } } return(null); }
/// <summary> /// Liste les périodes liés à une périodicité donnée. /// </summary> /// <param name="periodName">La périodicité</param> /// <returns>Les périodes de cette périodicité</returns> public List <PeriodInterval> getPeriod(PeriodName periodName) { List <PeriodInterval> periods = new List <PeriodInterval>(0); if (periodName.granularity == Granularity.YEAR.name) { return(buildYearPeriods()); } if (periodName.granularity == Granularity.MONTH.name) { return(buildMonthPeriods()); } if (periodName.granularity == Granularity.WEEK.name) { return(buildWeekPeriods()); } if (periodName.granularity == Granularity.DAY.name) { return(buildDayPeriods()); } return(periods); }
public IHierarchyObject CloneObject() { PeriodName periodName = new PeriodName(); string stringValue = this.name; periodName.name = stringValue; int intValue = this.position; periodName.position = intValue; //periodName.parent = this.parent != null ? (PeriodName)this.parent.CloneObject() : null; stringValue = this.show; periodName.show = stringValue; bool boolValue = this.showDay; periodName.showDay = boolValue; boolValue = this.showMonth; periodName.showMonth = boolValue; boolValue = this.showWeek; periodName.showWeek = boolValue; boolValue = this.showYear; periodName.showYear = boolValue; stringValue = this.granularity; periodName.granularity = stringValue; boolValue = this.iDateDefault; periodName.iDateDefault = boolValue; intValue = this.incrementationCount; periodName.incrementationCount = intValue; boolValue = this.isModified; periodName.isModified = boolValue; stringValue = this.modificationDate; periodName.modificationDate = stringValue; stringValue = this.creationDate; periodName.creationDate = stringValue; intValue = this.oid.HasValue ? this.oid.Value : 0; if (intValue != 0) { periodName.oid = intValue; } stringValue = this.typeName; periodName.typeName = stringValue; stringValue = this.periodFrom; periodName.periodFrom = stringValue; stringValue = this.periodTo; periodName.periodTo = stringValue; periodName.root = null; periodName.intervalListChangeHandler = new PersistentListChangeHandler <PeriodInterval>(); foreach (PeriodInterval intervalle in this.intervalListChangeHandler.Items) { periodName.intervalListChangeHandler.AddNew((PeriodInterval)intervalle.CloneObject()); } periodName.root = periodName.GetRootPeriodInterval(); boolValue = this.isModified; periodName.isModified = boolValue; boolValue = this.isCompleted; periodName.isCompleted = boolValue; stringValue = this.DEFAULT_DATE_NAME1; periodName.DEFAULT_DATE_NAME1 = stringValue; periodName.childrenListChangeHandler = new PersistentListChangeHandler <PeriodName>(); foreach (PeriodName periodname in this.childrenListChangeHandler.Items) { periodName.AddChild((PeriodName)periodname.CloneObject()); } return(periodName); }