Esempio n. 1
0
        public GetStepResponseResponse GetStepResponse(GetStepResponseRequest request)
        {
            try
            {
                GetStepResponseResponse response = new GetStepResponseResponse();

                IProgramRepository repo = Factory.GetRepository(request, RepositoryType.PatientProgramResponse); //.GetPatientProgramStepResponseRepository(request);

                MEPatientProgramResponse result = repo.FindByID(request.ResponseId) as MEPatientProgramResponse;

                if (result != null)
                {
                    response.StepResponse = new StepResponse
                    {
                        Id         = result.Id.ToString(),
                        NextStepId = result.NextStepId.ToString(),
                        Nominal    = result.Nominal,
                        Order      = result.Order,
                        Required   = result.Required,
                        Spawn      = DTOUtils.GetResponseSpawnElement(result.Spawn),
                        StepId     = result.StepId.ToString(),
                        Text       = result.Text,
                        Value      = result.Value
                    };
                }

                return(response);
            }
            catch (Exception ex)
            {
                throw new Exception("DD:DataProgramManager:GetStepResponse()::" + ex.Message, ex.InnerException);
            }
        }
Esempio n. 2
0
        public object Insert(object newEntity)
        {
            MEPatientProgramResponse mer = newEntity as MEPatientProgramResponse;
            bool res = false;

            try
            {
                using (ProgramMongoContext ctx = new ProgramMongoContext(_dbName))
                {
                    ctx.PatientProgramResponses.Collection.Insert(mer);

                    AuditHelper.LogDataAudit(this.UserId,
                                             MongoCollectionName.PatientProgramResponse.ToString(),
                                             mer.Id.ToString(),
                                             Common.DataAuditType.Insert,
                                             _dbName);

                    res = true;
                }
                return(res as object);
            }
            catch (Exception ex)
            {
                throw new Exception("DD:PatientProgramResponseRepository:Insert()::" + ex.Message, ex.InnerException);
            }
        }
Esempio n. 3
0
        public object Update(object entity)
        {
            MEPatientProgramResponse resp = (MEPatientProgramResponse)entity;
            bool result = false;

            try
            {
                using (ProgramMongoContext ctx = new ProgramMongoContext(_dbName))
                {
                    var q = MB.Query <MEResponse> .EQ(b => b.Id, resp.Id);

                    var uv = new List <MB.UpdateBuilder>();
                    uv.Add(MB.Update.Set(MEPatientProgramResponse.NextStepIdProperty, resp.NextStepId));
                    uv.Add(MB.Update.Set(MEPatientProgramResponse.StepIdProperty, resp.StepId));
                    uv.Add(MB.Update.Set(MEPatientProgramResponse.NominalProperty, resp.Nominal));
                    uv.Add(MB.Update.Set(MEPatientProgramResponse.RequiredProperty, resp.Required));
                    uv.Add(MB.Update.Set(MEPatientProgramResponse.SelectedProperty, resp.Selected));
                    uv.Add(MB.Update.Set(MEPatientProgramResponse.VersionProperty, resp.Version));
                    uv.Add(MB.Update.Set(MEPatientProgramResponse.LastUpdatedOnProperty, System.DateTime.UtcNow));
                    uv.Add(MB.Update.Set(MEPatientProgramResponse.DeleteFlagProperty, resp.DeleteFlag));
                    uv.Add(MB.Update.Set(MEPatientProgramResponse.UpdatedByProperty, ObjectId.Parse(this.UserId)));

                    if (resp.Order != 0)
                    {
                        uv.Add(MB.Update.Set(MEPatientProgramResponse.OrderProperty, resp.Order));
                    }
                    if (resp.Text != null)
                    {
                        uv.Add(MB.Update.Set(MEPatientProgramResponse.TextProperty, resp.Text));
                    }
                    if (resp.Value != null)
                    {
                        uv.Add(MB.Update.Set(MEPatientProgramResponse.ValueProperty, resp.Value));
                    }
                    if (resp.Spawn != null)
                    {
                        uv.Add(MB.Update.SetWrapped <List <SpawnElement> >(MEPatientProgramResponse.SpawnElementProperty, resp.Spawn));
                    }

                    IMongoUpdate update = MB.Update.Combine(uv);
                    ctx.PatientProgramResponses.Collection.Update(q, update);

                    AuditHelper.LogDataAudit(this.UserId,
                                             MongoCollectionName.PatientProgramResponse.ToString(),
                                             resp.Id.ToString(),
                                             Common.DataAuditType.Update,
                                             _dbName);

                    result = true;
                }
                return(result as object);
            }
            catch (Exception ex)
            {
                throw new Exception("DD:PatientProgramResponseRepository:Update()::" + ex.Message, ex.InnerException);
            }
        }
Esempio n. 4
0
        public object FindByID(string entityID)
        {
            MEPatientProgramResponse response = null;

            try
            {
                using (ProgramMongoContext ctx = new ProgramMongoContext(_dbName))
                {
                    var findcp = MB.Query <MEResponse> .EQ(b => b.Id, ObjectId.Parse(entityID));

                    response = ctx.PatientProgramResponses.Collection.Find(findcp).FirstOrDefault();
                }

                return(response);
            }
            catch (Exception ex)
            {
                throw new Exception("DD:PatientProgramResponseRepository:FindByID()::" + ex.Message, ex.InnerException);
            }
        }
Esempio n. 5
0
        public PutInsertResponseResponse PutInsertResponse(PutInsertResponseRequest request)
        {
            try
            {
                PutInsertResponseResponse result       = new PutInsertResponseResponse();
                IProgramRepository        responseRepo = Factory.GetRepository(request, RepositoryType.PatientProgramResponse);

                foreach (ResponseDetail rd in request.ResponseDetails)
                {
                    MEPatientProgramResponse meres = new MEPatientProgramResponse(request.UserId)
                    {
                        Id              = ObjectId.Parse(rd.Id),
                        NextStepId      = ObjectId.Parse(rd.NextStepId),
                        Nominal         = rd.Nominal,
                        Spawn           = ParseSpawnElements(rd.SpawnElement),
                        Required        = rd.Required,
                        Order           = rd.Order,
                        StepId          = ObjectId.Parse(rd.StepId),
                        Text            = rd.Text,
                        Value           = rd.Value,
                        Selected        = rd.Selected,
                        DeleteFlag      = rd.Delete,
                        UpdatedBy       = ObjectId.Parse(request.UserId),
                        RecordCreatedBy = ObjectId.Parse(request.UserId),
                        RecordCreatedOn = DateTime.UtcNow
                    };

                    //result.Result = (bool)
                    responseRepo.Insert(meres);
                    result.Result = true;
                }
                return(result);
            }
            catch (Exception ex)
            {
                throw new Exception("DD:DataProgramManager:PutInsertResponse()::" + ex.Message, ex.InnerException);
            }
        }