public void UpdateField(Field field) { var fieldDto = new FieldsData { Id = field.Id, Culture = field.Culture, HouseLocation = field.HouseLocation, CultureSeedPrice = field.CultureSeedPrice, FertilizePrice = field.FertilizePrice, HarvestTax = field.HarvestTax, Ready = field.FieldsStages[AgriculturalStageEnum.Ready].StartDate, Grazing = field.FieldsStages[AgriculturalStageEnum.Grazing].StartDate, Fertilizing = field.FieldsStages[AgriculturalStageEnum.Fertilizing].StartDate, Sowing = field.FieldsStages[AgriculturalStageEnum.Sowing].StartDate, Growing = field.FieldsStages[AgriculturalStageEnum.Growing].StartDate, Harvesting = field.FieldsStages[AgriculturalStageEnum.Harvesting].StartDate, Restoring = field.FieldsStages[AgriculturalStageEnum.Restoring].StartDate, GrazingPeriod = field.FieldsStages[AgriculturalStageEnum.Grazing].Duration, FertilizingPeriod = field.FieldsStages[AgriculturalStageEnum.Fertilizing].Duration, SowingPeriod = field.FieldsStages[AgriculturalStageEnum.Sowing].Duration, GrowingPeriod = field.FieldsStages[AgriculturalStageEnum.Growing].Duration, HarvestingPeriod = field.FieldsStages[AgriculturalStageEnum.Harvesting].Duration, RestoringPeriod = field.FieldsStages[AgriculturalStageEnum.Restoring].Duration }; using var _context = new ClonesDbContext(); _context.Entry(fieldDto).State = EntityState.Modified; _context.SaveChanges(); }
private static void AddLanguages(Item item, ItemsLanguagesData languagesData) { var languages = new ItemLanguagesData(); languagesData.Add(item.ID, languages); foreach (var pair in item.Fields.Unversioned) { var languageName = pair.Key; VersionsData languageFields; if (!languages.TryGetValue(languageName, out languageFields)) { languageFields = new VersionsData(); languages.Add(languageName, languageFields); } var unversionedFields = languageFields.TryGetValue(0); if (unversionedFields == null) { unversionedFields = new FieldsData(); languageFields.Add(0, unversionedFields); } foreach (var field in pair.Value.OrderBy(x => Guid.Parse(x.Key)).ToArray()) { unversionedFields.Add(Guid.Parse(field.Key), field.Value); } } foreach (var pair in item.Fields.Versioned) { var languageName = pair.Key; VersionsData languageFields; if (!languages.TryGetValue(languageName, out languageFields)) { languageFields = new VersionsData(); languages.Add(languageName, languageFields); } foreach (var versionPair in pair.Value) { var versionNumber = versionPair.Key; var version = languageFields.TryGetValue(versionNumber); if (version == null) { version = new FieldsData(); languageFields.Add(versionNumber, version); } var versionFields = versionPair.Value .Select(x => CreatePair(Guid.Parse(x.Key), x.Value)) .OrderBy(x => x.Key); foreach (var field in versionFields) { version.Add(field.Key, field.Value); } } } }
private static void AddShared(Item item, ItemsSharedData itemsSharedData) { var sharedFields = new FieldsData(); itemsSharedData.Add(item.ID, sharedFields); foreach (var field in item.Fields.Shared.OrderBy(x => Guid.Parse(x.Key)).ToArray()) { sharedFields.Add(Guid.Parse(field.Key), field.Value); } }
private Dictionary <AgriculturalStageEnum, FieldsStage> GetFieldsStages(FieldsData field) { var stages = new Dictionary <AgriculturalStageEnum, FieldsStage> { { AgriculturalStageEnum.Ready, BuildFieldStage(AgriculturalStageEnum.Ready, field.Ready, new TimeSpan(0)) }, { AgriculturalStageEnum.Grazing, BuildFieldStage(AgriculturalStageEnum.Grazing, field.Grazing, field.GrazingPeriod) }, { AgriculturalStageEnum.Fertilizing, BuildFieldStage(AgriculturalStageEnum.Fertilizing, field.Fertilizing, field.FertilizingPeriod) }, { AgriculturalStageEnum.Sowing, BuildFieldStage(AgriculturalStageEnum.Sowing, field.Sowing, field.SowingPeriod) }, { AgriculturalStageEnum.Growing, BuildFieldStage(AgriculturalStageEnum.Growing, field.Growing, field.GrowingPeriod) }, { AgriculturalStageEnum.Harvesting, BuildFieldStage(AgriculturalStageEnum.Harvesting, field.Harvesting, field.HarvestingPeriod) }, { AgriculturalStageEnum.Restoring, BuildFieldStage(AgriculturalStageEnum.Restoring, field.Restoring, field.RestoringPeriod) } }; return(stages); }
private Field ConvertFromDto(FieldsData field) { var result = new Field { Id = field.Id, Culture = field.Culture, HouseLocation = field.HouseLocation, CultureSeedPrice = field.CultureSeedPrice, FertilizePrice = field.FertilizePrice, HarvestTax = field.HarvestTax, }; var stages = GetFieldsStages(field); result.FieldsStages = stages; return(result); }
public void AddFields(List <Field> fields) { using var _context = new ClonesDbContext(); var fieldsData = _context.Fields; foreach (var field in fields) { var stages = field.FieldsStages; var item = new FieldsData { HouseLocation = field.HouseLocation, CultureSeedPrice = field.CultureSeedPrice, FertilizePrice = field.FertilizePrice, HarvestTax = field.HarvestTax, Ready = field.FieldsStages[AgriculturalStageEnum.Ready].StartDate, Grazing = field.FieldsStages[AgriculturalStageEnum.Grazing].StartDate, Fertilizing = field.FieldsStages[AgriculturalStageEnum.Fertilizing].StartDate, Sowing = field.FieldsStages[AgriculturalStageEnum.Sowing].StartDate, Growing = field.FieldsStages[AgriculturalStageEnum.Growing].StartDate, Harvesting = field.FieldsStages[AgriculturalStageEnum.Harvesting].StartDate, Restoring = field.FieldsStages[AgriculturalStageEnum.Restoring].StartDate, GrazingPeriod = field.FieldsStages[AgriculturalStageEnum.Grazing].Duration, FertilizingPeriod = field.FieldsStages[AgriculturalStageEnum.Fertilizing].Duration, SowingPeriod = field.FieldsStages[AgriculturalStageEnum.Sowing].Duration, GrowingPeriod = field.FieldsStages[AgriculturalStageEnum.Growing].Duration, HarvestingPeriod = field.FieldsStages[AgriculturalStageEnum.Harvesting].Duration, RestoringPeriod = field.FieldsStages[AgriculturalStageEnum.Restoring].Duration }; fieldsData.Add(item); } _context.SaveChanges(); }
protected FieldsData(FieldsData fields) : this(fields.proxy) { dict = new Dictionary <string, object>(fields.dict); IsInit = false; }
public VirtualObjectProxy(TypeConstruct type) : base(ProxyType(type)) { VirtualType = type; Fields = new FieldsData(this); }