Example #1
0
        public IHttpActionResult PostDatabaseDB(DatabaseModel database)
        {
            // Vérification de l'appelant
            IHttpActionResult result = this.SecurityCheckRoleAdminOrOwner(database.UserLogin);

            if (result != null)
            {
                return(result);
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            DatabaseDB databaseDB = service.AddDatabase(database);

            if (databaseDB == null)
            {
                return(Conflict());
            }

            FillPermissions(databaseDB, this.GetJWTIdentity());
            return(CreatedAtRoute("DefaultApi", new { id = databaseDB.Id }, databaseDB));
        }
Example #2
0
        public bool UpdateContributor(GroupUserModel groupUserModel)
        {
            DatabaseGroupUser databaseGroupUser = GetDatabaseGroupUserWithSqlLogin(groupUserModel.SqlLogin, groupUserModel.DbId);

            if (databaseGroupUser == null)
            {
                return(false);
            }

            // Modification du mot de passe sur le serveur
            string serverName = null;

            try
            {
                // Obtention de la base de données
                DatabaseDB databaseDB = GetDatabase(groupUserModel.DbId);
                if (databaseDB == null)
                {
                    return(false);
                }

                // Obtention du serveur
                DatabaseServerName databaseServerName = this.db.DatabaseServerNames.Find(databaseDB.ServerId);
                if (databaseServerName == null)
                {
                    return(false);
                }
                serverName = databaseServerName.Name;

                // Obtention du serveur réel : MySQL, SQL Server, ... avec son adresse IP
                DatabaseManagement management = DatabaseManagement.CreateDatabaseManagement(databaseServerName.Code, databaseServerName.IPLocale, databaseServerName.PortLocal);
                if (management == null)
                {
                    return(false);
                }

                management.UpdateContributor(databaseDB.NomBD, groupUserModel.SqlLogin, groupUserModel.GroupType, groupUserModel.Password);
            }
            catch (Exception ex)
            {
                LogManager.GetLogger().Error(ex);
                throw new DatabaseException(string.Format("Erreur dans l'ajout du contributeur {0} sur le serveur '{1}'", groupUserModel.ToString(), serverName), ex);
            }

            try
            {
                // Maj du type
                databaseGroupUser.GroupType = groupUserModel.GroupType;
                // Modification du contributeur dans le groupe
                db.Entry(databaseGroupUser).State = EntityState.Modified;
                this.db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                LogManager.GetLogger().Error(ex);
                throw new DatabaseException(string.Format("Erreur dans la modification du contributeur {0} dans le référentiel", groupUserModel.ToString()), ex);
            }

            return(true);
        }
Example #3
0
        public IHttpActionResult DeleteDatabaseDB(int id)
        {
            // Vérification de l'appelant
            IHttpActionResult result = this.SecurityCheckRoleAdminOrUser();

            if (result != null)
            {
                return(result);
            }

            // L'appelant doit être un administrateur de la base de données
            if (!service.IsAdministrateur(this.GetJWTIdentity().Name, id))
            {
                return(ResponseMessage(new System.Net.Http.HttpResponseMessage(HttpStatusCode.Forbidden)
                {
                    ReasonPhrase = "Vous n'êtes pas administrateur de la base de données"
                }));
            }

            DatabaseDB databaseDB = service.RemoveDatabase(id);

            if (databaseDB == null)
            {
                return(NotFound());
            }

            return(Ok(databaseDB));
        }
Example #4
0
        public bool UpdateDatabase(int id, DatabaseModel database)
        {
            DatabaseDB databaseDB = GetDatabase(database.Id);

            if (databaseDB == null)
            {
                return(false);
            }

            // Modification des données
            databaseDB.Commentaire = database.Commentaire;

            db.Entry(databaseDB).State = EntityState.Modified;
            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                LogManager.GetLogger().Error(ex);
                throw new Exception(string.Format("Erreur dans la modification de la base de données '{0}' dans le référentiel", database.ToString()));
            }

            return(true);
        }
Example #5
0
        public DataControler()
        {
#if (!DEBUG)
            db  = new DatabaseDB("R_Database");
            db1 = new Database1DB("R_Database1");
#else
            db  = new DatabaseDB("Database");
            db1 = new Database1DB("Database1");
#endif
        }
Example #6
0
        private bool InternalRemoveDatabase(DatabaseDB database)
        {
            string serverName = "Serveur non trouvé";

            try
            {
                // Obtention du serveur
                DatabaseServerName databaseServerName = this.db.DatabaseServerNames.Find(database.ServerId);
                if (databaseServerName == null)
                {
                    return(false);
                }

                // Obtention du serveur réel : MySQL, SQL Server, ... avec son adresse IP
                DatabaseManagement management = DatabaseManagement.CreateDatabaseManagement(databaseServerName.Code, databaseServerName.IPLocale, databaseServerName.PortLocal);
                if (management == null)
                {
                    return(false);
                }

                // et suppression de la base de données sur le serveur de BD
                management.RemoveDatabase(database.NomBD);
            }
            catch (Exception ex)
            {
                LogManager.GetLogger().Error(ex);
                throw new DatabaseException(string.Format("Erreur dans la suppression de la base de données {0} sur le serveur '{1}'", database.ToString(), serverName), ex);
            }

            // Suppression des contributeurs associés
            db.DatabaseGroupUsers.RemoveRange(database.DatabaseGroupUsers);
            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                LogManager.GetLogger().Error(ex);
                throw new Exception(string.Format("Erreur dans la suppression des contributeurs de la base de données '{0}' dans le référentiel", database.ToString()));
            }

            // Suppression de la base de données
            db.DatabaseDBs.Remove(database);
            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                LogManager.GetLogger().Error(ex);
                throw new Exception(string.Format("Erreur dans la suppression de la base de données '{0}' dans le référentiel", database.ToString()));
            }

            return(true);
        }
Example #7
0
        public IHttpActionResult GetDatabase(int id)
        {
            DatabaseDB databaseDB = service.GetDatabase(id);

            if (databaseDB == null)
            {
                return(NotFound());
            }

            FillPermissions(databaseDB, this.GetJWTIdentity());
            return(Ok(databaseDB));
        }
Example #8
0
        public DatabaseDB GetDatabase(int serverId, string nomBD)
        {
            try
            {
                DatabaseDB databaseDB = db.DatabaseDBs.SingleOrDefault(db => db.ServerId == serverId && db.NomBD.Equals(nomBD, StringComparison.InvariantCultureIgnoreCase));
                return(databaseDB);
            }
            catch (Exception)
            {
            }

            return(null);
        }
Example #9
0
        private void SaveTestInfo()
        {
            try
            {
                var db = new DatabaseDB();
                db.Insert <DataModels.TestInfo>(new DataModels.TestInfo
                {
                    TestName = TestInfo.GetInstance().strTestName,
                    Operator = TestInfo.GetInstance().strOperator,
                    Comment  = TestInfo.GetInstance().strComment,
                    Time     = TestInfo.GetInstance().dateTime
                });
                db.CommitTransaction();
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show("保存试验信息失败:" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            historyData.LongitudeInit      = Config.GetInstance().longitudeInit;
            historyData.LatitudeInit       = Config.GetInstance().latitudeInit;
            historyData.HeightInit         = Config.GetInstance().heightInit;
            historyData.AzimuthInit        = Config.GetInstance().azimuthInit;
            historyData.PlacementHeight    = Config.GetInstance().placementHeight;
            historyData.Flightshot         = Config.GetInstance().flightshot;
            historyData.ForwardLine        = Config.GetInstance().forwardLine;
            historyData.BackwardLine       = Config.GetInstance().backwardLine;
            historyData.SideLine           = Config.GetInstance().sideLine;
            historyData.StrMultiCastIpAddr = Config.GetInstance().strRadarMultiCastIpAddr;
            historyData.Port          = Config.GetInstance().radarPort;
            historyData.StationId     = Config.GetInstance().stationId;
            historyData.SpeedError    = Config.GetInstance().speedError;
            historyData.PointError    = Config.GetInstance().pointError;
            historyData.MaxPointCount = Config.GetInstance().maxPointCount;

            try
            {
                using (FileStream fs = new FileStream(TestInfo.GetInstance().strHistoryFile, FileMode.Create))
                {
                    BinaryFormatter formatter = new BinaryFormatter();
                    formatter.Serialize(fs, historyData);
                }
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show("保存历史数据失败:" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            historyData.Clear();
        }
Example #10
0
 private void FillPermissions(DatabaseDB databaseDB, JWTAuthenticationIdentity jwtAuthenticationIdentity)
 {
     if (jwtAuthenticationIdentity == null || string.IsNullOrEmpty(jwtAuthenticationIdentity.Name))
     {
         databaseDB.CanBeDeleted = databaseDB.CanBeUpdated = databaseDB.CanAddGroupUser = false;
         if (databaseDB.DatabaseGroupUsers != null)
         {
             foreach (DatabaseGroupUser user in databaseDB.DatabaseGroupUsers)
             {
                 user.CanBeUpdated = user.CanBeDeleted = false;
             }
         }
     }
     else
     {
         // Si l'utilisateur est administrateur il peut faire toutes les opérations
         int groupType = DatabaseGroupUserPermissions.GetGroupType(databaseDB.DatabaseGroupUsers, jwtAuthenticationIdentity.Name);
         if (groupType == DatabaseGroupUserPermissions.ADMINISTRATEUR)
         {
             databaseDB.CanBeDeleted = databaseDB.CanBeUpdated = databaseDB.CanAddGroupUser = true;
             if (databaseDB.DatabaseGroupUsers != null)
             {
                 foreach (DatabaseGroupUser user in databaseDB.DatabaseGroupUsers)
                 {
                     user.CanBeUpdated = user.CanBeDeleted = true;
                 }
             }
         }
         else
         {
             databaseDB.CanBeDeleted = databaseDB.CanBeUpdated = databaseDB.CanAddGroupUser = false;
             if (databaseDB.DatabaseGroupUsers != null)
             {
                 foreach (DatabaseGroupUser user in databaseDB.DatabaseGroupUsers)
                 {
                     // Si l'utilisateur connecté est l'utilisateur alors il peut faire les actions
                     if (!String.IsNullOrWhiteSpace(user.UserLogin) && user.UserLogin.Equals(jwtAuthenticationIdentity.Name, StringComparison.InvariantCultureIgnoreCase))
                     {
                         user.CanBeUpdated = user.CanBeDeleted = true;
                     }
                     else
                     {
                         user.CanBeUpdated = user.CanBeDeleted = false;
                     }
                 }
             }
         }
     }
 }
Example #11
0
        /*public bool RemoveDatabase(DatabaseDB database)
         * {
         *  if (database == null)
         *  {
         *      return false;
         *  }
         *  // L'objet passé en paramètre est de source inconnue, donc on recharge la base de données
         *  DatabaseDB databaseDB = GetDatabase(database.Id);
         *  if (databaseDB == null)
         *      return false;
         *
         *  return InternalRemoveDatabase(databaseDB);
         * }*/

        public DatabaseDB RemoveDatabase(int id)
        {
            DatabaseDB databaseDB = GetDatabase(id);

            if (databaseDB == null)
            {
                return(null);
            }

            if (InternalRemoveDatabase(databaseDB))
            {
                return(databaseDB);
            }

            return(null);
        }
Example #12
0
        public void TestAddDatabase()
        {
            DatabaseModel database = new DatabaseModel
            {
                ServerId    = UnitTestDatabase.serverId,
                NomBD       = "DBUbunitTest",
                UserLogin   = "******",
                Commentaire = "Depuis les Tests Unitaires"
            };
            DatabaseDB databaseDB = service.AddDatabase(database);

            Assert.IsNotNull(databaseDB);
            Assert.IsTrue(databaseDB.Id > 0);
            Assert.IsNotNull(databaseDB.DateCreation);

            Assert.IsTrue(databaseDB.DatabaseGroupUsers.Count == 1);
        }
Example #13
0
        static void Main(string[] args)
        {
            WriterToHistorical    writerToHistorical    = new WriterToHistorical();
            WriterToDumpingBaffer writerToDumpingBaffer = new WriterToDumpingBaffer();
            Database   database   = new Database();
            DataFromDB data       = new DataFromDB();
            DatabaseDB databaseDB = new DatabaseDB();

            while (true)
            {
                Console.WriteLine("Odaberite 1 ili 2");
                Console.WriteLine("1. Slanje preko Dumping Buffer-a");
                Console.WriteLine("2. Slanje direktno na Historical");

                int broj = Int32.Parse(Console.ReadLine());

                //  database.Create();

                switch (broj)
                {
                case 1:
                    writerToDumpingBaffer.SetDataToDumpingBuffer();
                    data.PackAddData();
                    database.WriteToDatabase();
                    //  databaseDB.WriteToDatabase();
                    break;

                case 2:
                    writerToHistorical.SettingValues();
                    database.WriteToDatabase();
                    break;

                default:
                    Console.WriteLine("Izaberite opciju 1 ili 2!");
                    break;
                }
            }
        }
    protected void gridSupps_DeleteCommand(object source, DataGridCommandEventArgs e)
    {
        int SupID = Convert.ToInt32(e.Item.Cells[0].Text);
        DatabaseDB db = new DatabaseDB();
        try
        {
            db.connectDb();
            SqlCommand cmdDeleteSupplier = new SqlCommand("DeleteSuppliers", db.conn);
            cmdDeleteSupplier.CommandType = CommandType.StoredProcedure;
            cmdDeleteSupplier.Parameters.AddWithValue("@UserId", SupID);

            cmdDeleteSupplier.Parameters.Add("@Result", SqlDbType.Int);
            cmdDeleteSupplier.Parameters["@Result"].Direction = ParameterDirection.Output;

            cmdDeleteSupplier.ExecuteNonQuery();

            if ((int)cmdDeleteSupplier.Parameters["@Result"].Value != 1)
            {
                utils.messagebox(lblmsg, "Kayıt silinemedi.");
            }
        }
        catch (SqlException sqlEx)
        {
            lblmsg.Text = sqlEx.Source + " >> " + sqlEx.Message;
            //throw sqlEx;
        }
        catch(Exception ex)
        {
            lblmsg.Text = ex.Source + " >> " + ex.Message;
        }
        finally
        {
            db.disconnectDb();
        }
        FillSuppliersList();
    }
Example #15
0
        public DatabaseGroupUser AddContributor(string userLogin, GroupUserModel groupUserModel)
        {
            string serverName = null;

            try
            {
                // Obtention de la base de données
                DatabaseDB databaseDB = GetDatabase(groupUserModel.DbId);
                if (databaseDB == null)
                {
                    return(null);
                }

                // Obtention du serveur
                DatabaseServerName databaseServerName = this.db.DatabaseServerNames.Find(databaseDB.ServerId);
                if (databaseServerName == null)
                {
                    return(null);
                }
                serverName = databaseServerName.Name;

                // Obtention du serveur réel : MySQL, SQL Server, ... avec son adresse IP
                DatabaseManagement management = DatabaseManagement.CreateDatabaseManagement(databaseServerName.Code, databaseServerName.IPLocale, databaseServerName.PortLocal);
                if (management == null)
                {
                    return(null);
                }

                management.AddContributor(databaseDB.NomBD, groupUserModel.SqlLogin, groupUserModel.GroupType, groupUserModel.Password);
            }
            catch (Exception ex)
            {
                LogManager.GetLogger().Error(ex);
                throw new DatabaseException(string.Format("Erreur dans l'ajout du contributeur {0} sur le serveur '{1}'", groupUserModel.ToString(), serverName), ex);
            }

            DatabaseGroupUser contributor = new DatabaseGroupUser
            {
                DbId             = groupUserModel.DbId,
                SqlLogin         = groupUserModel.SqlLogin,
                AddedByUserLogin = userLogin,
                GroupType        = groupUserModel.GroupType,
                UserLogin        = groupUserModel.UserLogin,
                UserFullName     = groupUserModel.UserFullName
            };

            try
            {
                // Ajout du contributeur dans le groupe
                this.db.DatabaseGroupUsers.Add(contributor);
                this.db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                LogManager.GetLogger().Error(ex);
                throw new DatabaseException(string.Format("Erreur dans l'ajout du contributeur {0} dans le référentiel", groupUserModel.ToString()), ex);
            }

            // Envoi du mail

            /*
             * if (userLoginSQL != null)
             *  contributor.UserLoginSQL = userLoginSQL;
             *
             *
             *  if (userEpsi != null)
             *  {
             *      contributor.UserEpsiFullName = userEpsi.Nom + " " + userEpsi.Prenom;
             *
             *      // Envoi du mail
             *      if (!string.IsNullOrWhiteSpace(userEpsi.Mail))
             *      {
             *          StringBuilder body = new StringBuilder();
             *          body.AppendFormat("Bonjour, </b><br /><br />Vous avez été ajouté comme contributeur dans la base de données '{0}' par l'utilisateur '{1}'", infos.Name, infos.Createur);
             *          if (accountAdded)
             *          {
             *              body.AppendFormat("<br /><br />Un compte a été créé sur le serveur '{0}' avec un mot de passe aléatoire.<br />", infos.DatabaseServerName.Name);
             *              body.Append("Vous devez vous connecter à <a href='https://ingenium.montpellier.epsi.fr/'>Ingénium</a> pour modifier le mot de passe de ce compte.");
             *          }
             *          body.Append("Connectez-vous à <a href='https://ingenium.montpellier.epsi.fr/'>Ingénium</a> pour voir vos base de données.");
             *          body.Append(@"</b><br /><br />L'administrateur réseau<br />EPSI Montpellier");
             *
             *          SendMail(userEpsi.Mail, "EPSI - Base de données - Ajout de contributeur", body.ToString());
             *      }
             *  }
             * }*/

            return(contributor);

            /*
             * {
             *  Message = message,
             *  Status = status,
             *  UserEpsiFullName = contributor.UserEpsiFullName,
             *  UserId = userId,
             *  LoginSQL = contributor.UserLoginSQL,
             *  GroupType = groupType,
             *  GroupTypeDescription = DatabaseService.GetGroupDescription(groupType)
             * });*/
        }
    private void FillSuppliersList()
    {
        string cmdSQLSupplier = " WHERE 1=1 AND PortalId=@portalID ";
        string startDateTime = Tarih1.SelectedDate.Date.ToString("yyyy-MM-dd") ;
        string endDateTime = tarih2.SelectedDate.Date.ToString("yyyy-MM-dd");

        //string startDateTimeSting = startDateTime.Date.ToString();
        //string endDateTimeSting = endDateTime.Date.ToString();

        if (!String.IsNullOrEmpty(txtName.Text))
        {
            cmdSQLSupplier += " AND Name " + ddlfilter.SelectedValue.Replace("[]", txtName.Text);
        }

        if (!String.IsNullOrEmpty(txtemail.Text))
        {
            cmdSQLSupplier += " AND EMail " + ddlemail.SelectedValue.Replace("[]", txtemail.Text);
        }

        if (ddlStatus.SelectedItem.Value == "1")
        {
            cmdSQLSupplier += " AND IsActive " + "= 'True'";
        }

        if (ddlStatus.SelectedItem.Value == "0")
        {
            cmdSQLSupplier += " AND IsActive " + "='False'";
        }
        if (startDateTime != "0001-01-01" )
        {
            cmdSQLSupplier += " AND CreatedDate >=" + " '" + startDateTime + " 00:00:00'";
        }
        if (endDateTime != "0001-01-01")
        {
            cmdSQLSupplier += " AND CreatedDate <=" + " '" + endDateTime + " 23:59:00'";
        }

        string cmdSQLSupplierNew = "SELECT * FROM GetSupplierUsers " + cmdSQLSupplier;

        DatabaseDB db = new DatabaseDB();
        DataSet ds = new DataSet();

        SqlCommand cmdSuppFill = new SqlCommand(cmdSQLSupplierNew, db.conn);
        cmdSuppFill.Parameters.AddWithValue("@portalID", publicItems.PortalId);
        //cmdSuppFill.Parameters.AddWithValue("@isActive", 1);

        SqlDataAdapter sqlda = new SqlDataAdapter(cmdSuppFill);
        sqlda.Fill(ds);

        ds.Tables[0].DefaultView.Sort = lblSort.Text;

        gridSupps.DataSource = ds.Tables[0].DefaultView;
        gridSupps.DataBind();

        lblTotalRecord.Text = ds.Tables[0].Rows.Count.ToString();
        lblPageCount.Text = gridSupps.PageCount.ToString();
        lblCurrentIndex.Text = Convert.ToString(gridSupps.CurrentPageIndex + 1);
    }
Example #17
0
        public DatabaseDB AddDatabase(DatabaseModel database)
        {
            // Vérification du nom
            if (!RegularExpression.IsCorrectFileName(database.NomBD))
            {
                throw new DatabaseException("Le nom ne doit pas comporter des caractères spéciaux.");
            }

            // Le nom de la base de données doit être unique sur un serveur donné
            if (GetDatabase(database.ServerId, database.NomBD) != null)
            {
                throw new DatabaseException("Le nom de la base de données existe déjà.");
            }

            string             serverName         = "Serveur non trouvé";
            DatabaseServerUser databaseServerUser = null;

            try
            {
                // Obtention du serveur
                DatabaseServerName databaseServerName = this.db.DatabaseServerNames.Find(database.ServerId);
                if (databaseServerName == null)
                {
                    return(null);
                }

                // Obtention du compte utilisateur du serveur
                ServerAccountService serverAccountService = new ServerAccountService(this.ServiceEpsiContext);
                databaseServerUser = serverAccountService.GetAccountByServerLogin(database.ServerId, database.UserLogin);
                if (databaseServerUser == null)
                {
                    return(null);
                }

                // Obtention du serveur réel : MySQL, SQL Server, ... avec son adresse IP
                DatabaseManagement management = DatabaseManagement.CreateDatabaseManagement(databaseServerName.Code, databaseServerName.IPLocale, databaseServerName.PortLocal);
                if (management == null)
                {
                    return(null);
                }

                // et céation de la base de données sur le serveur de BD
                management.CreateDatabase(database.NomBD, databaseServerUser.SqlLogin);
            }
            catch (Exception ex)
            {
                LogManager.GetLogger().Error(ex);
                throw new DatabaseException(string.Format("Erreur dans l'ajout de la base de données {0} sur le serveur '{1}'", database.ToString(), serverName), ex);
            }

            // Ajout de la base de données dans le référentiel
            DatabaseDB databaseDB = new DatabaseDB
            {
                ServerId     = database.ServerId,
                NomBD        = database.NomBD,
                DateCreation = DateTime.Now,
                Commentaire  = database.Commentaire
            };

            db.DatabaseDBs.Add(databaseDB);

            try
            {
                db.SaveChanges();

                // puis du créateur comme contributeur avec tous les droits
                DatabaseGroupUser databaseGroupUser = new DatabaseGroupUser
                {
                    DbId             = databaseDB.Id,
                    UserLogin        = databaseServerUser.UserLogin,
                    UserFullName     = database.UserFullName,
                    SqlLogin         = databaseServerUser.SqlLogin,
                    GroupType        = DatabaseValues.ADMINISTRATEUR,
                    AddedByUserLogin = databaseServerUser.UserLogin
                };
                db.DatabaseGroupUsers.Add(databaseGroupUser);
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                if (!Exists(databaseDB.ServerId))
                {
                    return(null);
                }
                else
                {
                    LogManager.GetLogger().Error(ex);
                    throw new DatabaseException(string.Format("Erreur dans l'ajout de la base de données dans le référentiel", database.ToString()), ex);
                }
            }

            // Enregistrement dans les logs
            WriteLogs("BDD Création - " + string.Format("L'utilisateur '<b>{0}</b>' a créé la bdd '{1}' de type '{2}'", database.UserLogin, database.NomBD, database.ServerId));
            return(databaseDB);
        }