Ejemplo n.º 1
0
        public object GetContactTypeLookUps(ContactLookUpGroupType type)
        {
            var dataResponse = new List <MEContactTypeLookup>();

            using (var ctx = new ContactTypeLookUpMongoContext(_dbName))
            {
                var queries = new List <IMongoQuery>
                {
                    Query <MEContactTypeLookup> .EQ(c => c.Active, true),
                    Query <MEContactTypeLookup> .EQ(c => c.DeleteFlag, false)
                };


                if (type != ContactLookUpGroupType.Unknown)
                {
                    var typeMongoQuery = Query <MEContactTypeLookup> .EQ(c => c.GroupId, type);

                    queries.Add(typeMongoQuery);
                }

                var query   = Query.And(queries);
                var sortBy  = new SortByBuilder <MEContactTypeLookup>().Ascending(c => c.Name);
                var lookUps = ctx.ContactTypeLookUps.Collection.Find(query);
                dataResponse = lookUps.SetSortOrder(sortBy).ToList();
            }

            return(dataResponse);
        }
Ejemplo n.º 2
0
        public object FindByID(string entityID)
        {
            MEContactTypeLookup data = null;

            using (var ctx = new ContactTypeLookUpMongoContext(_dbName))
            {
                var queries = new List <IMongoQuery>
                {
                    Query <MEContactTypeLookup> .EQ(c => c.Id, ObjectId.Parse(entityID)),
                    Query <MEContactTypeLookup> .EQ(c => c.Active, true),
                    Query <MEContactTypeLookup> .EQ(c => c.DeleteFlag, false)
                };



                var query  = Query.And(queries);
                var lookUp = ctx.ContactTypeLookUps.Collection.FindOne(query);

                if (lookUp == null)
                {
                    throw new Exception(string.Format("No Lookup Item found for Id: {0}", data.Id));
                }

                data = lookUp;
            }
            return(data);
        }
Ejemplo n.º 3
0
        public object Insert(object newEntity)
        {
            var dataToInsert = (MEContactTypeLookup)newEntity;

            using (var ctx = new ContactTypeLookUpMongoContext(_dbName))
            {
                ctx.ContactTypeLookUps.Save(dataToInsert);
            }

            return(dataToInsert.Id.ToString());
        }
Ejemplo n.º 4
0
        public override void Execute()
        {
            try
            {
                OnDocColEvent(new ETLEventArgs {
                    Message = "[" + Contract + "] Loading ContactTypeLookUp.", IsError = false
                });
                ConcurrentBag <EContactTypeLookUp> eContactTypeLookUps = new ConcurrentBag <EContactTypeLookUp>();

                ConcurrentBag <MEContactTypeLookup> cTypes;
                using (var ctx = new ContactTypeLookUpMongoContext(Contract))
                {
                    cTypes = new ConcurrentBag <MEContactTypeLookup>(ctx.ContactTypeLookUps.Collection.FindAllAs <MEContactTypeLookup>().ToList());
                }

                Parallel.ForEach(cTypes, c =>
                {
                    try
                    {
                        eContactTypeLookUps.Add(new EContactTypeLookUp
                        {
                            MongoId         = c.Id.ToString(),
                            Name            = c.Name,
                            Role            = c.Role,
                            ParentId        = c.ParentId == null ? null : c.ParentId.ToString(),
                            Group           = c.GroupId.ToString(),
                            Active          = c.Active,
                            Version         = c.Version,
                            DeleteFlag      = c.DeleteFlag,
                            TTLDate         = c.TTLDate,
                            UpdatedBy       = c.UpdatedBy == null ? null : c.UpdatedBy.ToString(),
                            LastUpdatedOn   = c.LastUpdatedOn,
                            RecordCreatedBy = c.RecordCreatedBy.ToString(),
                            RecordCreatedOn = c.RecordCreatedOn,
                        });
                    }
                    catch (Exception ex)
                    {
                        OnDocColEvent(new ETLEventArgs {
                            Message = "[" + Contract + "] " + ex.Message + ": " + ex.StackTrace, IsError = true
                        });
                    }
                });

                SaveSubcollection(eContactTypeLookUps);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 5
0
        public object Update(object entity)
        {
            var data = (ContactTypeLookUpData)entity;

            using (var ctx = new ContactTypeLookUpMongoContext(_dbName))
            {
                var queries = new List <IMongoQuery>
                {
                    Query <MEContactTypeLookup> .EQ(c => c.Id, ObjectId.Parse(data.Id)),
                    Query <MEContactTypeLookup> .EQ(c => c.Active, true),
                    Query <MEContactTypeLookup> .EQ(c => c.DeleteFlag, false)
                };

                var query  = Query.And(queries);
                var lookUp = ctx.ContactTypeLookUps.Collection.FindOne(query);

                if (lookUp == null)
                {
                    throw new Exception(string.Format("No Lookup Item found for Id: {0}", data.Id));
                }

                if (!string.IsNullOrEmpty(data.Name))
                {
                    lookUp.Name = data.Name;
                }

                if (!string.IsNullOrEmpty(data.Role))
                {
                    lookUp.Role = data.Role;
                }

                lookUp.LastUpdatedOn = DateTime.UtcNow;

                ctx.ContactTypeLookUps.Save(lookUp);
            }

            return(true);
        }