public static void MapFromDB(DBEntity input, ThisEntity output,
                                     bool includingParts)
        {
            output.Id            = input.Id;
            output.RowId         = input.RowId;
            output.EntityStateId = input.EntityStateId;
            output.Name          = input.Name == null ? "" : input.Name;
            output.Description   = input.Description == null ? "" : input.Description;
            output.CTID          = input.CTID;
            if (IsValidDate(input.DateEffective))
            {
                output.DateEffective = (( DateTime )input.DateEffective).ToString("yyyy-MM-dd");
            }
            else
            {
                output.DateEffective = "";
            }
            //
            output.LowEarnings       = input.LowEarnings ?? 0;
            output.MedianEarnings    = input.MedianEarnings ?? 0;
            output.HighEarnings      = input.HighEarnings ?? 0;
            output.PostReceiptMonths = input.PostReceiptMonths ?? 0;
            output.Source            = GetUrlData(input.Source);

            if (IsValidDate(input.Created))
            {
                output.Created = ( DateTime )input.Created;
            }
            if (IsValidDate(input.LastUpdated))
            {
                output.LastUpdated = ( DateTime )input.LastUpdated;
            }



            if (string.IsNullOrWhiteSpace(output.CTID) || output.EntityStateId < 3)
            {
                output.IsReferenceVersion = true;
                return;
            }
            //=====
            var relatedEntity = EntityManager.GetEntity(output.RowId, false);

            if (relatedEntity != null && relatedEntity.Id > 0)
            {
                output.EntityLastUpdated = relatedEntity.LastUpdated;
            }

            //components
            if (includingParts)
            {
                //
                output.Jurisdiction = Entity_JurisdictionProfileManager.Jurisdiction_GetAll(output.RowId);
                //get datasetprofiles
                output.RelevantDataSet = DataSetProfileManager.GetAll(output.RowId, true);
            }
        }         //
예제 #2
0
        public bool Import(ThisEntity entity, ref SaveStatus status)
        {
            bool          isValid  = new EntityMgr().Save(entity, null, ref status);
            List <string> messages = new List <string>();

            if (entity.Id > 0)
            {
                if (UtilityManager.GetAppKeyValue("delayingAllCacheUpdates", false) == false)
                {
                    //update cache - not applicable yet

                    //update Elastic
                    if (Utilities.UtilityManager.GetAppKeyValue("updatingElasticIndexImmediately", false))
                    {
                        //ElasticHelper.DataSetProfileProfile_UpdateIndex( entity.Id );
                    }
                    else
                    {
                        new SearchPendingReindexManager().Add(classEntityTypeId, entity.Id, 1, ref messages);
                        if (messages.Count > 0)
                        {
                            status.AddWarningRange(messages);
                        }
                    }
                    //also update related org
                    //????????????
                    if (entity.DataProvider != null && entity.DataProvider.Id > 0)
                    {
                        new SearchPendingReindexManager().Add(CodesManager.ENTITY_TYPE_ORGANIZATION, entity.DataProvider.Id, 1, ref messages);
                    }
                }
                else
                {
                    new SearchPendingReindexManager().Add(classEntityTypeId, entity.Id, 1, ref messages);
                    if (entity.DataProvider != null && entity.DataProvider.Id > 0)
                    {
                        new SearchPendingReindexManager().Add(CodesManager.ENTITY_TYPE_ORGANIZATION, entity.DataProvider.Id, 1, ref messages);
                    }
                    if (messages.Count > 0)
                    {
                        status.AddWarningRange(messages);
                    }
                }
                //no caching needed yet
                //CacheManager.RemoveItemFromCache( "cframework", entity.Id );
            }

            return(isValid);
        }
        /// <summary>
        /// Get all HoldersProfile for the provided entity
        /// The returned entities are just the base
        /// </summary>
        /// <param name="parentUid"></param>
        /// <returns></returnsThisEntity
        public static List <DataSetProfile> GetAll(Guid parentUid, bool includingParts = true)
        {
            var list   = new List <DataSetProfile>();
            var entity = new DataSetProfile();

            Entity parent = EntityManager.GetEntity(parentUid);

            LoggingHelper.DoTrace(7, string.Format(thisClassName + ".GetAll: parentUid:{0} entityId:{1}, e.EntityTypeId:{2}", parentUid, parent.Id, parent.EntityTypeId));

            try
            {
                using (var context = new EntityContext())
                {
                    List <DBEntity> results = context.Entity_DataSetProfile
                                              .Where(s => s.EntityId == parent.Id)
                                              .OrderBy(s => s.Created)
                                              .ToList();

                    if (results != null && results.Count > 0)
                    {
                        foreach (DBEntity item in results)
                        {
                            entity = new DataSetProfile();
                            if (item.DataSetProfile != null && item.DataSetProfile.EntityStateId > 2)
                            {
                                DataSetProfileManager.MapFromDB(item.DataSetProfile, entity, includingParts);
                                list.Add(entity);
                            }
                        }
                    }
                    return(list);
                }
            }
            catch (Exception ex)
            {
                LoggingHelper.LogError(ex, thisClassName + ".GetAll");
            }
            return(list);
        }
        public static void MapFromDB(DBEntity input, ThisEntity output,
                                     bool includingParts)
        {
            output.Id            = input.Id;
            output.RowId         = input.RowId;
            output.EntityStateId = input.EntityStateId;
            output.Name          = input.Name == null ? "" : input.Name;
            output.Description   = input.Description == null ? "" : input.Description;
            output.CTID          = input.CTID;
            if (IsValidDate(input.DateEffective))
            {
                output.DateEffective = (( DateTime )input.DateEffective).ToString("yyyy-MM-dd");
            }
            else
            {
                output.DateEffective = "";
            }
            //
            //output.JobsObtained = input.JobsObtained ?? 0;
            if (!string.IsNullOrEmpty(input.JobsObtainedJson))
            {
                var jp = JsonConvert.DeserializeObject <EmploymentOutcomeProfileProperties>(input.JobsObtainedJson);
                if (jp != null)
                {
                    //unpack JobsObtainedList
                    output.JobsObtainedList = jp.JobsObtainedList;
                }
            }

            output.Source = GetUrlData(input.Source);

            if (IsValidDate(input.Created))
            {
                output.Created = ( DateTime )input.Created;
            }
            if (IsValidDate(input.LastUpdated))
            {
                output.LastUpdated = ( DateTime )input.LastUpdated;
            }

            if (string.IsNullOrWhiteSpace(output.CTID) || output.EntityStateId < 3)
            {
                output.IsReferenceVersion = true;
                return;
            }
            //=====
            var relatedEntity = EntityManager.GetEntity(output.RowId, false);

            if (relatedEntity != null && relatedEntity.Id > 0)
            {
                output.EntityLastUpdated = relatedEntity.LastUpdated;
            }

            //components
            if (includingParts)
            {
                //
                output.Jurisdiction = Entity_JurisdictionProfileManager.Jurisdiction_GetAll(output.RowId);
                //get datasetprofiles
                output.RelevantDataSet = DataSetProfileManager.GetAll(output.RowId, true);
            }
        }         //
예제 #5
0
        public static void MapFromDB(DBEntity input, ThisEntity output)
        {
            output.Id                     = input.Id;
            output.RowId                  = input.RowId;
            output.Name                   = input.Name == null ? "" : input.Name;
            output.Description            = input.Description == null ? "" : input.Description;
            output.DemographicInformation = input.DemographicInformation == null ? "" : input.DemographicInformation;
            if (IsValidDate(input.DateEffective))
            {
                output.DateEffective = (( DateTime )input.DateEffective).ToString("yyyy-MM-dd");
            }
            else
            {
                output.DateEffective = "";
            }
            //
            output.NumberAwarded     = (input.NumberAwarded ?? 0);
            output.LowEarnings       = (input.LowEarnings ?? 0);
            output.MedianEarnings    = (input.MedianEarnings ?? 0);
            output.HighEarnings      = (input.HighEarnings ?? 0);
            output.PostReceiptMonths = (input.PostReceiptMonths ?? 0);
            output.Source            = GetUrlData(input.Source);

            output.Currency = input.Currency;
            Views.Codes_Currency code = CodesManager.GetCurrencyItem(output.Currency);
            if (code != null && code.NumericCode > 0)
            {
                output.Currency       = code.Currency;
                output.CurrencySymbol = code.HtmlCodes;
            }

            if (IsValidDate(input.Created))
            {
                output.Created = ( DateTime )input.Created;
            }
            if (IsValidDate(input.LastUpdated))
            {
                output.LastUpdated = ( DateTime )input.LastUpdated;
            }

            if (!string.IsNullOrEmpty(input.JobsObtainedJson))
            {
                var jobsObtained = JsonConvert.DeserializeObject <List <QuantitativeValue> >(input.JobsObtainedJson);
                if (jobsObtained != null)
                {
                    output.JobsObtained = jobsObtained;
                }
            }

            //=====
            //var relatedEntity = EntityManager.GetEntity( output.RowId, false );
            //if ( relatedEntity != null && relatedEntity.Id > 0 )
            //	output.EntityLastUpdated = relatedEntity.LastUpdated;

            //components

            //
            output.Jurisdiction = Entity_JurisdictionProfileManager.Jurisdiction_GetAll(output.RowId);
            //get datasetprofiles
            output.RelevantDataSet = DataSetProfileManager.GetAll(output.RowId, true);

            //==========
        }         //