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); }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }