public object Update(object entity) { PutUpdateCareMemberDataRequest request = (PutUpdateCareMemberDataRequest)entity; CareMemberData careMemberData = request.CareMember; bool result = false; try { if (careMemberData != null) { using (CareMemberMongoContext ctx = new CareMemberMongoContext(_dbName)) { var q = MB.Query <MECareMember> .EQ(b => b.Id, ObjectId.Parse(careMemberData.Id)); var uv = new List <MB.UpdateBuilder>(); uv.Add(MB.Update.Set(MECareMember.TTLDateProperty, BsonNull.Value)); uv.Add(MB.Update.Set(MECareMember.DeleteFlagProperty, false)); uv.Add(MB.Update.Set(MECareMember.UpdatedByProperty, ObjectId.Parse(this.UserId))); uv.Add(MB.Update.Set(MECareMember.VersionProperty, request.Version)); uv.Add(MB.Update.Set(MECareMember.LastUpdatedOnProperty, System.DateTime.UtcNow)); uv.Add(MB.Update.Set(MECareMember.PrimaryProperty, careMemberData.Primary)); if (careMemberData.PatientId != null) { uv.Add(MB.Update.Set(MECareMember.PatientIdProperty, ObjectId.Parse(careMemberData.PatientId))); } if (careMemberData.ContactId != null) { uv.Add(MB.Update.Set(MECareMember.ContactIdProperty, ObjectId.Parse(careMemberData.ContactId))); } if (careMemberData.TypeId != null) { uv.Add(MB.Update.Set(MECareMember.TypeProperty, ObjectId.Parse(careMemberData.TypeId))); } IMongoUpdate update = MB.Update.Combine(uv); WriteConcernResult res = ctx.CareMembers.Collection.Update(q, update); if (res.Ok == false) { throw new Exception("Failed to update Care Member: " + res.ErrorMessage); } else { AuditHelper.LogDataAudit(this.UserId, MongoCollectionName.CareMember.ToString(), careMemberData.Id, Common.DataAuditType.Update, request.ContractNumber); } result = true; } } return(result as object); } catch (Exception ex) { throw new Exception("CareMemberDD:MongoCareMemberRepository:Update()" + ex.Message, ex.InnerException); } }
public bool UpdateCareMember(PutUpdateCareMemberDataRequest request) { bool updated = false; try { ICareMemberRepository repo = Factory.GetRepository(request, RepositoryType.CareMember); updated = (bool)repo.Update(request); } catch (Exception ex) { throw ex; } return(updated); }
public void UpdateCareMember_Test() { CareMemberData n = new CareMemberData { Id = "530cf7a4d43323130096eff9", ContactId = "53043e53d433231f48de8a7a", Primary = false, TypeId = "530cd576d433231ed4ba969c", PatientId = "52f5589c072ef709f84e7798" }; PutUpdateCareMemberDataRequest request = new PutUpdateCareMemberDataRequest { UserId = "DD_Harness", Version = 1, CareMember = n }; StubCareMemberDataManager cm = new StubCareMemberDataManager { Factory = new StubCareMemberRepositoryFactory() }; bool updated = cm.UpdateCareMember(request); Assert.IsTrue(updated); }
public PutUpdateCareMemberDataResponse Put(PutUpdateCareMemberDataRequest request) { PutUpdateCareMemberDataResponse response = new PutUpdateCareMemberDataResponse(); try { if (string.IsNullOrEmpty(request.UserId)) { throw new UnauthorizedAccessException("CareMemberDD:Put()::Unauthorized Access"); } response.Updated = Manager.UpdateCareMember(request); response.Version = request.Version; } catch (Exception ex) { CommonFormatter.FormatExceptionResponse(response, base.Response, ex); string aseProcessID = ConfigurationManager.AppSettings.Get("ASEProcessID") ?? "0"; Common.Helper.LogException(int.Parse(aseProcessID), ex); } return(response); }