Exemple #1
0
 public int UpdateSubscriptionSetting(SubscriptionSettingObject subscriptionSetting)
 {
     try
     {
         return(_subscriptionSettingRepository.UpdateSubscriptionSetting(subscriptionSetting));
     }
     catch (Exception ex)
     {
         ErrorLogger.LogError(ex.StackTrace, ex.Source, ex.Message);
         return(-2);
     }
 }
Exemple #2
0
 public long AddSubscriptionSetting(SubscriptionSettingObject subscriptionSettingAccount)
 {
     try
     {
         return(_subscriptionSettingRepository.AddSubscriptionSetting(subscriptionSettingAccount));
     }
     catch (Exception ex)
     {
         ErrorLogger.LogError(ex.StackTrace, ex.Source, ex.Message);
         return(0);
     }
 }
        public Int32 UpdateSubscriptionSetting(SubscriptionSettingObject store)
        {
            try
            {
                if (store == null)
                {
                    return(-2);
                }

                var settings = _repository.GetAll().ToList();
                if (settings.Any())
                {
                    var setting = settings[0];
                    setting.StoreId          = store.StoreId;
                    setting.SecreteKey       = store.SecreteKey;
                    setting.DatabaseSpace    = store.DatabaseSpace;
                    setting.FileStorageSpace = store.FileStorageSpace;
                    setting.Url                = store.Url;
                    setting.DateSubscribed     = store.DateSubscribed;
                    setting.ExpiryDate         = store.ExpiryDate;
                    setting.SubscriptionStatus = store.SubscriptionStatus;
                    _repository.Update(setting);
                    _uoWork.SaveChanges();
                    return(5);
                }

                var storeEntity = ModelCrossMapper.Map <SubscriptionSettingObject, SubscriptionSetting>(store);
                if (storeEntity == null || store.StoreId < 1)
                {
                    return(-2);
                }
                _repository.Add(storeEntity);
                _uoWork.SaveChanges();
                return(5);
            }
            catch (Exception ex)
            {
                ErrorLogger.LogError(ex.StackTrace, ex.Source, ex.Message);
                return(-2);
            }
        }
        private bool CreateDB(string dbName, StoreObject store)
        {
            try
            {
                var storeSettings = DbContextSwitcherServices.GetConnectionStringParameters();
                if (storeSettings == null || string.IsNullOrEmpty(storeSettings.DataSource))
                {
                    return(false);
                }

                //storeSettings.InitialCatalog = dbName;

                var storageSpace = store.StorageSize / 2;
                var dbObject     = new DBObject
                {
                    DBSize           = storageSpace,
                    DBName           = dbName,
                    ConnectionString = storeSettings.SqlConnectionString,
                    ScriptFilePath   = Server.MapPath(storeSettings.DBScriptPath)
                };

                var dbCreationResult = DBCreator.CreateDB(dbObject);
                if (!dbCreationResult)
                {
                    return(false);
                }

                storeSettings.StoreId        = store.StoreId;
                storeSettings.InitialCatalog = dbName;

                var k = AddStoreSettings(storeSettings);
                if (k < 1)
                {
                    return(false);
                }

                var subscriptionSetting = new SubscriptionSettingObject
                {
                    StoreId          = store.StoreId,
                    SecreteKey       = store.SecreteKey,
                    DatabaseSpace    = storageSpace,
                    FileStorageSpace = storageSpace,
                    Url                = store.StoreAlias.ToLower().Trim() + storeSettings.DomainExtension,
                    DateSubscribed     = DateTime.Today,
                    ExpiryDate         = DateTime.Today.AddDays(store.Duration),
                    SubscriptionStatus = store.SubscriptionStatus,
                };

                var connectionString = DbContextSwitcherServices.SwitchEntityDatabase(storeSettings);
                if (string.IsNullOrEmpty(storeSettings.DataSource))
                {
                    return(false);
                }

                _dbConnection    = connectionString;
                _domainExtension = storeSettings.DomainExtension;
                Session["entityConnectionString"]   = connectionString;
                Session["identityconnectionString"] = dbObject.ConnectionString.Replace("master", dbName);
                var result = new SubscriptionSettingServices(connectionString).AddSubscriptionSetting(subscriptionSetting);
                if (result < 1)
                {
                    return(false);
                }

                var storPath = CreateStoreDirectory("~/Stores/" + dbName + "/Assets");
                return(storPath);
            }
            catch (Exception e)
            {
                ErrorLogger.LogError(e.StackTrace, e.Source, e.Message);
                return(false);
            }
        }