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); }
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); }
public object Insert(object newEntity) { var dataToInsert = (MEContactTypeLookup)newEntity; using (var ctx = new ContactTypeLookUpMongoContext(_dbName)) { ctx.ContactTypeLookUps.Save(dataToInsert); } return(dataToInsert.Id.ToString()); }
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; } }
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); }