public ActionResult DeleteConfirmed(short id)
        {
            var constring = System.Configuration.ConfigurationManager.ConnectionStrings["pubsEntities"].ConnectionString;

            if (constring.ToLower().StartsWith("metadata="))
            {
                System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(constring);
                constring = efBuilder.ProviderConnectionString;
            }
            var con = new SqlConnection(constring);

            con.Open();
            string   query      = "SELECT COUNT(*) FROM employee";
            var      cmd        = new SqlCommand(query, con);
            int      rowsAmount = (int)cmd.ExecuteScalar();
            employee employee;

            for (int i = 0; i < rowsAmount; i++)
            {
                employee = db.employee.FirstOrDefault(m => m.job_id == id);
                if (employee == null)
                {
                }
                else
                {
                    db.employee.Remove(employee);
                    db.SaveChanges();
                }
            }
            jobs jobs = db.jobs.Find(id);

            db.jobs.Remove(jobs);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #2
0
        protected void btnConfirm_Click(object sender, EventArgs e)
        {
            UserStore <IdentityUser> userStore = new UserStore <IdentityUser>();

            string connectionStringEF = System.Configuration.ConfigurationManager
                                        .ConnectionStrings["VegetableDBEntities"].ConnectionString;
            var efBuilder = new System.Data.Entity.Core.EntityClient
                            .EntityConnectionStringBuilder(connectionStringEF);
            string connectionStringOK = efBuilder.ProviderConnectionString;

            userStore.Context.Database.Connection.ConnectionString = connectionStringOK;

            var manager = new UserManager <IdentityUser>(userStore);

            var user = manager.Find(txtLogin.Text, txtPasword.Text);

            if (user != null)
            {
                var authentificationManager = HttpContext.Current.GetOwinContext().Authentication;
                var userIdentity            = manager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);

                authentificationManager.SignIn(
                    new AuthenticationProperties {
                    IsPersistent = false
                },
                    userIdentity
                    );

                Response.Redirect("~/Index.aspx");
            }
            else
            {
                litStatus.Text = "Неправильно введена электронная почта или пароль";
            }
        }
Пример #3
0
        static public void AutoRefresh(this ObjectContext ctx,
                                       RefreshMode refreshMode, IEnumerable collection)
        {
            var    csInEF = ctx.Connection.ConnectionString;
            string csForEF;

            if (csInEF.StartsWith("name="))
            {   // old EF
                var csName = csInEF.Replace("name=", "").Trim();
                csForEF =
                    System.Configuration.ConfigurationManager.ConnectionStrings[csName].ConnectionString;
            }
            else
            {
                csForEF = csInEF;
            }
            var newConnectionString = new
                                      System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(csForEF).ProviderConnectionString;

            if (!connectionStrings.Contains(newConnectionString))
            {
                connectionStrings.Add(newConnectionString);
                SqlDependency.Start(newConnectionString);
            }
            ServiceBrokerUtility.ctx         = ctx;
            ServiceBrokerUtility.refreshMode = refreshMode;
            AutoRefresh(collection);
        }
Пример #4
0
        public IEnumerable <DeckTB> GetDecks(int id)
        {
            var filteredList = new List <DeckTB>();

            if (_connString.ToLower().StartsWith("metadata="))
            {
                System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(_connString);
                _connString = efBuilder.ProviderConnectionString;
            }

            using (var con = new SqlConnection(_connString))
            {
                var cmd = new SqlCommand("GetDecks", con);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.AddWithValue("@playerId", id);

                con.Open();

                SqlDataReader rdr = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    var deck = new DeckTB();

                    deck.DeckId   = Convert.ToInt32(rdr["DeckId"]);
                    deck.PlayerId = Convert.ToInt32(rdr["PlayerId"]);
                    deck.DeckName = rdr["DeckName"].ToString();

                    filteredList.Add(deck);
                }
            }

            return(filteredList);
        }
        public ActionResult firstanafora(string X, string date_start, string date_end, display_anafores da)
        {
            var constring = System.Configuration.ConfigurationManager.ConnectionStrings["pubsEntities"].ConnectionString;

            if (constring.ToLower().StartsWith("metadata="))
            {
                System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(constring);
                constring = efBuilder.ProviderConnectionString;
            }
            string        query = "SELECT";
            SqlConnection con   = new SqlConnection(constring);

            if (X != "")
            {
                query = query + " TOP(" + X + ")";
            }
            query = query + " sales.title_id,authors.au_fname,authors.address,authors.au_lname,authors.city,authors.phone,authors.zip,authors.state,SUM(sales.qty) as qty,sales.ord_date " +
                    "FROM[pubs].[dbo].sales INNER JOIN titleauthor on titleauthor.title_id = sales.title_id " +
                    "INNER JOIN authors on authors.au_id = titleauthor.au_id ";
            if (date_start != "" && date_end != "")
            {
                query = query + "WHERE sales.ord_date>='" + date_start + "' AND sales.ord_date<='" + date_end + "'";
            }
            else if (date_start != "")
            {
                query = query + "WHERE sales.ord_date>='" + date_start + "'";
            }
            else if (date_end != "")
            {
                query = query + "WHERE sales.ord_date<='" + date_end + "'";
            }
            query = query + " GROUP BY sales.title_id,authors.au_fname,authors.address,authors.au_lname,authors.city,authors.phone,authors.zip,authors.state,ord_date ORDER BY qty DESC";
            SqlCommand sqlcomm = new SqlCommand(query);

            sqlcomm.Connection = con;
            con.Open();
            SqlDataReader           sdr      = sqlcomm.ExecuteReader();
            List <display_anafores> objmodel = new List <display_anafores>();

            if (sdr.HasRows)
            {
                while (sdr.Read())
                {
                    var details = new display_anafores();
                    details.auth_name     = sdr["au_fname"].ToString();
                    details.auth_lastname = sdr["au_lname"].ToString();
                    details.phone         = sdr["phone"].ToString();
                    details.address       = sdr["address"].ToString();
                    details.city          = sdr["city"].ToString();
                    details.state         = sdr["state"].ToString();
                    details.zip           = sdr["zip"].ToString();
                    objmodel.Add(details);
                }
                da.info = objmodel;
                con.Close();
            }

            return(View("firstanafora", da));
        }
Пример #6
0
        protected override DbCtxNorthwindEntities CreateDbContext()
        {
            // TODO: Allow using connection string from
            var builder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder("metadata=res://*/Northwind.NorthwindDbCtx.csdl|res://*/Northwind.NorthwindDbCtx.ssdl|res://*/Northwind.NorthwindDbCtx.msl;provider=System.Data.SqlClient;");

            builder.ProviderConnectionString = ConfigurationManager.ConnectionStrings["Northwind"].ConnectionString;
            return(new DbCtxNorthwindEntities(builder.ConnectionString));
        }
        protected void btnConfirm_Click(object sender, EventArgs e)
        {
            UserStore <IdentityUser> userStore = new UserStore <IdentityUser>();

            //https://stackoverflow.com/questions/20183777/keyword-not-supported-metadata
            string connectionStringEF = System.Configuration.ConfigurationManager
                                        .ConnectionStrings["VegetableDBEntities"].ConnectionString;
            var efBuilder = new System.Data.Entity.Core.EntityClient
                            .EntityConnectionStringBuilder(connectionStringEF);
            string connectionStringOK = efBuilder.ProviderConnectionString;

            userStore.Context.Database.Connection.ConnectionString = connectionStringOK;

            var manager = new UserManager <IdentityUser>(userStore);

            var user = new IdentityUser();

            user.UserName = txtLogin.Text;

            if (txtPasword.Text == txtConfirmPassword.Text)
            {
                try {
                    var result = manager.Create(user, txtPasword.Text);
                    if (result.Succeeded)
                    {
                        var userInfo = new UserInfo {
                            FirstName = txtFirstName.Text,
                            LastName  = txtLastName.Text,
                            Address   = txtAddress.Text,
                            Phone     = txtPhone.Text,
                            Guid      = user.Id
                        };
                        var userInfoModel = new UserInfoModel();
                        userInfoModel.InsertUserInfo(userInfo);

                        var autentificationManager = HttpContext.Current.GetOwinContext().Authentication;
                        var userIdentity           = manager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
                        autentificationManager
                        .SignIn(new Microsoft.Owin.Security.AuthenticationProperties(), userIdentity);
                        Response.Redirect("~/Index.aspx");
                    }
                    else
                    {
                        litStatus.Text = result.Errors.FirstOrDefault();
                    }
                }
                catch (Exception ex) {
                    litStatus.Text = ex.ToString();
                }
            }
            else
            {
                litStatus.Text = "Пароли не совпадают";
            }
        }
        internal static string getConnectionString()
        {
            string connectionString = ConfigurationManager.ConnectionStrings["bejournalEntities"].ConnectionString;

            if (connectionString.ToLower().StartsWith("metadata="))
            {
                System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(connectionString);
                connectionString = efBuilder.ProviderConnectionString;
            }
            return(connectionString);
        }
Пример #9
0
        private static SqlConnection SqlConnection()
        {
            string connectionString = ConfigurationManager.ConnectionStrings["AccountDbEntities"].ConnectionString;

            System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder =
                new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(connectionString);
            connectionString = efBuilder.ProviderConnectionString;
            SqlConnection connection = new SqlConnection(connectionString);

            return(connection);
        }
Пример #10
0
        }//end 

        /// <summary>
        /// Sets the connection string depending on the information that is trying to be accessed.  If the ADO.Net entity does not exist, throws an error.
        /// </summary>
        /// <param name="entity">The entity connection string to get</param>
        private static void GetConnectionString(string entity)
        {
            ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[entity];
            if (settings == null || string.IsNullOrEmpty(settings.ConnectionString))
            {
                throw new Exception("no_connection_string");
            }

            var efConnectionString = settings.ConnectionString;
            var builder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(efConnectionString);
            connStr = builder.ProviderConnectionString;
        }//end GetConnectionString
 private static string GetSiteDBModelConnStr(string sqlConnStr)
 {
     var siteSqlConn = System.Configuration.ConfigurationManager.ConnectionStrings[sqlConnStr];
     string conStrIntegratedSecurity =
         new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder
         {
             Metadata = "res://*/DAL.SiteDBModel.csdl|res://*/DAL.SiteDBModel.ssdl|res://*/DAL.SiteDBModel.msl",
             Provider = siteSqlConn.ProviderName,
             ProviderConnectionString = siteSqlConn.ConnectionString
         }.ConnectionString;
     return conStrIntegratedSecurity;
 }
Пример #12
0
        private static string GetSiteDBModelConnStr(string sqlConnStr)
        {
            var    siteSqlConn = System.Configuration.ConfigurationManager.ConnectionStrings[sqlConnStr];
            string conStrIntegratedSecurity =
                new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder
            {
                Metadata = "res://*/DAL.SiteDBModel.csdl|res://*/DAL.SiteDBModel.ssdl|res://*/DAL.SiteDBModel.msl",
                Provider = siteSqlConn.ProviderName,
                ProviderConnectionString = siteSqlConn.ConnectionString
            }.ConnectionString;

            return(conStrIntegratedSecurity);
        }
Пример #13
0
        /// <summary>
        /// 得到Entity的连接字符串
        /// </summary>
        /// <param name="edmxFullName">Edmx的包括命名空间的全名称</param>
        /// <param name="server">服务器地址或名称</param>
        /// <param name="dadaBase">数据库</param>
        /// <param name="usr">用户</param>
        /// <param name="pswd">密码</param>
        /// <param name="appName">程序名称</param>
        /// <returns>Entity连接字符串</returns>
        private static string GetEntityConnectionString(string edmxFullName, string path)
        {
            System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder entityConnectionStringBuilder =
                new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder();
            entityConnectionStringBuilder.Metadata = "res://*/" + edmxFullName + ".csdl|res://*/" + edmxFullName + ".ssdl|res://*/" + edmxFullName + ".msl";
            entityConnectionStringBuilder.Provider = "System.Data.SQLite.EF6";

            System.Data.SQLite.SQLiteConnectionStringBuilder sqlConnectionStringBuilder = new System.Data.SQLite.SQLiteConnectionStringBuilder();
            sqlConnectionStringBuilder.DataSource = path;
            entityConnectionStringBuilder.ProviderConnectionString = sqlConnectionStringBuilder.ToString();

            return(entityConnectionStringBuilder.ConnectionString);
        }
Пример #14
0
        public static string entityConnectionString()
        {
            string connectionString = dbConnectString;

            System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(connectionString);

            System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder ecb = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder();
            ecb.Metadata = "res://*/Models.ThesaurusModel.csdl|res://*/Models.ThesaurusModel.ssdl|res://*/Models.ThesaurusModel.msl";
            ecb.Provider = "System.Data.SqlClient";
            ecb.ProviderConnectionString = scsb.ConnectionString;

            return(ecb.ConnectionString);
        }
        static public void SetupTestDB()
        {
            if (IsDbSet)
            {
                return;
            }
            IsDbSet = true;

            string cs  = CardValidationServiceDB.DefaultConnectionString;
            var    ecb = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(cs);
            var    cb  = new System.Data.SqlClient.SqlConnectionStringBuilder(ecb.ProviderConnectionString)
            {
                AttachDBFilename = Path.GetFullPath("CardValidationServiceDB.mdf"),
            };

            ecb.ProviderConnectionString = cb.ToString();
            CardValidationServiceDB.DefaultConnectionString = ecb.ConnectionString;

            using (var db = new CardValidationServiceDB())
            {
                try { if (db.Database.Exists())
                      {
                          db.Database.Delete();
                      }
                }
                catch { }
                db.Database.Create();
                db.Database.ExecuteSqlCommand(File.ReadAllText(@"..\..\..\CardValidationService.DB\Functions\GetCardType.sql"));
                string fuzzDBLibPath = Path.GetFullPath(@"..\CardValidationService.DB\CardValidationServiceDB.dll");
                db.Database.ExecuteSqlCommand($"CREATE ASSEMBLY [CardValidationServiceDB] FROM '{fuzzDBLibPath}'");
                db.Database.ExecuteSqlCommand(@"
CREATE FUNCTION [dbo].[IsPrimeNumber](@number INT)
RETURNS BIT
EXTERNAL NAME [CardValidationServiceDB].[UserDefinedFunctions].[IsPrimeNumber]");
                db.Database.ExecuteSqlCommand(File.ReadAllText(@"..\..\..\CardValidationService.DB\Functions\IsExpiryDateValid.sql"));
                db.Database.ExecuteSqlCommand(File.ReadAllText(@"..\..\..\CardValidationService.DB\Procedures\ValidateCard.sql"));

                db.Card.AddRange(
                    from fi in typeof(CardTestInfo).GetFields(BindingFlags.Public | BindingFlags.Static)
                    where fi.FieldType == typeof(CardTestInfo)
                    let ci = (CardTestInfo)fi.GetValue(typeof(CardTestInfo))
                             where ci.ExpiryDate != null
                             select new Card
                {
                    Number     = ci.Number,
                    ExpiryDate = ci.ExpiryDate.Value
                });

                db.SaveChanges();
            }
        }
Пример #16
0
        private void setConn()
        {
            connectionstring = System.Configuration.ConfigurationManager.ConnectionStrings["incposdbEntities"].ConnectionString;
            if (connectionstring.ToLower().StartsWith("metadata="))
            {
                System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(connectionstring);
                connectionstring = efBuilder.ProviderConnectionString;
            }

            var connectionBuilder = new System.Data.SqlClient.SqlConnectionStringBuilder(connectionstring);

            databaseName = connectionBuilder.InitialCatalog;

            connection = new SqlConnection(connectionstring);
        }
        public static string change_db(string data_source = "localhost:1521/testowa", string user = "******", string password = "******")
        {
            const string providerName = "Oracle.ManagedDataAccess.Client";
            string       metaData     = "res://*/model_Samochod.csdl|res://*/model_Samochod.ssdl|res://*/model_Samochod.msl";

            Oracle.ManagedDataAccess.Client.OracleConnectionStringBuilder oracleBuilder = new Oracle.ManagedDataAccess.Client.OracleConnectionStringBuilder();
            oracleBuilder.DataSource = data_source;
            oracleBuilder.UserID     = user;
            oracleBuilder.Password   = password;

            System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder();
            efBuilder.Metadata = metaData;
            efBuilder.Provider = providerName;
            efBuilder.ProviderConnectionString = oracleBuilder.ConnectionString;

            return(efBuilder.ConnectionString);
        }
Пример #18
0
        public static string getConnectionStringUDL()
        {
            System.Data.SqlClient.SqlConnectionStringBuilder sqlString = new System.Data.SqlClient.SqlConnectionStringBuilder()
            {
                ConnectionString         = objDataLayer.ConnectionString,
                IntegratedSecurity       = true,
                MultipleActiveResultSets = true
            };
            //Build an Entity Framework connection string

            System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder entityString = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder()
            {
                Provider = (objDataLayer.ProviderName == "SqlClient" ? "System.Data.SqlClient" : objDataLayer.ProviderName),
                Metadata = "res://*/GruposEtareosModel.csdl|res://*/GruposEtareosModel.ssdl|res://*/GruposEtareosModel.msl",
                ProviderConnectionString = sqlString.ToString()
            };
            return(entityString.ConnectionString);
        }
        public static string CreateConnStr(string dataSource, string instanceName, string userName, string password)
        {
            string connectionString = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder
            {
                Metadata = "res://*/EbaModel.csdl|res://*/EbaModel.ssdl|res://*/EbaModel.msl",
                Provider = "System.Data.SqlClient",
                ProviderConnectionString = new System.Data.SqlClient.SqlConnectionStringBuilder
                {
                    InitialCatalog     = instanceName,
                    DataSource         = dataSource,
                    IntegratedSecurity = false,
                    UserID             = userName,
                    Password           = password,
                }.ConnectionString
            }.ConnectionString;

            return(connectionString);
        }
Пример #20
0
        public static string ConnectionStringBuilder(string DalPathName, string connectionString)
        {
            if (string.IsNullOrEmpty(connectionString))
            {
                connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["StockContext"].ConnectionString;
            }
            HttpHelper.WriteLogError(connectionString);
            var ecsbuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder();

            ecsbuilder.Provider = "System.Data.SqlClient";
            //ecsbuilder.Provider = "System.Data.EntityClient";
            ecsbuilder.ProviderConnectionString = connectionString;

            // Becare full the folder structure: General.Data or Data only in project folder tree.
            ecsbuilder.Metadata = @"res://*/" + DalPathName + ".csdl|res://*/" + DalPathName + ".ssdl|res://*/" + DalPathName + ".msl";
            string cs = ecsbuilder.ToString();

            HttpHelper.WriteLogError("Built connectionstring: " + cs);
            return(cs);
        }
Пример #21
0
        public IEnumerable <CustomCardTB> GetCardsInDeck(int deckId /*, int cardId*/)
        {
            var filteredList = new List <CustomCardTB>();

            if (_connString.ToLower().StartsWith("metadata="))
            {
                System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(_connString);
                _connString = efBuilder.ProviderConnectionString;
            }

            using (var con = new SqlConnection(_connString))
            {
                var cmd = new SqlCommand("GetCardsInDeck", con);
                cmd.CommandType = CommandType.StoredProcedure;

                cmd.Parameters.AddWithValue("@deckId", deckId);
                //cmd.Parameters.AddWithValue("@cardId", cardId);

                con.Open();

                SqlDataReader rdr = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    var customCard = new CustomCardTB();

                    customCard.Id          = Convert.ToInt32(rdr["Id"]);
                    customCard.Name        = rdr["Name"].ToString();
                    customCard.Description = rdr["Description"].ToString();
                    customCard.Power       = rdr["Power"].ToString();
                    customCard.Tough       = rdr["Tough"].ToString();
                    customCard.Image       = rdr["Image"].ToString();
                    customCard.PlayerId    = Convert.ToInt32(rdr["PlayerId"]);

                    filteredList.Add(customCard);
                }
            }

            return(filteredList);
        }
Пример #22
0
        public static string Connect()
        {
            //string conString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
            string conString  = string.Empty;
            string DataSource = ConfigurationManager.AppSettings["DataSource"];
            string Database   = ConfigurationManager.AppSettings["Database"];
            string UID        = ConfigurationManager.AppSettings["UID"];
            string Password   = ConfigurationManager.AppSettings["Password"];

            conString = "Server=" + DataSource + "; Database=" + Database + "; UID=" + UID + "; PWD=" + Password + ";";

            if (conString.ToLower().StartsWith("metadata="))
            {
                System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(conString);
                conString = efBuilder.ProviderConnectionString;
            }

            SqlConnectionStringBuilder cns = new SqlConnectionStringBuilder(conString);
            string dataSource = cns.DataSource;

            SqlConnectionStringBuilder sqlString = new SqlConnectionStringBuilder()
            {
                DataSource     = cns.DataSource,     // Server name
                InitialCatalog = cns.InitialCatalog, //Database
                UserID         = cns.UserID,         //Username
                Password       = cns.Password,       //Password,
                //MultipleActiveResultSets = true,
                //ApplicationName = "EntityFramework",
            };

            return(sqlString.ConnectionString);
            //Build an Entity Framework connection string
            //EntityConnectionStringBuilder entityString = new EntityConnectionStringBuilder()
            //{
            //    //Provider = "System.Data.SqlClient",
            //    //Metadata = @"..\..\bin\Debug\EntityModelDemo.csdl|..\..\bin\Debug\EntityModelDemo.ssdl|..\..\bin\Debug\EntityModelDemo.msl;",
            //    //ProviderConnectionString = sqlString.ToString()
            //};
            //return entityString.ConnectionString;
        }
Пример #23
0
        public ActionResult DeleteConfirmed(string id)
        {
            var constring = System.Configuration.ConfigurationManager.ConnectionStrings["pubsEntities"].ConnectionString;

            if (constring.ToLower().StartsWith("metadata="))
            {
                System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(constring);
                constring = efBuilder.ProviderConnectionString;
            }
            var con = new SqlConnection(constring);

            con.Open();
            string      query      = "SELECT COUNT(*) FROM titleauthor";
            var         cmd        = new SqlCommand(query, con);
            int         rowsAmount = (int)cmd.ExecuteScalar();
            titleauthor titleauthor;

            for (int i = 0; i < rowsAmount; i++)
            {
                titleauthor = db.titleauthor.FirstOrDefault(x => x.au_id == id);
                if (titleauthor == null)
                {
                }
                else
                {
                    db.titleauthor.Remove(titleauthor);
                    db.SaveChanges();
                }
            }


            authors authors = db.authors.Find(id);

            db.authors.Remove(authors);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #24
0
        /// <summary />
        public static void Update <T>(this IQueryable <T> query, Expression <Func <T, T> > obj, QueryOptimizer optimizer, string connectionString)
            where T : Gravitybox.GeoLocation.EFDAL.IBusinessObject, new()
        {
            if (optimizer == null)
            {
                optimizer = new QueryOptimizer();
            }
            if (query == null)
            {
                throw new Exception("Query must be set");
            }

            //There is nothing to do
            if (query.ToString().Replace("\r", string.Empty).Split(new char[] { '\n' }).LastOrDefault().Trim() == "WHERE 1 = 0")
            {
                return;
            }

            var instanceKey = Guid.Empty;

            System.Data.Entity.Core.Objects.ObjectContext objectContext = null;
            try
            {
                var propContext = query.Provider.GetType().GetProperty("InternalContext");
                if (propContext != null)
                {
                    var context = propContext.GetValue(query.Provider);
                    if (context != null)
                    {
                        var oc = context.GetType().GetProperty("ObjectContext").GetValue(context) as System.Data.Entity.Core.Objects.ObjectContext;
                        objectContext = oc as System.Data.Entity.Core.Objects.ObjectContext;
                        instanceKey   = ((IContext)context.GetType().GetProperty("Owner").GetValue(context)).InstanceKey;
                        if (string.IsNullOrEmpty(connectionString))
                        {
                            var propCs = context.GetType().GetProperty("OriginalConnectionString");
                            if (propCs != null)
                            {
                                connectionString = (string)propCs.GetValue(context);
                            }
                        }
                    }
                }

                if (instanceKey == Guid.Empty)
                {
                    var context2 = query.Provider.GetType().GetField("_context", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
                    if (context2 != null)
                    {
                        var context = context2.GetValue(query.Provider);
                        objectContext = context as System.Data.Entity.Core.Objects.ObjectContext;
                        var qq = objectContext.InterceptionContext.DbContexts.First() as Gravitybox.GeoLocation.EFDAL.IGeoLocationEntities;
                        instanceKey = qq.InstanceKey;
                        if (string.IsNullOrEmpty(connectionString))
                        {
                            connectionString = Util.StripEFCS2Normal(objectContext.Connection.ConnectionString);
                        }
                    }
                }

                if (instanceKey == Guid.Empty)
                {
                    throw new Exception("Unknown context");
                }

                if (string.IsNullOrEmpty(connectionString))
                {
                    var propContext2 = query.GetType().GetProperty("Context");
                    if (propContext2 != null)
                    {
                        var context = propContext2.GetValue(query) as System.Data.Entity.Core.Objects.ObjectContext;
                        if (context != null)
                        {
                            var builder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(context.Connection.ConnectionString);
                            if (!string.IsNullOrWhiteSpace(builder.ProviderConnectionString))
                            {
                                objectContext    = context;
                                connectionString = builder.ProviderConnectionString;
                            }
                        }
                    }
                }
            }
            catch { }

            System.Data.Entity.Core.Objects.ObjectParameterCollection existingParams = null;
            {
                var objectQuery = query as System.Data.Entity.Core.Objects.ObjectQuery <T>;
                if (objectQuery == null)
                {
                    var internalQueryField = query.GetType().GetProperty("InternalQuery", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(query);
                    if (internalQueryField != null)
                    {
                        objectQuery = internalQueryField.GetType().GetProperty("ObjectQuery").GetValue(internalQueryField) as System.Data.Entity.Core.Objects.ObjectQuery <T>;
                    }
                }

                if (objectQuery != null)
                {
                    var ss2 = objectQuery.ToTraceString();             //DO NOT REMOVE! must call this to init params
                    existingParams = objectQuery.GetType().GetProperty("Parameters").GetValue(objectQuery) as System.Data.Entity.Core.Objects.ObjectParameterCollection;
                }
            }

            var startTime   = DateTime.Now;
            var changedList = new Dictionary <string, object>();

            #region Parse Tree
            var propBody = obj.GetType().GetProperty("Body");
            if (propBody != null)
            {
                var body = propBody.GetValue(obj);
                if (body != null)
                {
                    var propBindings = body.GetType().GetProperty("Bindings");
                    if (propBindings != null)
                    {
                        var members = (IEnumerable <System.Linq.Expressions.MemberBinding>)propBindings.GetValue(body);
                        foreach (System.Linq.Expressions.MemberAssignment item in members)
                        {
                            var    name  = item.Member.Name;
                            object value = null;

                            if (item.Expression.Type == typeof(int?))
                            {
                                value = CompileValue <int?>(item.Expression);
                            }
                            else if (item.Expression.Type == typeof(int))
                            {
                                value = CompileValue <int>(item.Expression);
                            }

                            else if (item.Expression.Type == typeof(string))
                            {
                                value = CompileValue <string>(item.Expression);
                            }

                            else if (item.Expression.Type == typeof(bool?))
                            {
                                value = CompileValue <bool?>(item.Expression);
                            }
                            else if (item.Expression.Type == typeof(bool))
                            {
                                value = CompileValue <bool>(item.Expression);
                            }

                            else if (item.Expression.Type == typeof(byte?))
                            {
                                value = CompileValue <byte?>(item.Expression);
                            }
                            else if (item.Expression.Type == typeof(byte))
                            {
                                value = CompileValue <byte>(item.Expression);
                            }

                            else if (item.Expression.Type == typeof(char?))
                            {
                                value = CompileValue <char?>(item.Expression);
                            }
                            else if (item.Expression.Type == typeof(char))
                            {
                                value = CompileValue <char>(item.Expression);
                            }

                            else if (item.Expression.Type == typeof(decimal?))
                            {
                                value = CompileValue <decimal?>(item.Expression);
                            }
                            else if (item.Expression.Type == typeof(decimal))
                            {
                                value = CompileValue <decimal>(item.Expression);
                            }

                            else if (item.Expression.Type == typeof(double?))
                            {
                                value = CompileValue <double?>(item.Expression);
                            }
                            else if (item.Expression.Type == typeof(double))
                            {
                                value = CompileValue <double>(item.Expression);
                            }

                            else if (item.Expression.Type == typeof(float?))
                            {
                                value = CompileValue <float?>(item.Expression);
                            }
                            else if (item.Expression.Type == typeof(float))
                            {
                                value = CompileValue <float>(item.Expression);
                            }

                            else if (item.Expression.Type == typeof(long?))
                            {
                                value = CompileValue <long?>(item.Expression);
                            }
                            else if (item.Expression.Type == typeof(long))
                            {
                                value = CompileValue <long>(item.Expression);
                            }

                            else if (item.Expression.Type == typeof(short?))
                            {
                                value = CompileValue <short?>(item.Expression);
                            }
                            else if (item.Expression.Type == typeof(short))
                            {
                                value = CompileValue <short>(item.Expression);
                            }

                            else if (item.Expression.Type == typeof(DateTime?))
                            {
                                value = CompileValue <DateTime?>(item.Expression);
                            }
                            else if (item.Expression.Type == typeof(DateTime))
                            {
                                value = CompileValue <DateTime>(item.Expression);
                            }

                            else if (item.Expression.Type == typeof(Guid?))
                            {
                                value = CompileValue <Guid?>(item.Expression);
                            }
                            else if (item.Expression.Type == typeof(Guid))
                            {
                                value = CompileValue <Guid>(item.Expression);
                            }

                            else
                            {
                                throw new Exception("Data type is not handled '" + item.Expression.Type.Name + "'");
                            }

                            changedList.Add(name, value);
                        }
                    }
                    else
                    {
                        throw new Exception("Update statement must be in format 'm => new Entity { Field = 0 }'");
                    }
                }
            }
            #endregion

            //Create a mapping for inheritance
            var mapping = new List <UpdateSqlMapItem>();
            IReadOnlyBusinessObject theObj = new T();
            do
            {
                var md = theObj.GetMetaData();
                mapping.Add(new UpdateSqlMapItem {
                    TableName = md.GetTableName(), FieldList = md.GetFields(), Schema = md.Schema(), Metadata = md
                });
                var newT = md.InheritsFrom();
                if (newT == null)
                {
                    theObj = default(T);
                }
                else
                {
                    theObj = (IReadOnlyBusinessObject)Activator.CreateInstance(newT, false);
                }
            } while (theObj != null);

            var paramIndex = 0;
            var parameters = new List <System.Data.SqlClient.SqlParameter>();
            foreach (var key in changedList.Keys)
            {
                var map      = mapping.First(x => x.FieldList.Any(z => z == key));
                var fieldSql = map.SqlList;
                var value    = changedList[key];
                if (value == null)
                {
                    fieldSql.Add("[" + map.Metadata.GetDatabaseFieldName(key) + "] = NULL");
                }
                else if (value is string)
                {
                    fieldSql.Add("[" + map.Metadata.GetDatabaseFieldName(key) + "] = @param" + paramIndex);
                    parameters.Add(new System.Data.SqlClient.SqlParameter {
                        ParameterName = "@param" + paramIndex, DbType = System.Data.DbType.String, Value = changedList[key]
                    });
                }
                else if (value is DateTime)
                {
                    fieldSql.Add("[" + map.Metadata.GetDatabaseFieldName(key) + "] = @param" + paramIndex);
                    parameters.Add(new System.Data.SqlClient.SqlParameter {
                        ParameterName = "@param" + paramIndex, DbType = System.Data.DbType.DateTime, Value = changedList[key]
                    });
                }
                else
                {
                    fieldSql.Add("[" + map.Metadata.GetDatabaseFieldName(key) + "] = @param" + paramIndex);
                    parameters.Add(new System.Data.SqlClient.SqlParameter {
                        ParameterName = "@param" + paramIndex, Value = changedList[key]
                    });
                }
                paramIndex++;
            }

            var sb = new System.Text.StringBuilder();
            #region Per table code
            if (typeof(T) == typeof(Gravitybox.GeoLocation.EFDAL.Entity.CanadaPostalCode))
            {
                sb.AppendLine("set rowcount " + optimizer.ChunkSize + ";");
                foreach (var item in mapping.Where(x => x.SqlList.Any()).ToList())
                {
                    sb.AppendLine("UPDATE [X] SET");
                    sb.AppendLine(string.Join(", ", item.SqlList));
                    sb.AppendLine("FROM [" + item.Schema + "].[" + item.TableName + "] AS [X] INNER JOIN (");
                    sb.AppendLine(((IQueryable <Gravitybox.GeoLocation.EFDAL.Entity.CanadaPostalCode>)query).Select(x => new { x.RowId }).ToString());
                    sb.AppendLine(") AS [Extent2]");
                    sb.AppendLine("on [X].[RowId] = [Extent2].[RowId]");
                    sb.AppendLine("select @@ROWCOUNT");
                }
            }
            else if (typeof(T) == typeof(Gravitybox.GeoLocation.EFDAL.Entity.City))
            {
                sb.AppendLine("set rowcount " + optimizer.ChunkSize + ";");
                foreach (var item in mapping.Where(x => x.SqlList.Any()).ToList())
                {
                    sb.AppendLine("UPDATE [X] SET");
                    sb.AppendLine(string.Join(", ", item.SqlList));
                    sb.AppendLine("FROM [" + item.Schema + "].[" + item.TableName + "] AS [X] INNER JOIN (");
                    sb.AppendLine(((IQueryable <Gravitybox.GeoLocation.EFDAL.Entity.City>)query).Select(x => new { x.CityId }).ToString());
                    sb.AppendLine(") AS [Extent2]");
                    sb.AppendLine("on [X].[CityId] = [Extent2].[CityId]");
                    sb.AppendLine("select @@ROWCOUNT");
                }
            }
            else if (typeof(T) == typeof(Gravitybox.GeoLocation.EFDAL.Entity.State))
            {
                sb.AppendLine("set rowcount " + optimizer.ChunkSize + ";");
                foreach (var item in mapping.Where(x => x.SqlList.Any()).ToList())
                {
                    sb.AppendLine("UPDATE [X] SET");
                    sb.AppendLine(string.Join(", ", item.SqlList));
                    sb.AppendLine("FROM [" + item.Schema + "].[" + item.TableName + "] AS [X] INNER JOIN (");
                    sb.AppendLine(((IQueryable <Gravitybox.GeoLocation.EFDAL.Entity.State>)query).Select(x => new { x.StateId }).ToString());
                    sb.AppendLine(") AS [Extent2]");
                    sb.AppendLine("on [X].[StateId] = [Extent2].[StateId]");
                    sb.AppendLine("select @@ROWCOUNT");
                }
            }
            else if (typeof(T) == typeof(Gravitybox.GeoLocation.EFDAL.Entity.Zip))
            {
                sb.AppendLine("set rowcount " + optimizer.ChunkSize + ";");
                foreach (var item in mapping.Where(x => x.SqlList.Any()).ToList())
                {
                    sb.AppendLine("UPDATE [X] SET");
                    sb.AppendLine(string.Join(", ", item.SqlList));
                    sb.AppendLine("FROM [" + item.Schema + "].[" + item.TableName + "] AS [X] INNER JOIN (");
                    sb.AppendLine(((IQueryable <Gravitybox.GeoLocation.EFDAL.Entity.Zip>)query).Select(x => new { x.ZipId }).ToString());
                    sb.AppendLine(") AS [Extent2]");
                    sb.AppendLine("on [X].[ZipId] = [Extent2].[ZipId]");
                    sb.AppendLine("select @@ROWCOUNT");
                }
            }
            else
            {
                throw new Exception("Entity type not found");
            }
            #endregion

            if (string.IsNullOrEmpty(connectionString))
            {
                connectionString = GeoLocationEntities.GetConnectionString();
            }

            var newParams = new List <System.Data.SqlClient.SqlParameter>();
            if (existingParams != null)
            {
                foreach (var ep in existingParams)
                {
                    newParams.Add(new System.Data.SqlClient.SqlParameter {
                        ParameterName = ep.Name, Value = (ep.Value == null ? System.DBNull.Value : ep.Value)
                    });
                }
            }
            newParams.AddRange(parameters);
            QueryPreCache.AddUpdate(instanceKey, sb.ToString(), newParams, optimizer);
        }
        public ActionResult DeleteConfirmed(string id)
        {
            var constring = System.Configuration.ConfigurationManager.ConnectionStrings["pubsEntities"].ConnectionString;

            if (constring.ToLower().StartsWith("metadata="))
            {
                System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(constring);
                constring = efBuilder.ProviderConnectionString;
            }
            var con = new SqlConnection(constring);

            con.Open();
            string    query      = "SELECT COUNT(*) FROM discounts";
            var       cmd        = new SqlCommand(query, con);
            int       rowsAmount = (int)cmd.ExecuteScalar();
            discounts discounts;

            for (int i = 0; i < rowsAmount; i++)
            {
                discounts = db.discounts.FirstOrDefault(m => m.stor_id == id);
                if (discounts == null)
                {
                }
                else
                {
                    db.discounts.Remove(discounts);
                    db.SaveChanges();
                }
            }
            query      = "SELECT COUNT(*) FROM sales";
            cmd        = new SqlCommand(query, con);
            rowsAmount = (int)cmd.ExecuteScalar();
            sales sales;

            for (int i = 0; i < rowsAmount; i++)
            {
                sales = db.sales.FirstOrDefault(m => m.stor_id == id);
                if (sales == null)
                {
                }
                else
                {
                    db.sales.Remove(sales);
                    db.SaveChanges();
                }
            }
            query      = "SELECT COUNT(*) FROM titles";
            cmd        = new SqlCommand(query, con);
            rowsAmount = (int)cmd.ExecuteScalar();
            titles titles;

            for (int i = 0; i < rowsAmount; i++)
            {
                titles = db.titles.FirstOrDefault(m => m.pub_id == id);
                if (titles == null)
                {
                }
                else
                {
                    db.titles.Remove(titles);
                    db.SaveChanges();
                }
            }
            stores stores = db.stores.Find(id);

            db.stores.Remove(stores);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult secondAnafora(string a, string b, string date_start, string date_end, display_anafores da)
        {
            var constring = System.Configuration.ConfigurationManager.ConnectionStrings["pubsEntities"].ConnectionString;

            if (constring.ToLower().StartsWith("metadata="))
            {
                System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(constring);
                constring = efBuilder.ProviderConnectionString;
            }
            string query = "SELECT sales.ord_num,sales.stor_id,sales.ord_date,sales.title_id,titles.title,stores.stor_name " +
                           "FROM [pubs].[dbo].sales " +
                           "INNER JOIN stores on stores.stor_id = sales.stor_id " +
                           "INNER JOIN titles on titles.title_id = sales.title_id ";
            SqlConnection con = new SqlConnection(constring);

            if (a != "" || b != "" || date_start != "" || date_end != "")
            {
                Boolean flag = false;
                query += "WHERE ";
                if (date_start != "" && date_end != "")
                {
                    query = query + "(sales.ord_date>='" + date_start + "' AND sales.ord_date<='" + date_end + "')";
                    flag  = true;
                }
                else if (date_start != "")
                {
                    flag  = true;
                    query = query + "(sales.ord_date>='" + date_start + "')";
                }
                else if (date_end != "")
                {
                    flag  = true;
                    query = query + "(sales.ord_date<='" + date_end + "')";
                }

                if (a != "" && b != "")
                {
                    if (flag)
                    {
                        query = query + " AND ";
                    }
                    query = query + "(stores.stor_name LIKE '[" + a + "-" + b + "]%')";
                }
                else if (a != "")
                {
                    if (flag)
                    {
                        query = query + " AND ";
                    }
                    query = query + "(stores.stor_name LIKE '[" + a + "-Z]%')";
                }
                else if (b != "")
                {
                    if (flag)
                    {
                        query = query + " AND ";
                    }
                    query = query + "(stores.stor_name LIKE '[A-" + b + "]%')";
                }
            }

            query = query + " GROUP BY sales.ord_num,sales.stor_id,sales.ord_date,sales.title_id,titles.title,stores.stor_name ORDER BY sales.ord_num DESC;";
            SqlCommand sqlcomm = new SqlCommand(query);

            sqlcomm.Connection = con;
            con.Open();
            SqlDataReader           sdr      = sqlcomm.ExecuteReader();
            List <display_anafores> objmodel = new List <display_anafores>();

            if (sdr.HasRows)
            {
                while (sdr.Read())
                {
                    var details = new display_anafores();
                    details.order_id   = sdr["ord_num"].ToString();
                    details.title_name = sdr["title"].ToString();
                    details.store_name = sdr["stor_name"].ToString();
                    objmodel.Add(details);
                }
                da.info = objmodel;
                con.Close();
            }

            return(View("secondanafora", da));
        }
Пример #27
0
        public ActionResult QuartersUpdate(string Active, string Number)
        {
            try
            {
                if (Number.Length == 0)
                {
                    throw (new Exception());
                }
                bool act;
                if (Active.IsNullOrWhiteSpace())
                {
                    act = false;
                }
                else
                {
                    act = true;
                }
                int Num = Int32.Parse(Number);
                string cs = System.Configuration.ConfigurationManager.ConnectionStrings["TrackTasksEntities"].ConnectionString;
                if (cs.ToLower().StartsWith("metadata="))
                {
                    System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(cs);
                    cs = efBuilder.ProviderConnectionString;
                }
                SqlConnection con = new SqlConnection(cs);
                SqlCommand cmd = new SqlCommand(
                    "UPDATE Quarters SET Active = @Active WHERE Id=@Num", con);
                List<SqlParameter> prm = new List<SqlParameter>()
                 {
                     new SqlParameter("@Num", SqlDbType.Int) {Value = Num},
                     new SqlParameter("@Active", SqlDbType.Bit) {Value = act},
                 };
                cmd.Parameters.AddRange(prm.ToArray());
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }
            catch (Exception e)
            {
                Response.Write("<script>alert('Failed to submit. Check that your data is the appropriate length and format.');</script>");
            }

            var quarters = db.Quarters;
            SelectList quarts = new SelectList(quarters, "Id", "Quarter_Desc");
            ViewBag.Quarts = quarts;
            SelectList start = new SelectList(quarters, "Id", "StartDate");
            ViewBag.StartDate = start;
            SelectList end = new SelectList(quarters, "Id", "EndDate");
            ViewBag.EndDate = end;
            SelectList active = new SelectList(quarters, "Id", "Active");
            ViewBag.Active = active;
            return PartialView("ReturnQuarters");
        }
Пример #28
0
        public ActionResult QuartersInsert(String QuarterDesc, DateTime StartDate, DateTime EndDate)
        {
            try
            {
                if (QuarterDesc.Length == 0 || StartDate.ToString().Length == 0 || EndDate.ToString().Length == 0)
                {
                    throw (new Exception());
                }
                //Setting the input strings to be the format needed by SQL
                string sqlStartDate = StartDate.ToString("yyyy-MM-dd HH:mm:ss.fff");
                string sqlEndDate = EndDate.ToString("yyyy-MM-dd HH:mm:ss.fff");
                string cs = System.Configuration.ConfigurationManager.ConnectionStrings["TrackTasksEntities"].ConnectionString;
                if (cs.ToLower().StartsWith("metadata="))
                {
                    System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(cs);
                    cs = efBuilder.ProviderConnectionString;
                }
                SqlConnection con = new SqlConnection(cs);
                SqlCommand cmd = new SqlCommand(
                    "INSERT INTO Quarters(StartDate, EndDate, Quarter_Desc, Active) VALUES (@StartDate, @EndDate, @Quarter_Desc, @Active)", con);
                List<SqlParameter> prm = new List<SqlParameter>()
                 {
                    new SqlParameter("@StartDate", SqlDbType.DateTime) {Value = sqlStartDate},
                     new SqlParameter("@EndDate", SqlDbType.DateTime) {Value = sqlEndDate},
                     new SqlParameter("@Quarter_Desc", SqlDbType.NVarChar) {Value = QuarterDesc},
                     new SqlParameter("@Active", SqlDbType.Bit) {Value = true},
                 };
                cmd.Parameters.AddRange(prm.ToArray());
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }
            catch (Exception e)
            {
                Response.Write("<script>alert('Failed to submit. Check that your data is the appropriate length and format.');</script>");
            }

            var quarters = db.Quarters;
            SelectList quarts = new SelectList(quarters, "Id", "Quarter_Desc");
            ViewBag.Quarts = quarts;
            SelectList start = new SelectList(quarters, "Id", "StartDate");
            ViewBag.StartDate = start;
            SelectList end = new SelectList(quarters, "Id", "EndDate");
            ViewBag.EndDate = end;
            SelectList active = new SelectList(quarters, "Id", "Active");
            ViewBag.Active = active;
            return PartialView("ReturnQuarters");
        }
Пример #29
0
        public ActionResult DepartmentsUpdate(string Active, string Number)
        {
            try
            {
                //Checks if the Number variable is variable to make sure they selected something from the list
                if (Number.Length == 0)
                {
                    throw (new Exception());
                }
                //Since checkboxes submit nothing when uncheckd, check if the variable is empty to set to false
                bool act;
                if (Active.IsNullOrWhiteSpace())
                {
                    act = false;
                }
                else
                {
                    act = true;
                }
                int Num = Int32.Parse(Number);
                //Grabbing the connection string for the database
                string cs = System.Configuration.ConfigurationManager.ConnectionStrings["TrackTasksEntities"].ConnectionString;
                if (cs.ToLower().StartsWith("metadata="))
                {
                    System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(cs);
                    cs = efBuilder.ProviderConnectionString;
                }
                SqlConnection con = new SqlConnection(cs);
                SqlCommand cmd = new SqlCommand(
                    "UPDATE Departments SET Active = @Active WHERE Id=@Num", con);
                List<SqlParameter> prm = new List<SqlParameter>()
                 {
                     new SqlParameter("@Num", SqlDbType.Int) {Value = Num},
                     new SqlParameter("@Active", SqlDbType.Bit) {Value = act},
                 };
                cmd.Parameters.AddRange(prm.ToArray());
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }
            //This will catch any errors relating to the SQL operation
            catch (Exception e)
            {
                Response.Write("<script>alert('Failed to submit. Check that your data is the appropriate length and format.');</script>");
            }

            //Resetting the Departments view
            //Needs to go the ReturnDept to automatically open the departments tab after submission
            var departments = db.Departments;
            SelectList depts = new SelectList(departments, "Id", "Department_Name");
            ViewBag.Depts = depts;
            SelectList code = new SelectList(departments, "Id", "Code");
            ViewBag.Code = code;
            SelectList active = new SelectList(departments, "Id", "Active");
            ViewBag.Active = active;
            return View("ReturnDept");
        }
Пример #30
0
        public ActionResult GoalsInsert(String GoalName, String Pillar)
        {
            try
            {
                if (GoalName.Length == 0 || Pillar.Length == 0)
                {
                    throw (new Exception());
                }
                string cs = System.Configuration.ConfigurationManager.ConnectionStrings["TrackTasksEntities"].ConnectionString;
                if (cs.ToLower().StartsWith("metadata="))
                {
                    System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder efBuilder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(cs);
                    cs = efBuilder.ProviderConnectionString;
                }
                SqlConnection con = new SqlConnection(cs);
                SqlCommand cmd = new SqlCommand(
                    "INSERT INTO StrategicGoal(Goals, StrategicPillarId, Active) VALUES (@Goals, @StrategicPillarId, @Active)", con);
                List<SqlParameter> prm = new List<SqlParameter>()
                 {
                    new SqlParameter("@Goals", SqlDbType.NVarChar) {Value = GoalName},
                     new SqlParameter("@StrategicPillarId", SqlDbType.NVarChar) {Value = Pillar},
                     new SqlParameter("@Active", SqlDbType.Bit) {Value = true},
                 };
                cmd.Parameters.AddRange(prm.ToArray());
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }
            catch (Exception e)
            {
                Response.Write("<script>alert('Failed to submit. Check that your data is the appropriate length and format.');</script>");
            }

            var stratgoals = db.StrategicGoals;
            SelectList goals = new SelectList(stratgoals, "Id", "Goals");
            ViewBag.Goals = goals;
            SelectList active = new SelectList(stratgoals, "Id", "Active");
            ViewBag.Active = active;
            var stratpillars = db.StrategicPillars;
            SelectList pillars = new SelectList(stratpillars, "Id", "StrategicPillar1");
            ViewBag.Pillars = pillars;
            var stratpillarsId = db.StrategicGoals;
            SelectList pillarsid = new SelectList(stratpillarsId, "Id", "StrategicPillarId");
            ViewBag.PillarsId = pillarsid;
            return PartialView("ReturnGoals");
        }
Пример #31
0
        /// <summary>
        /// Delete all records that match a where condition
        /// </summary>
        public static void  Delete <T>(this IQueryable <T> query, QueryOptimizer optimizer, string connectionString)
            where T : Gravitybox.GeoLocation.EFDAL.IBusinessObject, new()
        {
            if (optimizer == null)
            {
                optimizer = new QueryOptimizer();
            }
            if (query == null)
            {
                throw new Exception("Query must be set");
            }

            //There is nothing to do
            if (query.ToString().Replace("\r", string.Empty).Split(new char[] { '\n' }).LastOrDefault().Trim() == "WHERE 1 = 0")
            {
                return;
            }

            var instanceKey = Guid.Empty;

            System.Data.Entity.Core.Objects.ObjectContext objectContext = null;
            try
            {
                var propContext = query.Provider.GetType().GetProperty("InternalContext");
                if (propContext != null)
                {
                    var context = propContext.GetValue(query.Provider);
                    if (context != null)
                    {
                        var oc = context.GetType().GetProperty("ObjectContext").GetValue(context) as System.Data.Entity.Core.Objects.ObjectContext;
                        objectContext = oc as System.Data.Entity.Core.Objects.ObjectContext;
                        instanceKey   = ((IContext)context.GetType().GetProperty("Owner").GetValue(context)).InstanceKey;
                        if (string.IsNullOrEmpty(connectionString))
                        {
                            var propCs = context.GetType().GetProperty("OriginalConnectionString");
                            if (propCs != null)
                            {
                                connectionString = (string)propCs.GetValue(context);
                            }
                        }
                    }
                }

                if (instanceKey == Guid.Empty)
                {
                    var context2 = query.Provider.GetType().GetField("_context", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
                    if (context2 != null)
                    {
                        var context = context2.GetValue(query.Provider);
                        objectContext = context as System.Data.Entity.Core.Objects.ObjectContext;
                        var qq = objectContext.InterceptionContext.DbContexts.First() as Gravitybox.GeoLocation.EFDAL.IGeoLocationEntities;
                        if (qq != null)
                        {
                            instanceKey = qq.InstanceKey;
                        }
                        if (string.IsNullOrEmpty(connectionString))
                        {
                            connectionString = Util.StripEFCS2Normal(objectContext.Connection.ConnectionString);
                        }
                    }
                }

                if (instanceKey == Guid.Empty)
                {
                    throw new Exception("Unknown context");
                }

                if (string.IsNullOrEmpty(connectionString))
                {
                    var propContext2 = query.GetType().GetProperty("Context");
                    if (propContext2 != null)
                    {
                        var context = propContext2.GetValue(query) as System.Data.Entity.Core.Objects.ObjectContext;
                        if (context != null)
                        {
                            var builder = new System.Data.Entity.Core.EntityClient.EntityConnectionStringBuilder(context.Connection.ConnectionString);
                            if (!string.IsNullOrWhiteSpace(builder.ProviderConnectionString))
                            {
                                objectContext    = context;
                                connectionString = builder.ProviderConnectionString;
                            }
                        }
                    }
                }
            }
            catch { }

            System.Data.Entity.Core.Objects.ObjectParameterCollection existingParams = null;
            {
                var objectQuery = query as System.Data.Entity.Core.Objects.ObjectQuery <T>;
                if (objectQuery == null)
                {
                    var internalQueryField = query.GetType().GetProperty("InternalQuery", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(query);
                    if (internalQueryField != null)
                    {
                        objectQuery = internalQueryField.GetType().GetProperty("ObjectQuery").GetValue(internalQueryField) as System.Data.Entity.Core.Objects.ObjectQuery <T>;
                    }
                }

                if (objectQuery != null)
                {
                    var ss2 = objectQuery.ToTraceString();             //DO NOT REMOVE! must call this to init params
                    existingParams = objectQuery.GetType().GetProperty("Parameters").GetValue(objectQuery) as System.Data.Entity.Core.Objects.ObjectParameterCollection;
                }
            }

            var sb = new System.Text.StringBuilder();

            #region Per table code
            if (typeof(T) == typeof(Gravitybox.GeoLocation.EFDAL.Entity.CanadaPostalCode))
            {
                sb.AppendLine("set rowcount " + optimizer.ChunkSize + ";");
                sb.AppendLine("delete [X] from [dbo].[CanadaPostalCode] [X] inner join (");
                sb.AppendLine(((IQueryable <Gravitybox.GeoLocation.EFDAL.Entity.CanadaPostalCode>)query).Select(x => new { x.RowId }).ToString());
                sb.AppendLine(") AS [Extent2]");
                sb.AppendLine("on [X].[RowId] = [Extent2].[RowId]");
                sb.AppendLine("select @@ROWCOUNT");
            }
            else if (typeof(T) == typeof(Gravitybox.GeoLocation.EFDAL.Entity.City))
            {
                sb.AppendLine("set rowcount " + optimizer.ChunkSize + ";");
                sb.AppendLine("delete [X] from [dbo].[City] [X] inner join (");
                sb.AppendLine(((IQueryable <Gravitybox.GeoLocation.EFDAL.Entity.City>)query).Select(x => new { x.CityId }).ToString());
                sb.AppendLine(") AS [Extent2]");
                sb.AppendLine("on [X].[CityId] = [Extent2].[CityId]");
                sb.AppendLine("select @@ROWCOUNT");
            }
            else if (typeof(T) == typeof(Gravitybox.GeoLocation.EFDAL.Entity.State))
            {
                sb.AppendLine("set rowcount " + optimizer.ChunkSize + ";");
                sb.AppendLine("delete [X] from [dbo].[State] [X] inner join (");
                sb.AppendLine(((IQueryable <Gravitybox.GeoLocation.EFDAL.Entity.State>)query).Select(x => new { x.StateId }).ToString());
                sb.AppendLine(") AS [Extent2]");
                sb.AppendLine("on [X].[StateId] = [Extent2].[StateId]");
                sb.AppendLine("select @@ROWCOUNT");
            }
            else if (typeof(T) == typeof(Gravitybox.GeoLocation.EFDAL.Entity.Zip))
            {
                sb.AppendLine("set rowcount " + optimizer.ChunkSize + ";");
                sb.AppendLine("delete [X] from [dbo].[Zip] [X] inner join (");
                sb.AppendLine(((IQueryable <Gravitybox.GeoLocation.EFDAL.Entity.Zip>)query).Select(x => new { x.ZipId }).ToString());
                sb.AppendLine(") AS [Extent2]");
                sb.AppendLine("on [X].[ZipId] = [Extent2].[ZipId]");
                sb.AppendLine("select @@ROWCOUNT");
            }
            else
            {
                throw new Exception("Entity type not found");
            }
            #endregion
            if (string.IsNullOrEmpty(connectionString))
            {
                connectionString = GeoLocationEntities.GetConnectionString();
            }

            var newParams = new List <System.Data.SqlClient.SqlParameter>();
            if (existingParams != null)
            {
                foreach (var ep in existingParams)
                {
                    newParams.Add(new System.Data.SqlClient.SqlParameter {
                        ParameterName = ep.Name, Value = (ep.Value == null ? System.DBNull.Value : ep.Value)
                    });
                }
            }
            QueryPreCache.AddDelete(instanceKey, sb.ToString(), newParams, optimizer);
        }