public bool CheckRequestsAndCommitChanges(BasicNodeViewModel fromForm, DatabaseRequest fromDatabase) { bool result = true; //try //{ DatabaseDriver systemDriver = new DatabaseDriver(); if (fromDatabase.RequestType == DatabaseRequestType.Create) { systemDriver.AddNode(fromForm.ToModel()); } else if (fromDatabase.RequestType == DatabaseRequestType.Update) { systemDriver.UpdateNode(fromForm.ToModel()); } else if (fromDatabase.RequestType == DatabaseRequestType.Delete) { systemDriver.DeleteNode(fromForm.Id); } //} //catch //{ // result = false; //} return(result); }
private static void PerformPing() { string connectionString = AppSettings.GetString("AgentTemplateDbConnectionString"); int commandTimeoutSeconds = AppSettings.GetInt32("AgentTemplateDbCommandTimeoutSeconds", 30); DatabaseConnection dbc = new DatabaseConnection(connectionString, commandTimeoutSeconds); AssemblyName exe = Assembly.GetExecutingAssembly().GetName(); Console.WriteLine(exe.Name + ", Version=" + exe.Version); Console.WriteLine("Database Connection String: " + dbc.ConnectionString); Console.WriteLine("Ping:"); try { using (DatabaseRequest db = new DatabaseRequest(dbc, "PingGetDatabaseInfo")) { using (SqlDataReader reader = db.ExecuteSingleReader()) { if (reader.Read()) { Console.WriteLine(" Timestamp: " + reader.GetDateTime(0).ToString()); Console.WriteLine(" Server Instance: " + reader.GetString(1)); Console.WriteLine(" Version: " + reader.GetString(2)); Console.WriteLine(" Edition: " + reader.GetString(3)); Console.WriteLine(" Database: " + reader.GetString(4)); Console.WriteLine(" User: "******" <no data returned>"); } } } } catch (Exception ex) { Console.WriteLine("Ping failed." + Environment.NewLine + ex.ToString()); } }
public async Task <IEnumerable <string> > GetAllTables( DatabaseRequest request) { if (!request.IsConnectionOk) { return(new List <string>()); } try { return(await WithConnectionAsync( async connection => { var sql = @"SELECT name AS Name FROM sysobjects WITH (NOLOCK) WHERE xtype = 'U' ORDER BY name"; return await connection.QueryAsync <string>(sql); }, request.ConnectionString)); } catch { return(new List <string>()); } }
private void CreateDatabaseRequest(BasicNodeViewModel model, DatabaseRequestType type) { // Check the relationships foreach (RelationshipViewModel rel in model.Relationships) { // If the referenced node does not have an id, if (!rel.TargetId.HasValue) { // Give the referenced node an id rel.TargetId = Guid.NewGuid(); // Set the value of IsNewAddition to true rel.IsNewAddition = true; } } using (ApplicationDbContext context = ApplicationDbContext.Create()) { // Get the user that submitted the request ApplicationUser submitter = context.Users.Single(x => x.UserName == User.Identity.Name); // Create the request DatabaseRequest request = new DatabaseRequest { RequestType = type, Id = Guid.NewGuid(), SubmissionDate = DateTime.Now, Submitter = submitter, NodeDataType = model.ContentType, NodeData = model.SerializeToContentType(), }; // Add the request to the database context.Requests.Add(request); context.SaveChanges(); } }
public static async Task <HttpResponseMessage> SendDatabaseRequest(DatabaseRequest requestType, HttpRequestType type, HttpContent httpContent, Boolean auth, Boolean displayErrors) { client = new HttpClient(); client.BaseAddress = GetUri(requestType); //add authentication to the request, this won't be done for a login/signup request, but is done for any other request if (auth) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Token", UserInfo.DatabaseInfo.token); } //then send the request HttpResponseMessage response; switch (type) { case HttpRequestType.POST: response = await client.PostAsync(GetUri(requestType), httpContent); break; case HttpRequestType.GET: default: response = await client.GetAsync(GetUri(requestType)); break; } if (!response.IsSuccessStatusCode && displayErrors) { var msg = string.Format("Request failed with error code {0}", response.StatusCode); await Application.Current.MainPage.DisplayAlert("Alert", msg, "continue"); } return(response); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.SelectCustomer); Android.Widget.SearchView searchView = FindViewById <Android.Widget.SearchView>(Resource.Id.searchViewCustomers); //get all customers from database customers = DatabaseRequest.GetAllFromTable <Customer>().OrderBy(x => x.Company).ToList(); //populate RecyclerView with all customers customersRecyclerView = FindViewById <RecyclerView>(Resource.Id.customersRecyclerView); customersLayoutManager = new LinearLayoutManager(this); customersRecyclerView.SetLayoutManager(customersLayoutManager); customersAdapter = new CustomersAdapter(customers); customersAdapter.ItemClick += OnItemClick; customersRecyclerView.SetAdapter(customersAdapter); searchView.QueryTextChange += delegate { string currentSearchViewValue = searchView.Query; var currentCustomersSearched = customers.Where(x => x.Company.ToLower().Contains(currentSearchViewValue.ToLower())).ToList(); //repopulate RecyclerView with currentCustomersSearched customersAdapter = new CustomersAdapter(currentCustomersSearched); customersAdapter.ItemClick += OnItemClick; customersRecyclerView.SetAdapter(customersAdapter); }; }
public async Task <IEnumerable <string> > GetAllTables( DatabaseRequest request) { var apiClient = await _apiClientService.CreateInstanceAsync(); var result = await apiClient.PostAsync <List <string> >($"database/tables", request); return(result.Data); }
public async Task <DatabaseResponse> GetDataAsync( DatabaseRequest request) { var apiClient = await _apiClientService.CreateInstanceAsync(); var result = await apiClient.PostAsync <DatabaseResponse>($"database/data", request); return(result.Data); }
public virtual DatabaseHeaderResponse Create(DatabaseRequest request, HttpResponseMessage httpResponse) { return Materialize<DatabaseHeaderResponse>( httpResponse, (r1, r2) => { r1.DbName = request.DbName; }, FailedResponseMaterializer.Materialize); }
public async Task <IEnumerable <TableColumn> > GetAllColumnsFromTable( DatabaseRequest request, string tableName) { var apiClient = await _apiClientService.CreateInstanceAsync(); var result = await apiClient.PostAsync <List <TableColumn> >($"database/columns", request); return(result.Data); }
public virtual async Task <DatabaseHeaderResponse> CreateAsync(DatabaseRequest request, HttpResponseMessage httpResponse) { return(await MaterializeAsync <DatabaseHeaderResponse>( httpResponse, (r1, r2) => { r1.DbName = request.DbName; return Task.FromResult(true); }, FailedResponseMaterializer.MaterializeAsync).ForAwait()); }
public static void RequestMedicine(UserToken userToken, GeoCoordinate location, string locationDetail, IEnumerable <Medicine> medicines, Guid pharmacyID, bool onlinePayment) { if (userToken.ID.Equals(AuthenticationManager.SavedUsers.Find(item => item.userInfo.Username.Equals(userToken.userInfo.Username)))) { try { using (var db = new DatabaseMedAssistEntities()) { double total = 0; var selectedPharmacy = db.DatabaseUsers.SingleOrDefault(k => k.UserID == pharmacyID); foreach (var item in medicines) { DatabaseRequest databaseRequest = new DatabaseRequest { IsLocked = false, SenderID = userToken.userInfo.UserID, ReceiverID = selectedPharmacy.UserID, LocationLatitude = Convert.ToSingle(location.Latitude), LocationLongitude = Convert.ToSingle(location.Longitude), LocationDetail = locationDetail, Request = item.MedicineName, RequestDetail = item.Quantity.ToString() + "," + (item.Price * item.Quantity).ToString() + "," + (onlinePayment == true ? "OnlinePayment" : "CashPayment") }; total += item.Price * item.Quantity; var reduceStock = db.DatabasePharmacyStocks.SingleOrDefault(k => k.Obat == item.MedicineName); reduceStock.StokObat -= item.Quantity; db.DatabaseRequests.Add(databaseRequest); } if (onlinePayment == true) { var user = db.DatabaseUsers.SingleOrDefault(k => k.UserID == userToken.userInfo.UserID); if (user.SaldoUser < Convert.ToDecimal(total)) { //ui not enough balance return; } else { user.SaldoUser -= Convert.ToDecimal(total); } } db.SaveChanges(); } } catch (Exception ex) { //ui error happened } } else { //textbox login expired to UI } }
public ActionResult FlagDeletion(Guid id) { string message = "An error occurred. The node was not flagged"; Response.StatusCode = (int)HttpStatusCode.InternalServerError; BasicNodeModel toDelete = null; using (NeoDriver driver = new NeoDriver()) { toDelete = driver.GetNode(id); } // If the node with the given id is not null, if (toDelete != null) { DatabaseRequest request = new DatabaseRequest { Id = Guid.NewGuid(), RequestType = DatabaseRequestType.Delete, SubmissionDate = DateTime.Now, NodeDataType = toDelete.ContentType, NodeData = JsonConvert.SerializeObject(BasicNodeViewModel.FromModel(toDelete)), Approved = false, ApprovalDate = null, Notes = null, Reviewed = false, ReviewedDate = null, Reviewer = null, ReviewerRefId = null }; // Add a deletion request, using (ApplicationDbContext context = ApplicationDbContext.Create()) { request.Submitter = context.Users.Single(u => u.UserName == User.Identity.Name); context.Requests.Add(request); context.SaveChanges(); } message = "Node flagged for deletion"; Response.StatusCode = (int)HttpStatusCode.Accepted; } else { message = "Could not find the specified node."; Response.StatusCode = (int)HttpStatusCode.NotFound; } return(Json(new { message = message })); }
private AgentAcknowledgeResponse DoPostResults(PostResultsRequest request) { using (DatabaseRequest db = new DatabaseRequest(_Db, "AgentTemplatePostResults")) { db.AddParameter("@Lock", request.Lock); if (request.TestMode != 0) { db.AddParameter("@TestMode", request.TestMode); } db.ExecuteNonQuery(); AgentAcknowledgeResponse response = new AgentAcknowledgeResponse(); return(response); } }
public static void UpdateRequest(DatabaseRequest databaseRequest) { using (var db = new DatabaseMedAssistEntities()) { var item = db.DatabaseRequests.SingleOrDefault(k => k == databaseRequest); string[] requestDetail = item.RequestDetail.Split(','); if (item.Request == "Dokter") { var doctor = db.DatabaseDoctors.SingleOrDefault(k => k.DoctorName == requestDetail[0]); string requestDay = DateTime.Parse(requestDetail[1]).DayOfWeek.ToString(); switch (requestDay) { case "Monday": doctor.AppointmentMonday = false; break; case "Tuesday": doctor.AppointmentTuesday = false; break; case "Wednesday": doctor.AppointmentWednesday = false; break; case "Thursday": doctor.AppointmentThursday = false; break; case "Friday": doctor.AppointmentFriday = false; break; case "Saturday": doctor.AppointmentSaturday = false; break; case "Sunday": doctor.AppointmentSunday = false; break; } } else if (item.Request == "Ambulans") { var ambulance = db.DatabaseAmbulances.SingleOrDefault(k => k.HealthcareID == item.ReceiverID); ambulance.JumlahAmbulans++; } db.DatabaseRequests.Remove(item); db.SaveChanges(); } }
private static Uri GetUri(DatabaseRequest requestType) { String address; switch (requestType) { case DatabaseRequest.SIGNUP: address = "new_consumer"; break; case DatabaseRequest.ENTERPRISES: address = "enterprises"; break; case DatabaseRequest.WANTED_DATA_TYPES: address = "enterprise_data_types"; break; case DatabaseRequest.USER_LOGS: address = "data_access"; break; case DatabaseRequest.USER_PERMISSIONS: address = "user_permissions"; break; case DatabaseRequest.ALLOW_PERMISSION: address = "allow_permission"; break; case DatabaseRequest.DENY_PERMISSION: address = "deny_permission"; break; case DatabaseRequest.LOGIN: address = "authenticate"; break; case DatabaseRequest.DATATYPES: default: //never uses default, but make the compiler happy address = "data_types"; break; } //construct the URI string String uriString = String.Format("{0}/{1}/", webpage, address); //then return a URI with this string, not sure this format actually does anything return(new Uri(uriString)); }
public ActionResult ViewRequest(Guid id) { ActionResult result = View("Error"); using (ApplicationDbContext context = ApplicationDbContext.Create()) { DatabaseRequest request = context.Requests.SingleOrDefault(x => x.Id == id); if (request != null) { result = View(model: DatabaseRequestViewModel.FromModel(request)); } } return(result); }
public DatabaseComponent() { Response = new DatabaseResponse(); Request = new DatabaseRequest { DataSource = @".\SQLEXPRESS2008R2", DatabaseName = "consulta_cep", User = "******", Password = "******", TableName = "", OrderBy = "", OrderType = OrderTypes.Asc, PerPage = "10" }; }
public async Task <DatabaseResponse> GetDataAsync( DatabaseRequest request) { if (!request.IsConnectionOk) { return(new DatabaseResponse()); } try { return(await WithConnectionAsync( async connection => { var sql = BuildQuery(request); var dts = new DataSet(); var da = new SqlDataAdapter(sql, connection); await Task.Run(() => da.Fill(dts)); var dtt = dts.Tables[0]; var totalRecordsColumn = "total_records"; var response = new DatabaseResponse() { Success = true, TotalRecords = dtt.Rows.Count > 0 ? Convert.ToInt32(dtt.Rows[0][totalRecordsColumn]) : 0 }; dtt.Columns.Remove(totalRecordsColumn); response.Data = GetRows(dtt, response.TotalRecords); return response; }, request.ConnectionString)); } catch (Exception ex) { return(new DatabaseResponse { Success = false, Message = ex.ToString() }); } }
private string BuildWhere( DatabaseRequest request) { if (request.Filters.IsNotNull() && request.Filters.Count > 0) { var sb = new StringBuilder(); foreach (var filter in request.Filters) { if (sb.Length > 0) { sb.Append(" AND "); } if (filter.IsLike) { sb.AppendFormat( " {0} LIKE '%{1}%'", filter.Name, filter.Filter); } else if (filter.IsEqual) { if (filter.DataType.ToString() == "uniquidentifier") { sb.AppendFormat( " {0} = '{1}'", filter.Name, filter.Filter); } else { sb.AppendFormat( " {0} = {1}", filter.Name, filter.Filter); } } } return($" WHERE ({sb.ToString()}) "); } return(""); }
public override Task <DatabaseReply> CreateDatabase(DatabaseRequest request, ServerCallContext context) { engine.CreateDatabase(request.Name, request.Path); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("==============================================================================================================="); Console.WriteLine("Database created:"); Console.WriteLine("name = " + request.Name + ", path = " + request.Path); Console.WriteLine("==============================================================================================================="); return(Task.FromResult(new DatabaseReply { DatabaseName = request.Name, DatabasePath = request.Path })); }
private string BuildQuery( DatabaseRequest request) { var page = (request.Page <= 0) ? 1 : request.Page; var rows = (request.Rows <= 0) ? 10 : request.Rows; var select = BuildSelect(request); var where = BuildWhere(request); var sql = $@" DECLARE @p_num_page AS INT DECLARE @p_page_size AS INT SET @p_num_page = {page} SET @p_page_size = {rows} SET @p_num_page = ((@p_num_page * @p_page_size) - @p_page_size) + 1 SET @p_page_size = @p_num_page + @p_page_size - 1 BEGIN WITH [query] AS (SELECT ROW_NUMBER() OVER (ORDER BY {request.OrderBy} {request.OrderType.ToString().ToUpper()}) AS [row_num], {select} FROM [{request.DatabaseName}].[dbo].[{request.TableName}] WITH (NOLOCK) {where}) SELECT * FROM [query] CROSS JOIN (SELECT COUNT(*) AS [total_records] FROM [query]) AS [counters] WHERE ([row_num] BETWEEN @p_num_page AND @p_page_size) END "; return(sql); }
/// <summary> /// Queue a request for data to the database. /// The DatabaseRequest will always be executed on the database /// thread. It should be used to retrieve data from the database. /// The DatabaseCallback will be executed in the loop specified /// in the third argument. This can be used to process the data. /// </summary> /// <typeparam name="T">The type of data you want to request</typeparam> /// <param name="request">The request to execute on the database thread. Needs to return collection of data</param> /// <param name="callback">The callback to execute in the specified loop when the data has been retrieved</param> /// <param name="loop">The loop in which to call the callback</param> public static void QueueDatabaseRequest <T>(DatabaseRequest <T> request, DatbaseCallback <T> callback, TickLoop loop) where T : class { App.Console?.Print($"Queued a DBRequest", Colors.LimeGreen); DatabaseLoop.EnqueueAction(() => { var results = request.Invoke(Database); int count; if (results != null) { count = results.Count; loop.EnqueueAction(() => callback.Invoke(results)); } else { count = 0; loop.EnqueueAction(() => callback.Invoke(new List <T>())); } App.Console?.Print($"Retrieved {count} items from DB, queueing callback", Colors.LimeGreen); }); }
private static void CreateUser(string login) { if (_server == null) { WriteLine("Error server not Intitalized"); WriteLine("You must call server.init first"); return; } WriteLine(""); WriteLine("Connecting..."); DatabaseRequest request = new DatabaseRequest(DbAction.SendAction, "http://riddlersoftgames.co.uk/database/osrh2h/createuser.php", CustomHttpEncoders.CreateUser, _callBack); request.Type = RequestType.NotRequireLogin; _currentRequest = request; _server.SendRequest(request, login); }
private string BuildSelect( DatabaseRequest request) { if (request.Columns.IsNotNull() && request.Columns.Count > 0) { var sb = new StringBuilder(); foreach (var columnName in request.Columns) { if (sb.Length > 0) { sb.Append(","); } sb.Append(columnName); } return(sb.ToString()); } return("*"); }
private TaskResponse DoGetTask(GetTaskRequest request) { using (DatabaseRequest db = new DatabaseRequest(_Db, "AgentTemplateGetTask")) { if (request.TestMode != 0) { db.AddParameter("@TestMode", request.TestMode); } using (SqlDataReader reader = db.ExecuteSingleReader()) { if (!reader.Read()) { return(null); } TaskResponse response = new TaskResponse(); if (!reader.IsDBNull(0)) { response.Lock = reader.GetGuid(0); } return(response); } } }
public static void RequestAmbulance(UserToken userToken, GeoCoordinate location, string locationDetail) { if (userToken.ID.Equals(AuthenticationManager.SavedUsers.Find(item => item.userInfo.Username.Equals(userToken.userInfo.Username)))) { try { using (var db = new DatabaseMedAssistEntities()) { var query = from ambulance in db.DatabaseAmbulances where ambulance.JumlahAmbulans > 0 select ambulance; var selectedAmbulance = query.OrderBy(item => GetDistance(Convert.ToDouble(item.HealthcareLatitude), Convert.ToDouble(item.HealthcareLongitude), location)).First(); DatabaseRequest databaseRequest = new DatabaseRequest { IsLocked = false, SenderID = userToken.userInfo.UserID, ReceiverID = selectedAmbulance.HealthcareID, LocationLatitude = Convert.ToSingle(location.Latitude), LocationLongitude = Convert.ToSingle(location.Longitude), LocationDetail = locationDetail, Request = "Ambulans" }; selectedAmbulance.JumlahAmbulans--; db.DatabaseRequests.Add(databaseRequest); db.SaveChanges(); } } catch (Exception ex) { //ui error happened } } else { //textbox login expired to UI } }
public async Task <IEnumerable <TableColumn> > GetAllColumnsFromTable( DatabaseRequest request, string tableName) { if (!request.IsConnectionOk) { return(new List <TableColumn>()); } try { return(await WithConnectionAsync( async connection => { var parameters = new { tableName }; var sql = @"SELECT c.name AS Name, t.name AS DataType FROM syscolumns AS c WITH (NOLOCK) INNER JOIN systypes AS t ON c.xtype = t.xusertype WHERE OBJECT_NAME(c.id) = @tableName ORDER BY c.name"; return await connection.QueryAsync <TableColumn>( sql, parameters); }, request.ConnectionString)); } catch { return(new List <TableColumn>()); } }
private AgentPingResponse DoPing() { using (DatabaseRequest db = new DatabaseRequest(_Db, "PingGetDatabaseInfo")) { using (SqlDataReader reader = db.ExecuteSingleReader()) { AgentPingResponse response = new AgentPingResponse(); reader.Read(); if (!reader.IsDBNull(0)) { response.Timestamp = reader.GetDateTime(0); } if (!reader.IsDBNull(1)) { response.ServerInstance = reader.GetString(1); } if (!reader.IsDBNull(2)) { response.Version = reader.GetString(2); } if (!reader.IsDBNull(3)) { response.Edition = reader.GetString(3); } if (!reader.IsDBNull(4)) { response.Database = reader.GetString(4); } if (!reader.IsDBNull(5)) { response.User = reader.GetString(5); } return(response); } } }
public static void ReadCallback(IAsyncResult rez) { String content = String.Empty; StateObject state = (StateObject)rez.AsyncState; Socket handler = state.workSocket; int bytesRead = handler.EndReceive(rez); if (bytesRead > 0 && bytesRead < StateObject.MAXLEN) { state.sb.Append(Encoding.ASCII.GetString( state.buffer, 0, bytesRead)); content = state.sb.ToString(); DatabaseRequest db = new DatabaseRequest(content); Send(handler, db.RequestHandler()); } if (bytesRead == StateObject.MAXLEN) { state.sb.Append(Encoding.ASCII.GetString( state.buffer, 0, bytesRead)); handler.BeginReceive(state.buffer, 0, StateObject.MAXLEN, 0, new AsyncCallback(ReadCallback), state); } }
/// <summary> /// Static method that creates a DatabaseRequestViewModel from the /// given DatabaseRequest object. /// </summary> /// <param name="model">The DatabaseRequest object from which to create /// a view model</param> /// <returns>The view model for the given database request object</returns> public static DatabaseRequestViewModel FromModel(DatabaseRequest model) { ApplicationUser submitter; ApplicationUser reviewer; using (ApplicationDbContext context = ApplicationDbContext.Create()) { submitter = context.Users.SingleOrDefault(u => u.Id == model.SubmitterRefId); reviewer = context.Users.SingleOrDefault(u => u.Id == model.ReviewerRefId); } return(new DatabaseRequestViewModel { RequestId = model.Id, RequestType = model.RequestType, SubmissionDate = model.SubmissionDate, NodeData = model.ParseModel(), NodeDataType = model.NodeDataType, SubmitterId = model.SubmitterRefId, SubmitterName = submitter != null ? submitter.UserName : null, Reviewed = model.Reviewed, Approved = model.Approved, Notes = model.Notes }); }