public ExpectedModel[] GetModelEstimationForecast(RelatedData relatedData, ExpectedModel[] expectedModel) { for (int i = 0; i < expectedModel.Length; i++) { if (expectedModel[i].Month == 1) { expectedModel[i].ModelEstimationForecast = expectedModel[i].CoefficientOfSmoothingTheSeries + expectedModel[i].CoefficientOfSmoothingTheTrend; } else if (expectedModel[i].Month > 1 && expectedModel[i].Month < 13) { expectedModel[i].ModelEstimationForecast = expectedModel[i - 1].CoefficientOfSmoothingTheSeries + expectedModel[i - 1].CoefficientOfSmoothingTheTrend; } else if (expectedModel[i].Month > 51) { expectedModel[i].ModelEstimationForecast = expectedModel[i].Sum; } else { expectedModel[i].ModelEstimationForecast = (expectedModel[i - 1].CoefficientOfSmoothingTheSeries + expectedModel[i - 1].CoefficientOfSmoothingTheTrend) * expectedModel[i - 12].SeasoningSmoothingFactor; } } return(expectedModel); }
private void ProcessAttributeSetData(MixCmsContext context, IDbContextTransaction transaction) { AttributeSetDatas = new List <MixAttributeSetDatas.ImportViewModel>(); // Load AttributeSet data foreach (var item in AttributeSets) { if (item.IsExportData) { var getData = MixAttributeSetDatas.ImportViewModel.Repository.GetModelListBy( a => a.Specificulture == Specificulture && a.AttributeSetId == item.Id, context, transaction) .Data?.OrderBy(a => a.Priority).ToList(); if (getData != null) { AttributeSetDatas.AddRange(getData); } } } // Load Related Data RelatedData.AddRange(Posts.Select(p => p.RelatedData)); foreach (var item in RelatedData) { if (!AttributeSetDatas.Any(m => m.Id == item.Id)) { var getData = MixAttributeSetDatas.ImportViewModel.Repository.GetSingleModel( m => m.Id == item.Id, context, transaction); if (getData.IsSucceed) { AttributeSetDatas.Add(getData.Data); } } } }
private void ExportMixDatabaseData(MixCmsContext context, IDbContextTransaction transaction) { MixDatabaseDatas = new List <MixDatabaseDatas.ImportViewModel>(); // Load MixDatabase data foreach (var item in MixDatabases) { if (item.IsExportData) { var getData = ViewModels.MixDatabaseDatas.ImportViewModel.Repository.GetModelListBy( a => a.Specificulture == Specificulture && a.MixDatabaseId == item.Id, context, transaction) .Data?.OrderBy(a => a.Priority).ToList(); if (getData != null) { MixDatabaseDatas.AddRange(getData); } } } // Load Related Data RelatedData.AddRange(Posts.Where(p => p.RelatedData != null).Select(p => p.RelatedData)); RelatedData.AddRange(Pages.Where(p => p.RelatedData != null).Select(p => p.RelatedData)); RelatedData.AddRange(Modules.Where(p => p.RelatedData != null).Select(p => p.RelatedData)); foreach (var item in RelatedData) { if (!MixDatabaseDatas.Any(m => m.Id == item.Id)) { var getData = ViewModels.MixDatabaseDatas.ImportViewModel.Repository.GetSingleModel( m => m.Id == item.Id, context, transaction); if (getData.IsSucceed) { MixDatabaseDatas.Add(getData.Data); } } } }
/// <summary> /// This method called when user navigated to this page. /// </summary> /// <param name="e"></param> protected async override void OnNavigatedTo(NavigationEventArgs e) { this.navigationHelper.OnNavigatedTo(e); progressRing.IsActive = true; // If UserInfo is null, then initialize the helper if (CRMHelper.UserInfo == null) { await CRMHelper.Initialize(); } // Check if there is any temporaryData object[] parameters = CRMHelper.temporaryData as object[]; if (parameters.Count() != 3) { throw new Exception("SetRegardingPage takes 3 parameters, SourceRecord, RelatedData and EntityMetadataEx"); } this.record = parameters[0] as Entity; this.relatedData = parameters[1] as RelatedData; this.entityMetadataEx = parameters[2] as EntityMetadataEx; // Then initialize page Initialize(); progressRing.IsActive = false; }
public ExpectedModel[] GetModelError(RelatedData relatedData, ExpectedModel[] expectedModel) { for (int i = 0; i < expectedModel.Length; i++) { if (expectedModel[i].Month < 52) { expectedModel[i].ModelError = expectedModel[i].Sum - expectedModel[i].ModelEstimationForecast; } } return(expectedModel); }
/// <summary> /// This method is called when user clicks Add Existing button in Related PivotItem /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void abAddExisting_Click(object sender, RoutedEventArgs e) { // Obtain related Datafrom selected entity RelatedData relatedData = entityMetadataEx.RelatedEntities. Where(x => x.ObjectTypeCode == (CRMGrid.cbLookFor.SelectedItem as EntityMetadataEx).EntityMetadata.ObjectTypeCode).First(); // Pass FormFieldObject by using temporaryData of CRMHelpre CRMHelper.temporaryData = new object[] { record, relatedData, CRMGrid.cbLookFor.SelectedItem as EntityMetadataEx }; // Then navigate to SetRegardingPage Frame.Navigate(typeof(SetRegardingPage)); }
//public bool CheckRelationshipIsChanged(ChildRelationshipInfo relation) //{ // if (OriginalRelatedData.Any(x => x.KeyProperties.All(y => !RelatedData.Any(z => z.IsNewItem == false && z.KeyProperties.Any(u => u.ColumnID == y.ColumnID && u.Value == y.Value))))) // { // //داده ای حذف شده است // return true; // } // if (RelatedData.Any(x => x.KeyProperties.All(y => !OriginalRelatedData.Any(z => z.KeyProperties.Any(u => u.ColumnID == y.ColumnID && u.Value == y.Value))))) // { // //داده ای اضافه شده است // return true; // } // return false; //} public bool CheckRelationshipIsChanged() { foreach (var deleted in OriginalRelatedData.Where(x => !x.KeyProperties.All(y => RelatedData.Any(z => z.IsNewItem == false && z.KeyProperties.Any(u => u.ColumnID == y.ColumnID && u.Value == y.Value))))) { return(true); } foreach (var added in RelatedData.Where(x => !x.KeyProperties.All(y => OriginalRelatedData.Any(z => z.KeyProperties.Any(u => u.ColumnID == y.ColumnID && u.Value == y.Value))))) { return(true); } return(false); }
/// <summary> /// Load/Refresh data /// </summary> /// <returns></returns> public async System.Threading.Tasks.Task RefreshList() { // Start progress ring until records loaded. progressRing.IsActive = true; // Set the cbLookFor, cbLookIn and searchbox disabled until views/records loaded. cbLookFor.IsEnabled = false; cbLookIn.IsEnabled = false; txtSearch.IsEnabled = false; // Clear data. this.lvList.ItemsSource = null; // Show Search button and hide Cancel Button btnSearch.Visibility = Visibility.Visible; btnCancelSearch.Visibility = Visibility.Collapsed; // Clear any search txtSearch.Text = ""; // If it's regarding, then check if 1st view is selected, which is regarding view. if (isRegarding && cbLookIn.SelectedIndex == 0) { // Then get RelatedData and assign Id relatedData = CRMHelper.EntityMetadataExCollection.Where(x => x.EntityMetadata.LogicalName == ReferencedEntityLogicalName).First().RelatedEntities.Where(r => r.ReferencingEntity == (cbLookFor.SelectedItem as EntityMetadataEx).EntityMetadata.LogicalName).First(); if (relatedData != null) { relatedData.Id = ReferencedEntityId; } } else { relatedData = null; } // If lookup then obtain PrimaryFieldName if (isLookup) { primaryFieldName = (cbLookFor.SelectedItem as EntityMetadataEx).EntityMetadata.PrimaryNameAttribute; } // Get Records by passing necessary data. this.lvList.ItemsSource = await CRMHelper.RetrieveByFetchXmlForView( cbLookIn.SelectedItem as SavedQuery, relatedData, primaryFieldName); cbLookFor.IsEnabled = true; cbLookIn.IsEnabled = true; txtSearch.IsEnabled = true; lvList.SelectionMode = ListViewSelectionMode.Single; lvList.IsItemClickEnabled = true; //once record loaded, then stop progress ring, and enable comboboxes and search textbox. progressRing.IsActive = false; }
private void GetAdditionalData(string id, MixEnums.MixAttributeSetDataType type, MixCmsContext context, IDbContextTransaction transaction) { if (!RelatedData.Any(m => m.ParentId == id && m.ParentType == (int)type)) { var getRelatedData = MixRelatedAttributeDatas.ReadViewModel.Repository.GetSingleModel( m => m.Specificulture == Specificulture && m.ParentType == (int)type && m.ParentId == id, context, transaction); if (getRelatedData.IsSucceed) { RelatedData.Add(getRelatedData.Data); } } }
private void ExportAdditionalData(string id, MixDatabaseParentType type, MixCmsContext context, IDbContextTransaction transaction) { if (!RelatedData.Any(m => m.ParentId == id && m.ParentType == type)) { var getRelatedData = MixDatabaseDataAssociations.ImportViewModel.Repository.GetSingleModel( m => m.Specificulture == Specificulture && m.ParentType == type && m.ParentId == id, context, transaction); if (getRelatedData.IsSucceed) { RelatedData.Add(getRelatedData.Data); } } }
//public int SourceRelationID; //public int SourceEntityID; //public int SourceTableID; //public int TargetTableID; //public Enum_RelationshipType SourceToTargetRelationshipType; //public Enum_MasterRelationshipType SourceToTargetMasterRelationshipType; public void AddDataToChildRelationshipInfo(DP_DataRepository dataItem, bool fromDB) { dataItem.ParantChildRelationshipInfo = this; RelatedData.Add(dataItem); if (fromDB) { ProxyLibrary.DP_DataRepository orgData = new ProxyLibrary.DP_DataRepository(dataItem.TargetEntityID, dataItem.TargetEntityAlias); orgData.ParantChildRelationshipInfo = this; foreach (var item in dataItem.KeyProperties) { orgData.AddCopyProperty(item); } OriginalRelatedData.Add(orgData); } }
public ExpectedModel[] GetErrorDeviationFromForecast(RelatedData relatedData, ExpectedModel[] expectedModel) { for (int i = 0; i < expectedModel.Length; i++) { if (expectedModel[i].Month == 1) { expectedModel[i].ErrorDeviationFromForecast = expectedModel[i].ModelError / expectedModel[i].Sum; } else if (expectedModel[i].Month < 52) { expectedModel[i].ErrorDeviationFromForecast = Math.Pow(expectedModel[i].ModelError, 2) / Math.Pow(expectedModel[i].Sum, 2); } } return(expectedModel); }
public ExpectedModel[] GetSeasoningSmoothingFactor(RelatedData relatedData, ExpectedModel[] expectedModel) { for (int i = 0; i < expectedModel.Length; i++) { if (expectedModel[i].Month < 13) { expectedModel[i].SeasoningSmoothingFactor = relatedData.A10; } else if (expectedModel[i].Month > 12) { expectedModel[i].SeasoningSmoothingFactor = relatedData.Q * (expectedModel[i].Sum / expectedModel[i].CoefficientOfSmoothingTheSeries) + (1 - relatedData.Q) * expectedModel[i - 12].SeasoningSmoothingFactor; } } return(expectedModel); }
private void ExportRelatedDatas(MixCmsContext context, IDbContextTransaction transaction) { foreach (var item in MixDatabaseDatas) { var getDataResult = MixDatabaseDataAssociations.ImportViewModel.Repository .GetModelListBy(m => m.ParentId == item.Id && m.Specificulture == item.Specificulture , context, transaction); if (getDataResult.IsSucceed && getDataResult.Data.Count > 0) { var data = getDataResult.Data.Where(m => MixDatabaseDatas.Any(d => d.Id == m.DataId) && !RelatedData.Any(r => r.ParentId == item.Id && r.DataId == m.DataId)) .ToList(); RelatedData.AddRange(data); } } }
public void TestEnumerableQueryable() { var data2 = new RelatedData[] { new RelatedData { DataId = 1, Name = "Related1" }, new RelatedData { DataId = 2, Name = "Related2" }, }; var result = DATA .LeftJoin(data2.AsQueryable(), td => td.ID, a => a.DataId, (td, a) => new { td, a }) .Where(a => a.a != null) .ToArray(); Assert.True(result.Length == 2); }
private async Task <RepositoryResponse <bool> > ImportModulesAsync(string destCulture, MixCmsContext context, IDbContextTransaction transaction) { var result = new RepositoryResponse <bool>() { IsSucceed = true }; foreach (var module in Modules) { var oldId = module.Id; if (result.IsSucceed) { if (!context.MixModule.Any(m => m.Name == module.Name && m.Specificulture == destCulture)) { module.Id = context.MixModule.Max(m => m.Id) + 1; module.Specificulture = destCulture; if (!string.IsNullOrEmpty(module.Image)) { module.Image = module.Image.Replace($"content/templates/{ThemeName}", $"content/templates/{MixService.GetConfig<string>("ThemeFolder", destCulture)}"); } module.CreatedDateTime = DateTime.UtcNow; var saveResult = await module.SaveModelAsync(true, context, transaction); ViewModelHelper.HandleResult(saveResult, ref result); } // update new id to related attribute data var related = RelatedData.Where( m => m.ParentType == (int)MixEnums.MixAttributeSetDataType.Module && m.ParentId == oldId.ToString()); foreach (var r in related) { r.ParentId = module.Id.ToString(); } } else { break; } } return(result); }
private void GetAdditionalData(string id, MixEnums.MixAttributeSetDataType type, MixCmsContext context, IDbContextTransaction transaction) { var getRelatedData = MixRelatedAttributeDatas.ReadViewModel.Repository.GetSingleModel( m => m.Specificulture == Specificulture && m.ParentType == (int)type && m.ParentId == id, context, transaction); if (getRelatedData.IsSucceed) { RelatedData.Add(getRelatedData.Data); var getData = MixAttributeSetDatas.ImportViewModel.Repository.GetSingleModel( m => m.Specificulture == Specificulture && m.Id == getRelatedData.Data.Id); if (getData.IsSucceed) { getData.Data.Fields = new List <MixAttributeFields.UpdateViewModel>(); foreach (var item in getData.Data.Values) { getData.Data.Fields.Add(item.Field); } AttributeSetDatas.Add(getData.Data); } } }
private async Task <RepositoryResponse <bool> > SaveRefDataAsync(MixAttributeSetData parent, MixCmsContext context, IDbContextTransaction transaction) { var result = new RepositoryResponse <bool>() { IsSucceed = true }; foreach (var item in RefData) { if (result.IsSucceed) { item.Specificulture = Specificulture; item.ParentId = parent.Id; item.ParentType = MixEnums.MixAttributeSetDataType.Set; item.Status = MixEnums.MixContentStatus.Published; var saveRef = await item.SaveModelAsync(true, context, transaction); if (saveRef.IsSucceed) { RelatedData.Add(new MixRelatedAttributeDatas.UpdateViewModel() { DataId = saveRef.Data.Id, ParentId = Id, ParentType = MixEnums.MixAttributeSetDataType.Set, AttributeSetId = saveRef.Data.AttributeSetId, AttributeSetName = saveRef.Data.AttributeSetName, CreatedDateTime = DateTime.UtcNow, Specificulture = Specificulture }); } ViewModelHelper.HandleResult(saveRef, ref result); } else { break; } } return(result); }
/// <summary> /// This method is called when user clicks Add button in Related PivotItem /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void abRelatedAdd_Click(object sender, RoutedEventArgs e) { // Get RelatedData to create related record RelatedData relatedData = entityMetadataEx.RelatedEntities.Where(x => x.ReferencingEntity == (CRMGrid.cbLookFor.SelectedItem as EntityMetadataEx).EntityMetadata.LogicalName).First(); // Create Entity instance to created record, by fulling mapped values. Entity targetRecord = await CRMHelper.RetrieveRecordForRelated(record, relatedData, entityMetadataEx); // Make id to empty for sure (not mandatory?) targetRecord.Id = Guid.Empty; // Get Related entity's EntityMetadata EntityMetadataEx targetEntityMetadataEx = CRMHelper.EntityMetadataExCollection.Where(x => x.EntityMetadata.LogicalName == relatedData.ReferencingEntity).First(); // Get fields for create form List <FormFieldData> targetFields = await CRMHelper.RetrieveFormFields(targetEntityMetadataEx); // Resets all the buttons ResetAppBarButtonDisplay(); // Generate parameters. As this is new record, passing null for record object. object[] parameters = new object[] { targetRecord, targetFields, targetEntityMetadataEx }; CRMHelper.temporaryData = parameters; // Then Navigate to RecordModifyPage Frame.Navigate(typeof(RecordModifyPage)); }
private async Task <RepositoryResponse <bool> > SaveRefDataAsync(MixDatabaseData parent, MixCmsContext context, IDbContextTransaction transaction) { var result = new RepositoryResponse <bool>() { IsSucceed = true }; foreach (var item in RefData) { if (result.IsSucceed) { item.Specificulture = Specificulture; var saveRef = await item.SaveModelAsync(true, context, transaction); if (saveRef.IsSucceed) { RelatedData.Add(new Lib.ViewModels.MixDatabaseDataAssociations.UpdateViewModel() { Id = saveRef.Data.Id, ParentId = Id, ParentType = MixDatabaseParentType.Set, MixDatabaseId = saveRef.Data.MixDatabaseId, MixDatabaseName = saveRef.Data.MixDatabaseName, CreatedDateTime = DateTime.UtcNow, Specificulture = Specificulture }); } ViewModelHelper.HandleResult(saveRef, ref result); } else { break; } } return(result); }
public ExpectedModel[] GetForecastModel(ExpectedModel[] expectedModel, RelatedData relatedData) { int TempCount = relatedData.First; ExpectedModel[] TempExpectedModel = expectedModel; Array.Resize(ref TempExpectedModel, TempExpectedModel.Length + 5); for (int i = 55; i < TempExpectedModel.Length; i++) { TempExpectedModel[i] = new ExpectedModel() { Sum = (TempExpectedModel[50].CoefficientOfSmoothingTheSeries + TempExpectedModel[50].CoefficientOfSmoothingTheTrend * TempCount++) * TempExpectedModel[i - 12].SeasoningSmoothingFactor, Month = TempExpectedModel[i - 1].Month + 1, Year = TempExpectedModel[i - 1].Year }; } TempExpectedModel = GetCoefficientSeriesAndTrend(TempExpectedModel, new RelatedData()); TempExpectedModel = GetSeasoningSmoothingFactor(new RelatedData(), TempExpectedModel); TempExpectedModel = GetModelEstimationForecast(new RelatedData(), TempExpectedModel); return(TempExpectedModel); }
private void ProcessAttributeSetsAsync(MixCmsContext context, IDbContextTransaction transaction) { foreach (var item in AttributeSets) { item.Fields = MixAttributeFields.UpdateViewModel.Repository.GetModelListBy(a => a.AttributeSetId == item.Id, context, transaction).Data?.OrderBy(a => a.Priority).ToList(); // Filter list reference field => Add to Export Data if not exist var refFields = item.Fields.Where(f => f.DataType == MixEnums.MixDataType.Reference); foreach (var field in refFields) { var refSet = AttributeSets.FirstOrDefault(m => m.Name == field.AttributeSetName); if (refSet == null) { var getSet = MixAttributeSets.ImportViewModel.Repository.GetSingleModel(m => m.Name == field.AttributeSetName, context, transaction); if (getSet.IsSucceed) { refSet = getSet.Data; // Load ref data if export parent Data if (item.IsExportData) { var refData = MixAttributeSetDatas.ImportViewModel.Repository.GetModelListBy( a => a.Specificulture == Specificulture && a.AttributeSetId == refSet.Id, context, transaction) .Data?.OrderBy(a => a.Priority).ToList(); if (refData != null) { AttributeSetDatas.AddRange(refData); } } AttributeSets.Add(getSet.Data); } } else { refSet.IsExportData = refSet.IsExportData || item.IsExportData; if (item.IsExportData) { refSet.Data = refSet.Data ?? MixAttributeSetDatas.ImportViewModel.Repository.GetModelListBy( a => a.Specificulture == Specificulture && a.AttributeSetId == refSet.Id, context, transaction) .Data?.OrderBy(a => a.Priority).ToList(); } } } // Load export data if checked and did not process if (item.IsExportData) { var data = item.Data ?? MixAttributeSetDatas.ImportViewModel.Repository.GetModelListBy( a => a.Specificulture == Specificulture && a.AttributeSetId == item.Id, context, transaction) .Data?.OrderBy(a => a.Priority).ToList(); if (data != null) { AttributeSetDatas.AddRange(data); } foreach (var d in item.Data) { var getRelatedData = MixRelatedAttributeDatas.ReadViewModel.Repository.GetModelListBy( m => m.ParentId == d.Id && d.Specificulture == Specificulture); if (getRelatedData.IsSucceed) { RelatedData.AddRange(getRelatedData.Data); } } } } }
public DP_DataRepository GetRelatedDataOfOriginalData(DP_DataRepository orginalData) { return(RelatedData.First(z => orginalData.KeyProperties.All(y => z.KeyProperties.Any(u => u.ColumnID == y.ColumnID && u.Value == y.Value)))); }
public void RemoveRelatedData(DP_DataRepository dP_DataRepository) { //var childRelationshipInfo = ChildRelationshipInfos.FirstOrDefault(x => x.Relationship.ID == relationshipID); //if (childRelationshipInfo != null) RelatedData.Remove(dP_DataRepository); }
public List <DP_DataRepository> GetRelatedData(int relationshipID) { return(RelatedData.ToList()); // else return new List<ProxyLibrary.DP_DataRepository>(); }
public virtual List <ScrappedData> MapToScrappedData(ResultCollection <ResultItemCollection> data) { var scrappedDataColumnDefinitions = _columnDefinitionRepository.GetAllScrappedDataColumnDefinitions(); var relatedDataColumnDefinitions = _columnDefinitionRepository.GetAllRelatedDataColumnDefinitions(); var list = new List <ScrappedData>(); foreach (var product in data) { var scrappedData = new ScrappedData { Identifier = product.Key }; var group = ""; foreach (var item in product.Items) { if (item.IsMultiple) { //related data if (scrappedData.RelatedData == null) { scrappedData.RelatedData = new List <RelatedData>(); } var insertMultipleRow = _settingRepository.GetSettingValue <bool>("Core.Schema.IsMultipleRow"); if (insertMultipleRow) { var relatedData = new RelatedData { Description = item.Name, String1 = item.Value.ToString() }; scrappedData.RelatedData.Add(relatedData); } else { RelatedData relatedData; if (!scrappedData.RelatedData.Any() || group != item.Group) { relatedData = new RelatedData { Group = item.Group }; scrappedData.RelatedData.Add(relatedData); if (group != item.Group) { group = item.Group; } } else { relatedData = scrappedData.RelatedData.First(x => x.Group == item.Group); } RelatedDataHelper.SetValue(relatedData, item.Name, relatedDataColumnDefinitions, item.Value); } } else { //scrape data if (scrappedDataColumnDefinitions.TryGetValue((nameof(ScrappedData), item.Name), out var value)) { ScrappedDataHelper.SetValue(scrappedData, value, item.Value); } } } list.Add(scrappedData); } return(list); }
public void RemoveRelatedData() { //var childRelationshipInfo = ChildRelationshipInfos.FirstOrDefault(x => x.Relationship.ID == relationshipID); //if (childRelationshipInfo != null) RelatedData.Clear(); }
private async Task <RepositoryResponse <bool> > ImportPagesAsync(string destCulture, MixCmsContext _context = null, IDbContextTransaction _transaction = null) { var result = new RepositoryResponse <bool>() { IsSucceed = true }; UnitOfWorkHelper <MixCmsContext> .InitTransaction(_context, _transaction, out MixCmsContext context, out IDbContextTransaction transaction, out bool isRoot); try { int startId = MixPages.UpdateViewModel.ModelRepository.Max(m => m.Id, context, transaction).Data + 1; //var pages = FileRepository.Instance.GetFile(MixConstants.CONST_FILE_PAGES, "data", true, "{}"); //var obj = JObject.Parse(pages.Content); //var initPages = obj["data"].ToObject<JArray>(); foreach (var item in Pages) { // store old id => update to related data if save success var oldId = item.Id; item.Id = startId; item.CreatedDateTime = DateTime.UtcNow; item.ThemeName = ThemeName; //if (_context.MixPage.Any(m=>m.Id == startId)) //(item.Id > initPages.Count) //{ // item.Id = _context.MixPage.Max(m => m.Id) + 1; // item.CreatedDateTime = DateTime.UtcNow; //} if (!string.IsNullOrEmpty(item.Image)) { item.Image = item.Image.Replace($"content/templates/{ThemeName}", $"content/templates/{MixService.GetConfig<string>("ThemeFolder", destCulture)}"); } if (!string.IsNullOrEmpty(item.Thumbnail)) { item.Thumbnail = item.Thumbnail.Replace($"content/templates/{ThemeName}", $"content/templates/{MixService.GetConfig<string>("ThemeFolder", destCulture)}"); } item.Specificulture = destCulture; var saveResult = await item.SaveModelAsync(true, context, transaction); if (!saveResult.IsSucceed) { result.IsSucceed = false; result.Exception = saveResult.Exception; result.Errors = saveResult.Errors; break; } else { // update new id to related attribute data var related = RelatedData.Where( m => m.ParentType == (int)MixEnums.MixAttributeSetDataType.Page && m.ParentId == oldId.ToString()); foreach (var r in related) { r.ParentId = item.Id.ToString(); } startId++; } } UnitOfWorkHelper <MixCmsContext> .HandleTransaction(result.IsSucceed, isRoot, transaction); } catch (Exception ex) // TODO: Add more specific exeption types instead of Exception only { var error = UnitOfWorkHelper <MixCmsContext> .HandleException <MixPages.ImportViewModel>(ex, isRoot, transaction); result.IsSucceed = false; result.Errors = error.Errors; result.Exception = error.Exception; } finally { //if current Context is Root if (isRoot) { context?.Dispose(); } } return(result); }
/// <summary> /// Maps the value to it's column in Related data /// so if String1 = Image, String2 = Image. Up to String10. /// If item.Name == Image, we check if String1 is empty, if yes we put the data there. if not, check String2 and so on until it got a place to store /// </summary> /// <param name="data">The object that we want to populate</param> /// <param name="definition">Example Image</param> /// <param name="columnDictionary">Holds the column definition value.</param> /// <param name="itemValue">the value that we want to store in the related data.</param> public static void SetValue(RelatedData data, string definition, Dictionary <(string, string), string> columnDictionary, object itemValue)
public ExpectedModel[] GetCoefficientSeriesAndTrend(ExpectedModel[] expectedModel, RelatedData relatedData) { for (int i = 0; i < expectedModel.Length; i++) { if (expectedModel[i].Month == 1) { expectedModel[i].CoefficientOfSmoothingTheSeries = expectedModel[i].Sum; } else { expectedModel[i].CoefficientOfSmoothingTheSeries = relatedData.K * expectedModel[i].Sum / relatedData.A10 + (1 - relatedData.K) * (expectedModel[i - 1].CoefficientOfSmoothingTheSeries + expectedModel[i - 1].CoefficientOfSmoothingTheTrend); expectedModel[i].CoefficientOfSmoothingTheTrend = relatedData.B * (expectedModel[i].CoefficientOfSmoothingTheSeries - expectedModel[i - 1].CoefficientOfSmoothingTheSeries) + (1 - relatedData.B) * expectedModel[i - 1].CoefficientOfSmoothingTheTrend; } } return(expectedModel); }