public async Task <ActionResult> CreateAccount(Account account)
        {
            // TODO: Add insert logic here
            try
            {
                connStr = ConfigurationManager.ConnectionStrings["ParkingManagementConnection"].ConnectionString;
                if (ModelState.IsValid)
                {
                    int RowID = new DBManagement().createAccountInDB(account, connStr);
                    if (RowID > 0)
                    {
                        string callbackUrl = await SendEmailConfirmationTokenAsync(RowID, "Account confirmation");

                        return(View("ShowMsg"));
                    }
                    ViewBag.errorMessage = "Faild to create record";
                }

                return(View("Create"));
            }
            catch (Exception ex)
            {
                ViewBag.errorMessage = ex.Message;
                return(View("Create"));
            }
        }
예제 #2
0
 public int ValidateCredentials(UserModel user)
 {
     try
     {
         var  db_conection   = new DBManagement();
         bool access_granted = false;
         if (db_conection.ExistUser(user.UserName))
         {
             access_granted = db_conection.ValidateCredentials(user.UserName, user.Password);
             if (access_granted)
             {
                 return(1);
             }
             else
             {
                 return(0);
             }
         }
         return(2);
     }
     catch (Exception)
     {
         return(0);
     }
 }
예제 #3
0
        /// <summary>
        /// Importa los Companions de la base de datos a un archivo de texto.
        /// También los muestra en el log del RichTextBox richTxtDB.
        /// </summary>
        private void btnDBImport_Click(object sender, EventArgs e)
        {
            Dictionary <string, string> dictCompanions = DBManagement.ImportFromDB();
            StringBuilder sb = new StringBuilder();
            string        textoArchivo;

            if (dictCompanions.Count > 0)
            {
                using (StreamWriter sw = new StreamWriter("Archivos\\listado_companions_desde_db.txt", true, Encoding.UTF8))
                {
                    sw.WriteLine($"{dictCompanions.Count} Companion/s importados desde la BD -- {this.lblHora.Text}\n");
                    foreach (var item in dictCompanions)
                    {
                        sw.WriteLine($"{item.Key.ToString()} --- Fecha creación: {item.Value.ToString()}");
                    }
                    sw.Write("==============================\n\n");
                }
                using (StreamReader sr = new StreamReader("Archivos\\listado_companions_desde_db.txt"))
                {
                    textoArchivo = sr.ReadToEnd();
                }
                this.richTxtDB.Text += textoArchivo;
                MessageBox.Show($"Companions de la DB importados con éxito.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("No hay ningún Companion en la BD para importar.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
예제 #4
0
        static void ScanIntoDB(string folderPath)
        {
            Console.WriteLine("Welcome to FIFA Statalyzer.");
            Console.WriteLine("Processing screenshots located in " + folderPath);
            string[]         fileList     = Directory.GetFiles(folderPath, "*.png");
            SQLiteConnection dbConnection = DBManagement.InitializeDB();

            foreach (string file in fileList)
            {
                string processedFile = ImageProcessing.ProcessScreenshot(file);
                Dictionary <string, int> statsDict = new Dictionary <string, int>();
                string[] legend    = File.ReadAllLines(@".\cfg\legend.txt");
                string   ocrResult = (OCR.ReadImage(processedFile));
                string   ocrClean  = OCR.CleanUp(ocrResult);
                string[] ocrValues = ocrClean.Split(' ');
                for (int i = 0; i < ocrValues.Length; i++)
                {
                    statsDict.Add(legend[i], (int.Parse(ocrValues[i])));
                }
                int result = 0;
                statsDict.TryGetValue("hGoals", out int hGoals);
                statsDict.TryGetValue("aGoals", out int aGoals);
                if (hGoals == aGoals)
                {
                    result = 0;
                }                                     // Draw
                else if (hGoals > aGoals)
                {
                    result = 1;
                }                                         // Home win
                else if (hGoals < aGoals)
                {
                    result = 2;
                }                                         // Away win
                statsDict.Add("result", result);
                Console.WriteLine("Inserting these values into DB:");
                foreach (var pair in statsDict)
                {
                    Console.WriteLine("{0}: {1}", pair.Key, pair.Value);
                }
                StringBuilder commandBuilder = new StringBuilder("insert into fifa(");
                foreach (var pair in statsDict)
                {
                    commandBuilder.Append(pair.Key + ", ");
                }
                commandBuilder.Length -= 2;
                commandBuilder.Append(") values (");
                foreach (var pair in statsDict)
                {
                    commandBuilder.Append(pair.Value + ", ");
                }
                commandBuilder.Length -= 2;
                commandBuilder.Append(");");
                string sqlCommand = commandBuilder.ToString();
                DBManagement.ExecuteNonQuery(sqlCommand, dbConnection);
                Console.WriteLine("Results inserted.");
            }
            dbConnection.Close();
            Console.WriteLine("All images processed.");
        }
예제 #5
0
        public ActionResult ConfirmReservation(Reserve reserve)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("LogIn", "Account"));
            }
            else
            {
                CheckOutViewModel ck = new CheckOutViewModel();
                try
                {
                    string          conStr    = ConfigurationManager.ConnectionStrings["ParkingManagementConnection"].ConnectionString;
                    string          userEmail = getEmail();
                    DBManagement    db        = new DBManagement();
                    Account         acc       = db.getUserInfo(userEmail, conStr);
                    CustomerAddress address   = db.getCustomerAdress(acc.ID, conStr);
                    Vehicle         vehicle   = db.getVehicle(acc.ID, conStr);

                    ck.Acc     = acc;
                    ck.Address = address;
                    ck.vehicle = vehicle;
                    ck.reserve = reserve;
                }
                catch (Exception e)
                {
                    ViewBag.errorMessage = "could't reserve parking error in system," + e.Message;
                    return(View("ReserveView", reserve));
                }
                return(View("CheckOutView", ck));
            }
        }
예제 #6
0
        static void Main(string[] args)
        {
#if DEBUG
            args = new[] { @"C:\test\active" };
#endif

            // default path if none is specified
            if (args == null || args.Length == 0)
            {
                args = new[] { @".\images\" };
            }
            if (args[0] == "dump" || args[0] == "DUMP")
            {
                DBManagement.DumpToText(DBManagement.InitializeDB());
            }
            else if (args[0] == "clear" || args[0] == "CLEAR")
            {
                DBManagement.ClearDB(DBManagement.InitializeDB());
            }
            else if (args[0] == "process" || args[0] == "PROCESS")
            {
                ImageProcessing.ProcessScreenshot(@"C:\test\img\img.png");
            }
            else
            {
                ScanIntoDB(args[0]);
            }
            DBManagement.DumpToText(DBManagement.InitializeDB());
            DBManagement.ClearDB(DBManagement.InitializeDB());
            Console.WriteLine("All done! Thanks for using Fifa Statalyzer! Press Enter to exit.");
            Console.ReadLine();
        }
 public IEnumerable <FileModel> GetFilesForDownload(List <string> users)
 {
     try
     {
         var db_conection = new DBManagement();
         return(db_conection.GetFilesForDownload(users[0], users[1]));
     }
     catch (Exception)
     {
         return(null);
     }
 }
예제 #8
0
 public IEnumerable <string> GetUsers(UserModel user_logged)
 {
     try
     {
         var db_conection = new DBManagement();
         return(db_conection.GetUsersID(user_logged.UserName));
     }
     catch (Exception)
     {
         return(null);
     }
 }
예제 #9
0
 public IEnumerable <MessageModel> SearchWord(List <string> values)
 {
     try
     {
         var db_conection = new DBManagement();
         return(db_conection.SearchMessages(values));
     }
     catch (Exception)
     {
         return(null);
     }
 }
예제 #10
0
 public IEnumerable <MessageModel> GetMessages(List <string> users)
 {
     try
     {
         var db_conection = new DBManagement();
         return(db_conection.GetMessages(users[0], users[1]));
     }
     catch (Exception)
     {
         return(null);
     }
 }
예제 #11
0
 public static int AffectData(string TSQL, IDbConnection myConn, IDbTransaction myTrans, DBManagement dbtyp, List<IDbDataParameter> myParams)
 {
     switch (dbtyp)
     {
         case DBManagement.Access:
             return clsDalOLE.AffectData(TSQL, myConn, myTrans, myParams);
         case DBManagement.Oracle:
            // return clsDalORACLE.AffectData(TSQL, myConn, myTrans, myParams);
         default:
             return clsDalADO.AffectData(TSQL, myConn, myTrans, myParams);
     }
 }
        public ActionResult LogIn(LoginModel creds)
        {
            connStr = ConfigurationManager.ConnectionStrings["ParkingManagementConnection"].ConnectionString;
            try
            {
                if (ModelState.IsValid)
                {
                    DBManagement db  = new DBManagement();
                    Account      acc = db.authenticateUser(creds, connStr);
                    if (acc != null)
                    {
                        var ident = new ClaimsIdentity(
                            new[] {
                            // adding following 2 claim just for supporting default antiforgery provider
                            new Claim(ClaimTypes.NameIdentifier, acc.Email),
                            new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity", "http://www.w3.org/2001/XMLSchema#string"),

                            new Claim(ClaimTypes.Name, acc.FirstName),
                            new Claim(ClaimTypes.Email, acc.Email),
                            // optionally you could add roles if any
                            new Claim(ClaimTypes.Role, acc.accType)
                        },
                            DefaultAuthenticationTypes.ApplicationCookie);

                        HttpContext.GetOwinContext().Authentication.SignIn(
                            new AuthenticationProperties {
                            IsPersistent = false
                        }, ident);
                        var claimsPrincipal = new ClaimsPrincipal(ident);
                        // Set current principal
                        Thread.CurrentPrincipal = claimsPrincipal;
                        if (acc.accType == "admin")
                        {
                            return(RedirectToAction("index", "home"));
                            //return View("AdminView");
                        }
                        else
                        {
                            return(View("Index", acc));
                        }
                    }
                }
                ViewBag.errorMessage = "Account match Does not exist";
                return(LogIn());
            }
            catch (Exception ex)
            {
                ViewBag.errorMessage = ex.Message;
                return(LogIn());
            }
        }
        public FileModel GetFileForDownload(FileModel fileModel)
        {
            string registerName = fileModel.RegisterFileName;

            try
            {
                var db_conection = new DBManagement();
                return(db_conection.GetFileForDownload(registerName));
            }
            catch (Exception)
            {
                return(null);
            }
        }
예제 #14
0
 public static IDbConnection getConnection(string connString, DBManagement dbtyp)
 {
     switch (dbtyp)
     {
         case DBManagement.Access:
             return getConnOLE(connString);
         case DBManagement.Oracle:
             return getConnOracle(connString);
         default:
             return getConnADO(connString);
         //default:
         //    return getConnSQLite(connString);
     }
 }
예제 #15
0
 public static string SelectField(string FieldName, ProType typ, DBManagement DBMan)
 {
     if (typ == ProType.VNDATESTRING)
     {
         switch (DBMan)
         {
             case DBManagement.Access:
                 return string.Format("Format$({0},'dd/MM/yyyy') AS {0}", FieldName);
             default:
                 return string.Format("Convert(varchar, {0}, 103) AS {0}", FieldName);
         }
     }
     else
         return FieldName;
 }
예제 #16
0
 public int SaveMessage(MessageModel message)
 {
     try
     {
         var db_conection = new DBManagement();
         if (db_conection.SaveMessage(message))
         {
             return(1);
         }
         return(0);
     }
     catch (Exception)
     {
         return(0);
     }
 }
 public int EditFile(FileModel file)
 {
     try
     {
         var db_conection = new DBManagement();
         if (db_conection.EditFile(file))
         {
             return(1);
         }
         return(0);
     }
     catch (Exception)
     {
         return(0);
     }
 }
예제 #18
0
 public static string IsDBNULL(object source, ProType typ, DBManagement DBMan)
 {
     if (source != null && !string.IsNullOrEmpty(source.ToString()))
     {
         if (typ == ProType.DATETIME || source is DateTime || source is DateTime?)
         {
             if (DBMan == DBManagement.Oracle)
             {
                 return clsAll.Date2Oracle((DateTime)source);
             }
             else
             {
                 return clsAll.Date2SQL((DateTime)source);
             }
         }
         else
         {
             switch (typ)
             {
                 case ProType.STRING:
                     if (DBMan == DBManagement.Access || DBMan == DBManagement.Oracle)
                         return string.Format("'{0}'", source);
                     else
                         return string.Format("N'{0}'", source);
                 case ProType.USDATESTRING:
                     return clsAll.DateEN2SQL(source.ToString());
                 case ProType.VNDATESTRING:
                     return clsAll.DateVN2SQL(source.ToString());
                 case ProType.BOOL:
                     if (DBMan == DBManagement.Access)
                         return clsAll.ConvertToBool(source.ToString()).ToString();
                     else
                         return clsAll.ConvertToBit(source.ToString()).ToString();
                 default:
                     if (!string.IsNullOrEmpty(source.ToString()))
                         return string.Format("{0:0.###############}", source);
                     else
                         return "NULL";
             }
         }
     }
     else
     {
         return "NULL";
     }
 }
 public FileModel SaveFile(FileModel file)
 {
     try
     {
         var db_conection = new DBManagement();
         if (db_conection.SaveFile(file))
         {
             var test = file.Id;
             return(file);
         }
         return(null);
     }
     catch (Exception)
     {
         return(null);
     }
 }
예제 #20
0
 public int CreateUser(UserModel user)
 {
     try
     {
         var db_conection = new DBManagement();
         if (!db_conection.ExistUser(user.UserName))
         {
             if (db_conection.InsertUser(user))
             {
                 return(1);
             }
         }
         return(0);
     }
     catch (Exception)
     {
         return(0);
     }
 }
예제 #21
0
        /// <summary>
        /// Exporta los Companions a la base de datos.
        /// Muestra un mensaje en el log del RichTextBox richTxtDB.
        /// </summary>
        private void btnDBExport_Click(object sender, EventArgs e)
        {
            int           filasAgregadas = DBManagement.ExportToDB(Factory.ListaCompanions);
            StringBuilder sb             = new StringBuilder();

            if (filasAgregadas > 0)
            {
                sb.AppendLine($"{filasAgregadas} Companion/s exportado/s a la BD.\n");
                foreach (Companion item in Factory.ListaCompanions)
                {
                    sb.AppendLine($"{item.Nombre} --- Fecha exportación: {DateTime.Now}");
                }
                sb.AppendLine("==============================\n\n");
                this.richTxtDB.Text += sb.ToString();
                MessageBox.Show($"{filasAgregadas} Companion/s agregado/s a la BD.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("No hay ningún Companion para exportar a la BD.", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        // Ablak bezár, Windows Close / Program Close
        private void Kilepes_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (MessageBox.Show("Biztosan be akarja zárni az alkalmazást?", "Bezárás", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
                {
                    if (Model.StaticData.ServerStatus == true)
                    {
                        DBManagement.KapcsolatBontas();
                    }
                    else
                    {
                        Model.StaticData.XMLSave();
                    }

                    this.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Hiba");
            }
        }
예제 #23
0
        async public Task sendSync(int destinationID, string subject, string body, string connStr)
        {
            DBManagement DB = new DBManagement();
            string       destinationEmail = DB.getEmailOfID(destinationID, connStr);

            MailMessage email = new MailMessage(new MailAddress("*****@*****.**", "(do not reply)"),
                                                new MailAddress(destinationEmail));

            email.Subject = subject;
            email.Body    = body;
            using (var mailClient = new WebApplication4.Utility.EmailService())
            {
                try
                {
                    await mailClient.SendMailAsync(email);
                }
                catch (Exception ex)
                {
                    Console.Write(ex.Message);
                    throw new Exception(ex.Message);
                }
            }
        }
예제 #24
0
 public static object ToDBParam(object source, ProType typ, DBManagement DBMan)
 {
     if (source != null && !string.IsNullOrEmpty(source.ToString()))
     {
         //TuyenHM su dung parameter nen ko can convert nua
         //if (typ == ProType.DATETIME || source is DateTime || source is DateTime?)
         //{
         //    return clsAll.Date2SQL((DateTime)source);
         //}
         //else
         //{
             switch (typ)
             {
                 case ProType.STRING:
                     return source;
                 case ProType.USDATESTRING:
                     DateTime? dtUS = clsAll.StringUSToDate(source.ToString());
                     if (dtUS == null)
                         return DBNull.Value;
                     else
                         return dtUS;
                 case ProType.VNDATESTRING:
                     DateTime? dtVN = clsAll.StringVNToDate(source.ToString());
                     if (dtVN == null)
                         return DBNull.Value;
                     else
                         return dtVN;
                 case ProType.DATETIME:
                     return (DateTime)source;
                 case ProType.BOOL:
                     if (DBMan == DBManagement.Access)
                         return clsAll.ConvertToBool(source.ToString());
                     else
                         return clsAll.ConvertToBit(source.ToString());
                 case ProType.NUMBER:
                 //TuyenHM
                 //return string.Format("{0:0.###############}", source);
                     return source;
                 default:
                     return source;
             }
         //}
     }
     else
     {
         return DBNull.Value;
     }
 }
예제 #25
0
 public static int AffectData(string TSQL, IDbConnection myConn, DBManagement dbtyp)
 {
     return AffectData(TSQL, myConn, null, dbtyp);
 }
예제 #26
0
 public static DataTable GetTableSchema(string tableName, IDbConnection myConn, IDbTransaction myTrans, DBManagement dbtyp)
 {
     switch (dbtyp)
     {
         case DBManagement.Access:
             return clsDalOLE.GetTableSchema(tableName, myConn);
         default:
             return clsDalADO.GetTableSchema(tableName, myConn);
     }
 }
예제 #27
0
 public static int AffectData(string TSQL, DBManagement dbtyp)
 {
     return AffectData(TSQL, null, dbtyp);
 }
예제 #28
0
 public static IDbDataParameter CreateParameter(string parameterName, string type, int size, object value, ParameterDirection direction, DBManagement dbtyp)
 {
     switch (dbtyp)
     {
         case DBManagement.Access:
             return clsDalOLE.CreateParameter(parameterName, type, size, value, direction);
         case DBManagement.Oracle:
             //return clsDalORACLE.CreateParameter(parameterName, type, size, value, direction);
         default:
             return clsDalADO.CreateParameter(parameterName, type, size, value, direction);
     }
 }
예제 #29
0
 public static DataTable GetTableSchema(string tableName, IDbConnection myConn, DBManagement dbtyp)
 {
     return GetTableSchema(tableName, myConn, null, dbtyp);
 }
예제 #30
0
 public static string GetFValue(string TSQL, IDbConnection myConn, DBManagement dbtyp)
 {
     return GetFValue(TSQL, myConn, null, dbtyp);
 }
예제 #31
0
 public static bool CheckExist(string TSQL, DBManagement dbtyp)
 {
     //Hàm checkexist này còn dùng cho cả đối với trường hợp check duplicate
     //Nếu là duplicate sẽ có dạng: SELECT COUNT(*) FROM TABLE WHERE ID=@ID AND xID<>@xID
     //Nếu là exist sẽ có dạng: SELECT COUNT(*) FROM TABLE WHERE ID=@ID
     return CheckExist(TSQL, null, dbtyp);
 }
예제 #32
0
 public static bool CheckExist(string TSQL, IDbConnection myConn, IDbTransaction myTrans, DBManagement dbtyp)
 {
     //Hàm checkexist này còn dùng cho cả đối với trường hợp check duplicate
     //Nếu là duplicate sẽ có dạng: SELECT COUNT(*) FROM TABLE WHERE ID=@ID AND xID<>@xID
     //Nếu là exist sẽ có dạng: SELECT COUNT(*) FROM TABLE WHERE ID=@ID
     DataSet myDS = GetDataSet(TSQL, myConn, myTrans, dbtyp);
     if ((int)myDS.Tables[0].Rows[0][0] == 0)
     {
         return false;
     }
     else
     {
         return true;
     }
 }
예제 #33
0
 public static string GetFValue(string TSQL, DBManagement dbtyp)
 {
     return GetFValue(TSQL, null, dbtyp);
 }
예제 #34
0
 public static DataSet GetDataSet(string TSQL, DBManagement dbtyp)
 {
     return GetDataSet(TSQL, null, dbtyp);
 }
예제 #35
0
 public static IDataReader GetDataReader(string TSQL, SqlConnection myConn, DBManagement dbtyp)
 {
     switch (dbtyp)
     {
         case DBManagement.Access:
             return clsDalOLE.GetDataReader(TSQL, myConn);
         case DBManagement.Oracle:
            // return clsDalORACLE.GetDataReader(TSQL, myConn);
         default:
             return clsDalADO.GetDataReader(TSQL, myConn);
     }
 }
예제 #36
0
 public static string DeleteString(string TableName, DBManagement DBMan)
 {
     switch (DBMan)
     {
         case DBManagement.Access:
             return string.Format("DELETE * FROM {0}", TableName);
         default:
             return string.Format("DELETE FROM {0}", TableName);
     }
 }
예제 #37
0
 public static int AffectData(string TSQL, IDbConnection myConn, IDbTransaction myTrans, DBManagement dbtyp)
 {
     return AffectData(TSQL, myConn, myTrans, dbtyp, null);
 }
예제 #38
0
 public static string GetFValue(string TSQL, IDbConnection myConn, IDbTransaction myTrans, DBManagement dbtyp)
 {
     switch (dbtyp)
     {
         case DBManagement.Access:
             return clsDalOLE.GetFValue(TSQL, myConn, myTrans);
         case DBManagement.Oracle:
             //return clsDalORACLE.GetFValue(TSQL, myConn, myTrans);
         default:
             return clsDalADO.GetFValue(TSQL, myConn, myTrans);
     }
 }
예제 #39
0
 public static IDbDataParameter CreateParameter(string parameterName, string type, object value, DBManagement dbtyp)
 {
     switch (dbtyp)
     {
         case DBManagement.Access:
             return clsDalOLE.CreateParameter(parameterName, type, value);
         default:
             return clsDalADO.CreateParameter(parameterName, type, value);
     }
 }
예제 #40
0
 public static DataTable GetTableSchema(string tableName, DBManagement dbtyp)
 {
     return GetTableSchema(tableName, null, dbtyp);
 }
예제 #41
0
 public static DataSet GetDataSet(string TSQL, IDbConnection myConn, DBManagement dbtyp)
 {
     return GetDataSet(TSQL, myConn, null, dbtyp);
 }
예제 #42
0
        public static string ConvertFuntion(DBManagement toDB, string func)
        {
            switch (toDB)
            {
                case DBManagement.SQL:
                    return func.Replace("MID(", "SUBSTRING(");
                case DBManagement.Access:
                    return func.Replace("SUBSTRING(", "MID(");
            }

            return func;
        }