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); }
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)); } }