コード例 #1
0
        public void Delete(object entity)
        {
            DeleteBarrierDataRequest request = (DeleteBarrierDataRequest)entity;

            try
            {
                using (PatientGoalMongoContext ctx = new PatientGoalMongoContext(_dbName))
                {
                    var q = MB.Query <MEPatientBarrier> .EQ(b => b.Id, ObjectId.Parse(request.BarrierId));

                    var uv = new List <MB.UpdateBuilder>();
                    uv.Add(MB.Update.Set(MEPatientBarrier.TTLDateProperty, System.DateTime.UtcNow.AddDays(_expireDays)));
                    uv.Add(MB.Update.Set(MEPatientBarrier.DeleteFlagProperty, true));
                    uv.Add(MB.Update.Set(MEPatientBarrier.UpdatedByProperty, ObjectId.Parse(this.UserId)));
                    uv.Add(MB.Update.Set(MEPatientBarrier.LastUpdatedOnProperty, DateTime.UtcNow));

                    IMongoUpdate       update = MB.Update.Combine(uv);
                    WriteConcernResult res    = ctx.PatientBarriers.Collection.Update(q, update);

                    AuditHelper.LogDataAudit(this.UserId,
                                             MongoCollectionName.PatientBarrier.ToString(),
                                             request.BarrierId.ToString(),
                                             Common.DataAuditType.Delete,
                                             request.ContractNumber);
                }
            }
            catch (Exception) { throw; }
        }
コード例 #2
0
        public DeleteBarrierDataResponse DeleteBarrier(DeleteBarrierDataRequest request)
        {
            try
            {
                DeleteBarrierDataResponse result = new DeleteBarrierDataResponse();

                IGoalRepository repo = Factory.GetRepository(request, RepositoryType.PatientBarrier);

                List <PatientBarrierData> pbd        = (List <PatientBarrierData>)repo.Find(request.PatientGoalId);
                List <string>             deletedIds = null;
                if (pbd != null && pbd.Count > 0)
                {
                    deletedIds = new List <string>();
                    pbd.ForEach(b =>
                    {
                        request.BarrierId = b.Id;
                        repo.Delete(request);
                        deletedIds.Add(request.BarrierId);
                    });
                }
                result.DeletedIds = deletedIds;
                result.Success    = true;
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #3
0
        public PutUpdateBarrierResponse UpdatePatientBarrier(PutUpdateBarrierRequest request)
        {
            try
            {
                PutUpdateBarrierResponse result = new PutUpdateBarrierResponse();

                IGoalRepository repo = Factory.GetRepository(request, RepositoryType.PatientBarrier);

                if (request.BarrierIdsList != null && request.BarrierIdsList.Count > 0)
                {
                    List <PatientBarrierData> pid             = (List <PatientBarrierData>)repo.Find(request.PatientGoalId);
                    List <string>             dbBarrierIdList = GetBarrierIds(pid);

                    // update existing barrier entries with a delete
                    List <string> excludes = dbBarrierIdList.Except(request.BarrierIdsList).ToList <string>();
                    excludes.ForEach(ex =>
                    {
                        // create delete barrier request to insert
                        DeleteBarrierDataRequest dbr = new DeleteBarrierDataRequest {
                            BarrierId = ex, UserId = request.UserId
                        };
                        repo.Delete(dbr);
                    });
                }
                if (request.Barrier != null && request.Barrier.Id != "0")
                {
                    bool status = (bool)repo.Update(request);
                    if (status)
                    {
                        PatientBarrierData data = repo.FindByID(request.Barrier.Id) as PatientBarrierData;
                        result.BarrierData = data;
                    }
                }
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #4
0
ファイル: PatientGoalService.cs プロジェクト: rotovibe/engage
        public DeleteBarrierDataResponse Delete(DeleteBarrierDataRequest request)
        {
            DeleteBarrierDataResponse response = new DeleteBarrierDataResponse();

            try
            {
                if (string.IsNullOrEmpty(request.UserId))
                {
                    throw new UnauthorizedAccessException("PatientGoalDD:Get()::Unauthorized Access");
                }

                response         = Manager.DeleteBarrier(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);
        }