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)); }
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); }
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)); }
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); }
public DataControler() { #if (!DEBUG) db = new DatabaseDB("R_Database"); db1 = new Database1DB("R_Database1"); #else db = new DatabaseDB("Database"); db1 = new Database1DB("Database1"); #endif }
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); }
public IHttpActionResult GetDatabase(int id) { DatabaseDB databaseDB = service.GetDatabase(id); if (databaseDB == null) { return(NotFound()); } FillPermissions(databaseDB, this.GetJWTIdentity()); return(Ok(databaseDB)); }
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); }
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(); }
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; } } } } } }
/*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); }
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); }
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(); }
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); }
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); }