Example #1
0
        public SiteCollectionTotal SaveSiteCollectionTotal(SiteCollectionTotalItem item, string savedBy)
        {
            var collectionTypeManager         = this.container.GetInstance <CollectionTypeManager>();
            var clinicalPopulationTypeManager = this.container.GetInstance <ClinicalPopulationTypeManager>();
            var siteCollectionTotalManager    = this.container.GetInstance <SiteCollectionTotalManager>();

            var collectionType = collectionTypeManager.GetByName(item.CollectionType.Name);
            var popType        = clinicalPopulationTypeManager.GetByName(item.ClinicalPopulationType.Name);

            if (collectionType == null || popType == null)
            {
                throw new Exception("Cannot find data");
            }

            var result = siteCollectionTotalManager.SaveSiteCollectionTotal(collectionType, popType, item.Id,
                                                                            item.SiteId, item.NumberOfUnits, Convert.ToDateTime(item.StartDate), Convert.ToDateTime(item.EndDate), savedBy);

            this.InvalidateCache(savedBy);

            return(result);
        }
Example #2
0
        public async Task <SiteCollectionTotal> SaveSiteCollectionTotalAsync(SiteCollectionTotalItem item, string savedBy)
        {
            var collectionTypeManager         = this.container.GetInstance <CollectionTypeManager>();
            var clinicalPopulationTypeManager = this.container.GetInstance <ClinicalPopulationTypeManager>();
            var siteCollectionTotalManager    = this.container.GetInstance <SiteCollectionTotalManager>();

            var collectionTypeTask = collectionTypeManager.GetByNameAsync(item.CollectionType.Name);
            var popTypeTask        = clinicalPopulationTypeManager.GetByNameAsync(item.ClinicalPopulationType.Name);

            await Task.WhenAll(collectionTypeTask, popTypeTask);

            if (collectionTypeTask.Result == null || popTypeTask.Result == null)
            {
                throw new Exception("Cannot find data");
            }

            var result = await siteCollectionTotalManager.SaveSiteCollectionTotalAsync(collectionTypeTask.Result, popTypeTask.Result, item.Id,
                                                                                       item.SiteId, item.NumberOfUnits, Convert.ToDateTime(item.StartDate), Convert.ToDateTime(item.EndDate), savedBy);

            await this.InvalidateCacheAsync(savedBy);

            return(result);
        }
        public async Task <ServiceResponse <SiteCollectionTotalItem> > SaveSiteCollectionTotal(SiteCollectionTotalItem model)
        {
            DateTime startTime = DateTime.Now;

            var siteFacade = this.Container.GetInstance <SiteFacade>();

            try
            {
                var item = await siteFacade.SaveSiteCollectionTotalAsync(model, base.Email);

                base.LogMessage("SaveSiteCollectionTotal", DateTime.Now - startTime);

                if (!model.Id.HasValue)
                {
                    item.CollectionType = new CollectionType
                    {
                        Name = model.CollectionType.Name
                    };
                    item.ClinicalPopulationType = new ClinicalPopulationType
                    {
                        Name = model.ClinicalPopulationType.Name
                    };
                }

                this.SendInvalidation();

                return(new ServiceResponse <SiteCollectionTotalItem>
                {
                    Item = ModelConversions.Convert(item)
                });
            }
            catch (Exception ex)
            {
                return(base.HandleException <SiteCollectionTotalItem>(ex));
            }
        }