/// <summary> /// Add new installation to user /// </summary> /// <param name="UserId"></param> /// <param name="ApplicationId"></param> /// <param name="DeviceId"></param> /// <returns></returns> public Guid AddInstallation(int UserId , int ApplicationId, string DeviceId) { try { using (var dbContext = new ePharmaGuideContext()) { Installation InstallationResponse = dbContext.Installations.FirstOrDefault(b => b.UserId == UserId && b.ApplicationId == ApplicationId && b.DeviceIdentifier == DeviceId && b.isDisabled == false); if(InstallationResponse == null) { var NewInstallation = new Installation { UserId = UserId, DateCreated = DateTime.Now, DateModified = DateTime.Now, DeviceIdentifier = DeviceId, ApplicationId = ApplicationId, GUID = Guid.NewGuid() }; dbContext.Installations.Add(NewInstallation); dbContext.SaveChanges(); return NewInstallation.GUID; } return InstallationResponse.GUID; } } catch (Exception ex) { throw; } }
public EnumTypes.UpdateAvailable checkForUpdate(Guid InstallationGUID, DateTime LastDateUpdated) { using (var dbContext = new ePharmaGuideContext()) { int UserId = dbContext.Installations.FirstOrDefault(x => x.GUID == InstallationGUID && x.isDisabled == false).UserId; if(UserId == 0) { return EnumTypes.UpdateAvailable.Invalid; } var getAllDataSet = (from x in dbContext.UserDataSets where x.UserId == UserId && x.isDisabled == false select x.DataSet).ToList(); foreach (var item in getAllDataSet) { if(item.DatePublished > LastDateUpdated) { return EnumTypes.UpdateAvailable.UpdateAvailable; } } } return EnumTypes.UpdateAvailable.UpdateNotAvailable; }
/// <summary> /// Check Download Token Status /// </summary> /// <param name="tokenId"></param> /// <returns></returns> public string TokenStatus(string tokenId) { using (var dbContext = new ePharmaGuideContext()) { var TokenTableObject = dbContext.TokenTables.Where(x => x.TokenId == tokenId && x.IsDisabled == false ).FirstOrDefault(); if(TokenTableObject == null) //Check If Token Exist { return null; } if(DateTime.Now > TokenTableObject.TokenGeneratedTime.AddMinutes(TokenTableObject.ValidityMinutes)) //Check If Token Valid { return null; } InstallationRepo installationRepo = new InstallationRepo(); //Update Date Last Updated installationRepo.LastDateUpdated(TokenTableObject.InstallationGUID); TokenTableObject.IsDisabled = true; //DisABLE tOKEN dbContext.Entry(TokenTableObject).State = System.Data.Entity.EntityState.Modified; dbContext.SaveChanges(); return TokenTableObject.FilePath; } }
/// <summary> /// Add Token To Database /// </summary> /// <param name="emailAddress"></param> /// <returns></returns> public string[] AddEmailVerificationToken(string emailAddress) { string[] RequestId = new string[3]; EmailVerificationToken addTokenObject; using (var dbContext = new ePharmaGuideContext()) { string ModifiedGuid = Guid.NewGuid().ToString().Replace("-", string.Empty); addTokenObject = new EmailVerificationToken { EmailId = emailAddress, TokenGeneratedTime = DateTime.Now, ValidityMinutes = ValidityMinutes, TokenId = ModifiedGuid, IsDisabled = false, }; dbContext.EmailVerificationTokens.Add(addTokenObject); dbContext.SaveChanges(); } RequestId[0] = addTokenObject.TokenId; RequestId[1] = addTokenObject.EmailTokenId.ToString(); return RequestId; }
public bool ScratchCardComplementary(string CardNumber) { using (var dbContext = new ePharmaGuideContext()) { return dbContext.ScratchCards.FirstOrDefault(x => x.CardNumber == CardNumber && x.isDisabled == false).isComplimentary; } }
public string GetUserName(string emailAddress) //To Show It in Email (Desktop) { using (var dbContext = new ePharmaGuideContext()) { var UserObject = dbContext.UserProfiles.FirstOrDefault(x => x.AuthenId == emailAddress); return string.Format("{0} {1}",UserObject.FirstName,UserObject.LastName); } }
public bool ScratchCardExist(string CardNumber, int AppId) { bool IsValid; using (var dbContext = new ePharmaGuideContext()) { IsValid = dbContext.ScratchCards.Any(s => s.isDisabled == false && s.ExpiryDate > DateTime.Now && s.CardNumber == CardNumber && s.AppId == AppId); } return IsValid; }
public void AddUserDataSet(int? UserId, int DataSetId, int ValidityPeriod, DateTime? UsedDateTime) { try { UserDataSet Uds; using (var dbContext = new ePharmaGuideContext()) { Uds = dbContext.UserDataSets.FirstOrDefault(s => s.DataSetId == DataSetId && s.UserId == UserId && s.isDisabled == false); if (Uds == null) { var AddUserDataSet = new UserDataSet { DateCreated = DateTime.Now, DateModified = DateTime.Now, DateSubscribed = UsedDateTime.Value.AddDays(ValidityPeriod), DataSetId = DataSetId, UserId = UserId.Value, ValidityPeriod = ValidityPeriod }; dbContext.UserDataSets.Add(AddUserDataSet); dbContext.SaveChanges(); } else { if (Uds.DateSubscribed < DateTime.Now || Uds.isDisabled) { Uds.DateSubscribed = DateTime.Now.AddDays(ValidityPeriod); Uds.DateModified = DateTime.Now; Uds.ValidityPeriod = ValidityPeriod; dbContext.Entry(Uds).State = System.Data.Entity.EntityState.Modified; dbContext.SaveChanges(); } else { Uds.DateSubscribed = Uds.DateSubscribed.AddDays(ValidityPeriod); Uds.DateModified = DateTime.Now; Uds.ValidityPeriod = ValidityPeriod; dbContext.Entry(Uds).State = System.Data.Entity.EntityState.Modified; dbContext.SaveChanges(); } } } } catch (Exception ex) { throw; } }
/// <summary> /// Set verification to true /// </summary> /// <param name="userId"></param> /// <sreturns></returns> public Boolean NumberVerifier(int userId) { using (var dbContext = new ePharmaGuideContext()) { var userProfileObject = dbContext.UserProfiles.FirstOrDefault(x=> x.UserId == userId); userProfileObject.IsAuthenIdVerified = true; dbContext.Entry(userProfileObject).State = System.Data.Entity.EntityState.Modified; dbContext.SaveChanges(); return userProfileObject.IsAuthenIdVerified; } }
public int? GetUserId(Guid gUID, string DeviceId, int AppId) { using (var dbContext = new ePharmaGuideContext()) { Installation getObject = dbContext.Installations.FirstOrDefault(x => x.GUID == gUID && x.DeviceIdentifier == DeviceId && x.ApplicationId == AppId && x.isDisabled == false); if (getObject == null) return null; return getObject.UserId; } }
public int GetUserId(string AuthenId) //For Mobile and desktop { try { using (var dbContext = new ePharmaGuideContext()) { UserProfile ResponseUser = dbContext.UserProfiles.FirstOrDefault(x => x.AuthenId == AuthenId && x.IsDisabled == false); return ResponseUser.UserId; } } catch (Exception ex) { throw; } }
public Dictionary<string,string> GetCountry() { using (var dbContext = new ePharmaGuideContext()) { var countryData = dbContext.Countries.OrderByDescending(x => x.IsPreferred).ToDictionary(x => x.CountryName.ToString(), x => x.CountryCode.ToString(), StringComparer.OrdinalIgnoreCase); if(countryData == null) { return null; } return countryData; } }
/// <summary> /// /// </summary> /// <param name="guid"></param> /// <returns></returns> public string DisableInstallation(Guid guid) { using (var dbContext = new ePharmaGuideContext()) { var installationObject = dbContext.Installations.FirstOrDefault(x => x.GUID == guid && x.isDisabled == false); if(installationObject == null) { return "Installation Not Exist"; } installationObject.isDisabled = true; dbContext.Entry(installationObject).State = System.Data.Entity.EntityState.Modified; dbContext.SaveChanges(); return null; } }
public EnumTypes.ScratchCardUsed ScratchCardUsed(int UserId, string CardNumber) { using (var dbContext = new ePharmaGuideContext()) { var GetUserId = dbContext.ScratchCards.FirstOrDefault(s => s.CardNumber == CardNumber && s.isDisabled == false); if (GetUserId.UserId == UserId) { return EnumTypes.ScratchCardUsed.UsedBySame; } else if (GetUserId.UserId == null) { return EnumTypes.ScratchCardUsed.NotUsed; } return EnumTypes.ScratchCardUsed.UsedByOther; } }
public void AddData(int UserId, int DataSetId) { using (var dbContext = new ePharmaGuideContext()) { UserDataSet Uds; var AddUserDataSet = new UserDataSet { DateCreated = DateTime.Now, DateModified = DateTime.Now, DateSubscribed = new DateTime(4015, 12, 1), DataSetId = DataSetId, UserId = UserId, ValidityPeriod = -1 }; dbContext.UserDataSets.Add(AddUserDataSet); dbContext.SaveChanges(); } }
public List<int> GetUserDataset(int userId) { List<int> getUserDataSet; using (var dbContext = new ePharmaGuideContext()) { var getUserDatasetObjects = dbContext.UserDataSets.Where(x => x.UserId == userId && x.DateSubscribed > DateTime.Now && x.ValidityPeriod != -1 && x.isDisabled == false).ToList(); if (getUserDatasetObjects.Count == 0) return null; getUserDataSet = new List<int>(); foreach (var item in getUserDatasetObjects) { getUserDataSet.Add(item.DataSetId); } } return getUserDataSet; }
public bool DeleteFreeData(int userId) { using (var dbContext = new ePharmaGuideContext()) { List<UserDataSet> getFreeDataset = dbContext.UserDataSets.Where(x => x.UserId == userId && x.ValidityPeriod == -1 && x.isDisabled == false).ToList(); if(getFreeDataset == null || getFreeDataset.Count == 0) { return true; } foreach (var item in getFreeDataset) { dbContext.Entry(item).State = System.Data.Entity.EntityState.Deleted; dbContext.SaveChanges(); } return true; } }
public ScratchCard AddToScratchCard(string CardNumber, int UserId, int AppId) { UserProfile userVerify; ScratchCard sc; using (var dbContext = new ePharmaGuideContext()) { sc = dbContext.ScratchCards.FirstOrDefault(s => s.CardNumber == CardNumber && s.isDisabled == false); } if (sc != null) { sc.DateUsed = DateTime.Now; sc.UserId = UserId; sc.isUsed = true; sc.DateModified = DateTime.Now; using (var dbContext = new ePharmaGuideContext()) { userVerify = dbContext.UserProfiles.FirstOrDefault(x=>x.UserId == sc.UserId && x.IsDisabled == false); userVerify.IsAuthenIdVerified = true; dbContext.Entry(userVerify).State = System.Data.Entity.EntityState.Modified; dbContext.SaveChanges(); } } using (var dbContext = new ePharmaGuideContext()) { dbContext.Entry(sc).State = System.Data.Entity.EntityState.Modified; dbContext.SaveChanges(); List<Installation> GetInstallations = dbContext.Installations.Where(x => x.UserId == UserId && x.ApplicationId == AppId && x.isDisabled == false).ToList(); if(GetInstallations.Count >= 3 ) { GetInstallations[0].isDisabled = true; dbContext.SaveChanges(); } } return sc; }
/// <summary> /// Add Token To Database /// </summary> /// <param name="gUID"></param> /// <param name="filePath"></param> /// <returns></returns> public string AddToDatabase(Guid gUID, string filePath) { TokenTable addTokenObject; using (var dbContext = new ePharmaGuideContext()) { string ModifiedGuid = Guid.NewGuid().ToString().Replace("-", string.Empty); addTokenObject = new TokenTable { FilePath = filePath, TokenGeneratedTime = DateTime.Now, ValidityMinutes = ValidityMinutes, TokenId = ModifiedGuid, InstallationGUID = gUID, IsDisabled = false }; dbContext.TokenTables.Add(addTokenObject); dbContext.SaveChanges(); } return addTokenObject.TokenId; }
public int? ValidateInstallation(Guid InstallationGUID, string DeviceIdentifier, int AppId) { try { using (var dbContext = new ePharmaGuideContext()) { Installation ResponseUser = dbContext.Installations.FirstOrDefault(x => x.GUID == InstallationGUID && x.DeviceIdentifier == DeviceIdentifier && x.ApplicationId == AppId && x.isDisabled ==false); if (ResponseUser == null) { return null; } return ResponseUser.UserId; } } catch (Exception ex) { throw; } }
/// <summary> /// Check If Token Valid From Database andmarked verified if Valid Token /// </summary> /// <param name="tokenId"></param> /// <returns></returns> public string EmailVerifyTokenChecker(string tokenId) { using (var dbContext = new ePharmaGuideContext()) { var TokenTableObject = dbContext.EmailVerificationTokens.Where(x => x.TokenId == tokenId && x.IsDisabled == false).FirstOrDefault(); if (TokenTableObject == null) //Check If Token Exist { var CheckIfAlreadyVerified = dbContext.EmailVerificationTokens.Where(x => x.TokenId == tokenId && x.IsDisabled == true).FirstOrDefault(); //Check if token Already verified if(CheckIfAlreadyVerified == null) { return null; //Means Token Not Generated } return "Your Account is already Subscribed"; } if (DateTime.Now > TokenTableObject.TokenGeneratedTime.AddMinutes(TokenTableObject.ValidityMinutes)) //Check If Token Valid { return null; } UserProfileRepo userProfileRepo = new UserProfileRepo(); //Update Is Authen Verified bool IsValid = userProfileRepo.SetIsAuthenVerified(TokenTableObject.EmailId); if(!IsValid) { return null; } TokenTableObject.IsDisabled = true; //Disable Token means Verified dbContext.Entry(TokenTableObject).State = System.Data.Entity.EntityState.Modified; dbContext.SaveChanges(); return "Thank You for Confirming Your Email"; } }
public bool IsInstallationEnable(Guid InstallationGUID) { using (var dbContext = new ePharmaGuideContext()) { Installation valid = dbContext.Installations.FirstOrDefault(x => x.GUID == InstallationGUID && x.isDisabled == false); if (valid == null) { return false; } return true; } }
public UserProfile AuthenNumber(string AuthenId) //For Mobile and Desktop { using (var dbContext = new ePharmaGuideContext()) { var UserProfile = dbContext.UserProfiles.FirstOrDefault(x => x.AuthenId == AuthenId && x.IsDisabled == false); if (UserProfile != null) { var UserDatSets = UserProfile.UserApps; } return UserProfile; } }
public void LastDateUpdated(Guid guid) { using (var dbContext = new ePharmaGuideContext()) { var installationObject = dbContext.Installations.FirstOrDefault(x=> x.isDisabled == false && x.GUID == guid); if (installationObject == null) return; installationObject.DataLastDownloaded = DateTime.Now; dbContext.Entry(installationObject).State = System.Data.Entity.EntityState.Modified; } }
} //for Mobile and Desktop public bool SetIsAuthenVerified(string Email) //For Desktop Only { using (var dbContext = new ePharmaGuideContext()) { var userProfileObject = dbContext.UserProfiles.FirstOrDefault(x => x.IsDisabled == false && x.AuthenId == Email); if (userProfileObject == null) { return false; } userProfileObject.IsAuthenIdVerified = true; dbContext.Entry(userProfileObject).State = System.Data.Entity.EntityState.Modified; dbContext.SaveChanges(); return true; } }
public bool AddUserByAuthenId(string email, string profession, string firstName, string lastName, string phoneNumber , int ApplicationId) { UserProfile userProfile; using (var dbContext = new ePharmaGuideContext()) { userProfile = dbContext.UserProfiles.FirstOrDefault(x => x.AuthenId == phoneNumber && x.IsDisabled == false); //If no profile exist create new if (userProfile == null) { if(ApplicationId == 1) { userProfile = new UserProfile() { AuthenId = phoneNumber, }; } else { userProfile = new UserProfile() { AuthenId = email, }; } userProfile.EmailAddress = email; userProfile.Profession = profession; userProfile.FirstName = firstName; userProfile.LastName = lastName; userProfile.DateCreated = DateTime.Now; userProfile.DateModified = DateTime.Now; userProfile.PhoneNumber = phoneNumber; dbContext.UserProfiles.Add(userProfile); dbContext.SaveChanges(); return true; } //Check if account is verified cant create new one if (userProfile.IsAuthenIdVerified) { return false; } userProfile.EmailAddress = email; userProfile.Profession = profession; userProfile.FirstName = firstName; userProfile.LastName = lastName; userProfile.DateCreated = DateTime.Now; userProfile.DateModified = DateTime.Now; userProfile.AuthenId = phoneNumber; userProfile.PhoneNumber = phoneNumber; dbContext.Entry(userProfile).State = System.Data.Entity.EntityState.Modified; dbContext.SaveChanges(); } return true; } //for Mobile and Desktop
public JsonDatasetModel GetData(List<int> dataSetId, string filePath) { bool isDataSetValid = false; using (var dbContext = new ePharmaGuideContext()) { foreach (var item in dataSetId) { isDataSetValid = dbContext.DataSets.Any(ds => ds.DataSetId == item && ds.IsDisabled == false); if (!isDataSetValid) return null; } } using (var db = new ePharmaGuideContext()) { string joinDatasetId = string.Join(",", dataSetId); // BrandGeneric against DataSet. string brandGenericsQuery = string.Format("SELECT DISTINCT [BrandGenericId] as a, [BrandId] as b, [GenericId] as c, [DataSubsetId] as d FROM [dbo].[BrandGenericSet] WHERE DataSetId IN ({0})", joinDatasetId); var brandGenerics = db.Database.SqlQuery<BrandGenericSet>(brandGenericsQuery).ToList(); // Catergories against DataSet. string categoriesQuery = string.Format("SELECT DISTINCT [CategoryId] as a, [CategoryName] as b FROM [dbo].[CategorySet] WHERE DataSetId IN ({0})", joinDatasetId); var categories = db.Database.SqlQuery<CategorySet>(categoriesQuery).ToList(); // InteractionDetail against DataSet. string interactionDetailsQuery = string.Format("SELECT DISTINCT [InteractionDetailId] as a, [InteractionMasterId] as b , [GenericId] as c, [InteractionGroup] as d FROM [dbo].[InteractionDetailSet] WHERE DataSetId IN ({0})", joinDatasetId); var interactionDetrails = db.Database.SqlQuery<InteractionDetailSet>(interactionDetailsQuery).ToList(); // InteractionMaster against DataSet. string interactionMastersQuery = string.Format("SELECT DISTINCT [InteractionMasterId] as a, [Severity] as b, [Effect] as c, [Mechanism] as d, [Management] as e , [BookReference] as f FROM [dbo].[InteractionMasterSet] WHERE DataSetId IN ({0})", joinDatasetId); var interactionMasters = db.Database.SqlQuery<InteractionMasterSet>(interactionMastersQuery).ToList(); // ItemCategory against DataSet. string itemCategoriesQuery = string.Format("SELECT DISTINCT [ItemCategoryId] as a, [TherapeuticId] as b, [ContentId] as c, [DrugCategoryId] as d, [IsBrandwise] as e FROM [dbo].[ItemCategorySet] WHERE DataSetId IN ({0})", joinDatasetId); var itemCategories = db.Database.SqlQuery<ItemCategorySet>(itemCategoriesQuery).ToList(); // ItemPrice against DataSet. string itemPricesQuery = string.Format("SELECT DISTINCT [ItemPriceId] as a,[ItemId] as b ,[TradePrice] as c ,[RetailPrice] as d ,[InPatientPrice] as e ,[AutoUpdatePrice] as f ,[DataSubsetId] as g FROM [dbo].[ItemPriceSet] WHERE DataSetId IN ({0})", joinDatasetId); var itemPrices = db.Database.SqlQuery<ItemPriceSet>(itemPricesQuery).ToList(); // Item against DataSet. string itemsQuery = string.Format("SELECT DISTINCT [ItemId] as a ,[CompanyId] as b ,[BrandId] as c ,[BrandExtension] as d ,[RegistrationNumber] as e ,[DosageForm] as f ,[DosageFormExtension] as g,[Strength] as h ,[PackSize] as i ,[ItemCategoryId] as j FROM [dbo].[ItemSet] WHERE DataSetId IN ({0})", joinDatasetId); var items = db.Database.SqlQuery<ItemSet>(itemsQuery).ToList(); foreach (var item in items) { if(item.a == 44611) { } } // Prescription against DataSet. string prescriptionsQuery = string.Format("SELECT DISTINCT [PrescriptionId] as a,[ItemCategoryId] as b ,[PrescriptionTypeId] as c ,[PrescriptionText] as d FROM [dbo].[PrescriptionSet] WHERE DataSetId IN ({0})", joinDatasetId); var prescriptions = db.Database.SqlQuery<PrescriptionSet>(prescriptionsQuery).ToList(); var prescriptionTypes = db.PrescriptionTypes.ToList(); var dataSubSets = db.DataSubsets.Where(x => dataSetId.Contains(x.DataSetId)).ToList(); var dataSets = db.DataSets.Where(x => dataSetId.Contains(x.DataSetId)).ToList(); var jsonDataSet = new JsonDatasetModel(); jsonDataSet.BrandGenerics = brandGenerics; jsonDataSet.Categories = categories; jsonDataSet.InteractionDetails = interactionDetrails; jsonDataSet.InteractionMasters = interactionMasters; jsonDataSet.ItemCategories = itemCategories; jsonDataSet.ItemPrices = itemPrices; jsonDataSet.Items = items; jsonDataSet.Prescriptions = prescriptions; jsonDataSet.PrescriptionTypes = new List<PrescriptionTypeModel>(); foreach (var item in prescriptionTypes) { jsonDataSet.PrescriptionTypes.Add(new PrescriptionTypeModel() { a = item.PrescriptionTypeId, d = item.TypeColour, b = item.TypeName, c = item.TypeSequence }); } jsonDataSet.DataSubsets = new List<DataSubsetModel>(); foreach (var item in dataSubSets) { jsonDataSet.DataSubsets.Add(new DataSubsetModel() { a = item.DataSubsetId, b = item.DataSetId, d = item.DataSubsetCurrency, c = item.DataSubsetName, i = item.DateCreated, e = item.DateLastUpdated, j = item.DateModified, f = item.DatePublished, h = item.isDisabled, g = item.Remarks }); } return jsonDataSet; } }
public List<DataSetIdName> GetAllDataSet(int AppId) { List<DataSetIdName> collectionOfDataset = new List<DataSetIdName>(); using (var dbContext = new ePharmaGuideContext()) { var dataSet = dbContext.DataSets.Where(x => x.ValidityPeriod == -1 && x.IsDisabled == false).ToList(); if(dataSet == null) { return null; } foreach (var item in dataSet) { DataSetIdName ds = new DataSetIdName() { DatasetId = item.DataSetId, DatasetName = item.DataSetTitle }; if (item.Datasubsets != null && item.Datasubsets.Count > 1) { ds.DataSubsets = (from x in item.Datasubsets select new DataSetIdName { DatasetId = x.DataSubsetId, DatasetName = x.DataSubsetName }).ToList(); } collectionOfDataset.Add(ds); } } return collectionOfDataset; }
public void DateLastPublished(int DataSetId) { using (var dbContext = new ePharmaGuideContext()) { var dataSetObject = dbContext.DataSets.FirstOrDefault(x=>x.DataSetId == DataSetId && x.IsDisabled == false); if(dataSetObject == null) { return; } dataSetObject.DateModified = DateTime.Now; dataSetObject.DatePublished = DateTime.Now; dbContext.Entry(dataSetObject).State = System.Data.Entity.EntityState.Modified; dbContext.SaveChanges(); } }
public Installation GetGuid(int userId , string deviceId , int appId) { using (var dbContext = new ePharmaGuideContext()) { var getGUID = dbContext.Installations.FirstOrDefault(x => x.ApplicationId == appId && x.DeviceIdentifier == deviceId && x.UserId == userId && x.isDisabled == false); return getGUID; } }