public static string GetPhaseDate(Enums.ResourceType resourceType, PhaseDateInput phaseDateType, int index, HrbcPhaseEntryReader phaseEntryReader) { string resultDate = Util.ToString(DateTime.Now); var recentPhaseDate = phaseEntryReader.Data[$"{resourceType.ToPrivateEnum()}{index}"].Where(phase => phase.Flag == "1").SingleOrDefault().PhaseDate; var phaseDate = Util.ParseDateTime(recentPhaseDate); switch (phaseDateType) { case PhaseDateInput.SmallerThanCurrentPhaseDate: resultDate = Util.ToString(phaseDate.AddDays(-1)); break; case PhaseDateInput.EqualToCurrentPhaseDateAtSecondLevel: resultDate = recentPhaseDate; break; case PhaseDateInput.EqualToCurrentPhaseDateAtMinuteLevel: resultDate = Util.ToString(new DateTime(phaseDate.Year, phaseDate.Month, phaseDate.Day, phaseDate.Hour, phaseDate.Minute, 0)); break; case PhaseDateInput.GreaterThanCurrentPhaseDate: resultDate = Util.ToString(phaseDate.AddDays(1)); break; case PhaseDateInput.NoPhaseDate: resultDate = string.Empty; break; default: break; } return(resultDate); }
public void TestUpdateSingleItem(Enums.ResourceType resourceType, PhaseDateInput phaseDateType, PhaseOptionInput phaseOptionType, int expectedCode, int index) { phaseDictionary = PhaseFieldHelper.InitPhaseList(phaseSearcher); var resource = PhaseFieldHelper.GetUpdatedResourcePhaseField(resourceType, phaseDateType, phaseOptionType, index, phaseSearcher, phaseEntryReader, GetPhaseOrderBySort(resourceType), phaseDictionary, records); string result = ResourceHelper.WriteResource(resource, null); Assert.That(result, MustBe.EqualTo(records.Data[$"{resourceType.ToPrivateEnum()}{index}"].Id.ToString()), string.Format("Cannot update phase for {0}", resourceType)); }
public void TestUpdateSingleItem(Enums.ResourceType resourceType, PhaseDateInput phaseDateType, PhaseOptionInput phaseOptionType, int expectedCode) { phaseDictionary = PhaseFieldHelper.InitPhaseList(phaseSearcher); var resource = PhaseFieldHelper.GetUpdatedResourcePhaseField(resourceType, phaseDateType, phaseOptionType, 0, phaseSearcher, phaseEntryReader, GetPhaseOrderBySort(resourceType), phaseDictionary, records); ErrorCode result = ResourceHelper.WriteResourceFail(resource, null); Assert.That(result, MustBe.MatchingErrorCode(expectedCode), string.Format("Cannot create phase for {0}", resourceType)); }
public void TestUpdateListItem(Enums.ResourceType resourceType, PhaseDateInput phaseDateType, PhaseOptionInput phaseOptionType, int expectedCode, int index) { phaseDictionary = PhaseFieldHelper.InitPhaseList(phaseSearcher); var resourceList = new int[] { (index * 2), (index * 2 + 1) }.Select(keyDep => { return(PhaseFieldHelper.GetUpdatedResourcePhaseField(resourceType, phaseDateType, phaseOptionType, keyDep, phaseSearcher, phaseEntryReader, GetPhaseOrderBySort(resourceType), phaseDictionary, records)); }).ToList(); List <WriteResultItem> result = ResourceHelper.WriteResources(resourceType, resourceList, null); Assert.That(result, MustBe.SuccessfullyWritten(2), string.Format("Cannot update phase for {0}", resourceType)); }
public void TestUpdateListItem(Enums.ResourceType resourceType, PhaseDateInput phaseDateType, PhaseOptionInput phaseOptionType, int expectedCode) { phaseDictionary = PhaseFieldHelper.InitPhaseList(phaseSearcher); var resourceList = new int[] { 0, 1 }.Select(keyDep => { return(PhaseFieldHelper.GetUpdatedResourcePhaseField(resourceType, phaseDateType, phaseOptionType, keyDep, phaseSearcher, phaseEntryReader, GetPhaseOrderBySort(resourceType), phaseDictionary, records)); }).ToList(); ErrorCode result = ResourceHelper.WriteResourcesFail(resourceList, null); Assert.That(result, MustBe.MatchingErrorCode(expectedCode), string.Format("Cannot create phase for {0}", resourceType)); }
public static XmlResource GetUpdatedResourcePhaseField(Enums.ResourceType resourceType, PhaseDateInput phaseDateType, PhaseOptionInput phaseOptionType, int index, HrbcOptionSearch phaseSearcher, HrbcPhaseEntryReader phaseEntryReader, List <KeyValuePair <int, PhaseFlowContent> > resourcePhaseFlow, Dictionary <Enums.ResourceType, Dictionary <string, OptionSearchContent> > phaseDictionary, HrbcRecordCreator records) { string phaseAlias = $"{resourceType.ToResourceName()}.{PhaseField}"; string phaseDateAlias = $"{resourceType.ToResourceName()}.{PhaseDateField}"; Option phaseValue = GetPhaseOption(resourceType, phaseOptionType, index, phaseSearcher, phaseEntryReader, resourcePhaseFlow, phaseDictionary); string phaseDateValue = GetPhaseDate(resourceType, phaseDateType, index, phaseEntryReader); string recordId = records.Data[$"{resourceType.ToPrivateEnum()}{index}"].Id.ToString(); var resource = ResourceHelper.CreateUpdatedResource(resourceType, recordId, phaseDateAlias, phaseDateValue); if (phaseDateValue == string.Empty) { resource.DictionaryValues.Remove(phaseDateAlias); } if (phaseValue != null) { resource.DictionaryValues[phaseAlias] = phaseValue; } return(resource); }