Beispiel #1
0
        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());
            }
        }
Beispiel #3
0
        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>());
            }
        }
Beispiel #4
0
        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);
        }
Beispiel #6
0
        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());
 }
Beispiel #12
0
 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
     }
 }
Beispiel #13
0
        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 }));
        }
Beispiel #14
0
 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);
     }
 }
Beispiel #15
0
        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));
        }
Beispiel #17
0
        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);
        }
Beispiel #18
0
        public DatabaseComponent()
        {
            Response = new DatabaseResponse();

            Request = new DatabaseRequest
            {
                DataSource   = @".\SQLEXPRESS2008R2",
                DatabaseName = "consulta_cep",
                User         = "******",
                Password     = "******",
                TableName    = "",
                OrderBy      = "",
                OrderType    = OrderTypes.Asc,
                PerPage      = "10"
            };
        }
Beispiel #19
0
        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()
                });
            }
        }
Beispiel #20
0
        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("");
        }
Beispiel #21
0
        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
            }));
        }
Beispiel #22
0
        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);
        }
Beispiel #23
0
 /// <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);
     });
 }
Beispiel #24
0
        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);
        }
Beispiel #25
0
        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("*");
        }
Beispiel #26
0
 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);
         }
     }
 }
Beispiel #27
0
 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
     }
 }
Beispiel #28
0
        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>());
            }
        }
Beispiel #29
0
 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);
         }
     }
 }
Beispiel #30
0
        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);
            }
        }
Beispiel #31
0
        /// <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
            });
        }
 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());
     }
 }