Ejemplo n.º 1
0
        public void NewTest()
        {
            XRay xray = new XRay();

            xray.ImageId = 1;
            xray.UserId  = "";
            xray.Title   = "title";
            var imageFile = new Mock <HttpPostedFileBase>();

            imageFile.Setup(m => m.FileName).Returns("filename");
            xray.ImageFile = imageFile.Object;
            var dbSetMock       = new Mock <DbSet <XRay> >();
            var dbContextMock   = new Mock <ApplicationDbContext>();
            var fakeIdentity    = new GenericIdentity("User");
            var principal       = new GenericPrincipal(fakeIdentity, null);
            var fakeHttpContext = new Mock <HttpContextBase>();

            fakeHttpContext.Setup(t => t.User).Returns(principal);
            var controllerContext = new Mock <ControllerContext>();

            controllerContext.Setup(t => t.HttpContext).Returns(fakeHttpContext.Object);
            dbSetMock.Setup(m => m.Add(xray));
            dbContextMock.Setup(m => m.XRays).Returns(dbSetMock.Object);
            dbContextMock.Setup(m => m.XRays.Add(xray));
            XRayController controller = new XRayController(dbContextMock.Object, new TestPathProvider());

            controller.ControllerContext = controllerContext.Object;
            controller.New(xray);
            dbContextMock.Verify(m => m.XRays.Add(xray), Times.Once());
        }
Ejemplo n.º 2
0
        public int Insert(XRay xRay)
        {
            InsertCommand.Parameters["@ItemName"].Value = xRay.ItemName;
            InsertCommand.Parameters["@MMK"].Value      = xRay.MMK;
            InsertCommand.Parameters["@USD"].Value      = xRay.USD;
            InsertCommand.Parameters["@Status"].Value   = xRay.Status;


            int returnValue = -1;

            try
            {
                InsertCommand.Connection.Open();
                returnValue = (int)InsertCommand.ExecuteScalar();
            }
            catch (SqlException ex)
            {
                Logger.Write(ex);
            }
            finally
            {
                InsertCommand.Connection.Close();
            }
            return(returnValue);
        }
Ejemplo n.º 3
0
        public int Update(XRay xRay)
        {
            UpdateCommand.Parameters["@ID"].Value       = xRay.ID;
            UpdateCommand.Parameters["@ItemName"].Value = xRay.ItemName;
            UpdateCommand.Parameters["@MMK"].Value      = xRay.MMK;
            UpdateCommand.Parameters["@USD"].Value      = xRay.USD;
            UpdateCommand.Parameters["@Status"].Value   = xRay.Status;

            int returnValue = -1;

            try
            {
                UpdateCommand.Connection.Open();
                returnValue = UpdateCommand.ExecuteNonQuery();
            }
            catch (SqlException ex)
            {
                Logger.Write(ex);
            }
            finally
            {
                UpdateCommand.Connection.Close();
            }
            return(returnValue);
        }
Ejemplo n.º 4
0
        internal void SendClientSettings()
        {
            if (XRay.IsInvokeRequired())
            {
                XRay.RunInCoreAsync(() => SendClientSettings());
                return;
            }

            if (ServerConnection == null)
            {
                return;
            }

            var packet = new GenericPacket("Settings");

            packet.Data = new Dictionary <string, string>()
            {
                { "TargetFps", XRay.TargetFps.ToString() },
                { "TrackFunctionHits", XRay.TrackFunctionHits.ToString() },
                { "FlowTracking", XRay.FlowTracking.ToString() },
                { "InstanceTracking", XRay.InstanceTracking.ToString() },
                { "TrackRemoteProfiling", XRay.Remote.TrackRemoteProfiling.ToString() },
                { "TrackRemoteThreadlines", XRay.Remote.TrackRemoteThreadlines.ToString() }
            };

            ServerConnection.SendPacket(packet);
        }
Ejemplo n.º 5
0
        public JsonResult Edit(int TestID)
        {
            BL_XRay     _TestMaster = new BL_XRay();
            XRay        obj         = new XRay();
            List <XRay> GetList     = new List <XRay>();
            DataSet     ds          = _TestMaster.GetTestMaster(TestID);

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                GetList.Add(new XRay

                {
                    HospitalID = Convert.ToInt32(dr["HospitalID"]),

                    LocationID       = Convert.ToInt32(dr["LocationID"]),
                    TestID           = dr["TestID"].ToString(),
                    ReportName       = dr["TestName"].ToString(),
                    PrintAs          = dr["PrintAs"].ToString(),
                    GeneralCharges   = dr["GeneralCharges"].ToString(),
                    EmergencyCharges = dr["EmergencyCharges"].ToString(),
                    CategoryID       = dr["Category"].ToString(),
                    CategoryName     = dr["CategoryName"].ToString(),
                    Footer           = dr["Footer"].ToString(),
                    unit             = dr["Unit"].ToString(),
                });
            }



            return(new JsonResult {
                Data = GetList, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
Ejemplo n.º 6
0
 void Start()
 {
     if (!_xray)
     {
         _xray = GetComponentInParent <XRay>();
     }
 }
Ejemplo n.º 7
0
        public async Task <XRay> CreateXRayAsync(
            string dataLocation,
            string db,
            string guid,
            string asin,
            string tld,
            bool includeTopics,
            ISecondarySource dataSource,
            IProgressBar progress,
            CancellationToken token = default)
        {
            var xray = new XRay(dataLocation, db, guid, asin, dataSource)
            {
                Terms = (await dataSource.GetTermsAsync(dataLocation, asin, tld, includeTopics, progress, token)).ToList()
            };

            if (dataSource.SupportsNotableClips)
            {
                _logger.Log("Downloading notable clips...");
                xray.NotableClips = (await dataSource.GetNotableClipsAsync(dataLocation, null, progress, token))?.ToList();
            }
            if (xray.Terms.Count == 0)
            {
                _logger.Log("Warning: No terms found on " + dataSource.Name + ".");
            }

            return(xray);
        }
Ejemplo n.º 8
0
    /// <summary>
    /// Initializes a new instance of the <see cref="T:XRay.XRayable"/> class.
    /// </summary>
    /// <param name="target">Target.</param>
    public XRayable(GameObject target, XRay owner)
    {
        Enemy enemy = target.GetComponent <Enemy>();

        _targetTransform = target.transform;
        _owner           = owner;

        if (!enemy)
        {
            Supporting.Log(string.Format("Can't Xray {0} as it's not an enemy", 1));
        }

        _targetRenderers = enemy.xRayAffectedMeshes;
        if (_targetRenderers.Length > 0)
        {
            foreach (Renderer renderer in _targetRenderers)
            {
                if (renderer)
                {
                    ApplyXRayEffect(renderer);
                }
                else
                {
                    throw new ArgumentNullException(string.Format("Renderer not found for {0}", _targetTransform.name));
                }
            }
        }
        else
        {
            throw new ArgumentNullException(string.Format("Renderer not found for {0}", _targetTransform.name));
        }
    }
Ejemplo n.º 9
0
        public void AddLocations(XRay xray,
                                 KfxContainer kfx,
                                 bool skipNoLikes,
                                 int minClipLen,
                                 IProgressBar progress,
                                 CancellationToken token)
        {
            _logger.Log("Scanning book content...");

            var paragraphs = _paragraphsService.GetParagraphs(kfx).ToArray();

            // Set start and end of content
            // TODO Figure out how to identify the first *actual* bit of content after the TOC
            var last = paragraphs.Last();

            xray.Srl = 1;
            xray.Erl = last.Location + last.Length - 1;

            progress?.Set(0, paragraphs.Length);
            foreach (var paragraph in paragraphs)
            {
                token.ThrowIfCancellationRequested();

                foreach (var character in xray.Terms.Where(term => term.Match))
                {
                    var occurrences = _termsService.FindOccurrences(kfx, character, paragraph);
                    if (!occurrences.Any())
                    {
                        continue;
                    }

                    character.Occurrences.UnionWith(occurrences);

                    ExcerptHelper.EnhanceOrAddExcerpts(xray.Excerpts, character.Id, new IndexLength(paragraph.Location, paragraph.Length));
                }

                // Attempt to match downloaded notable clips, not worried if no matches occur as some will be added later anyway
                if (xray.NotableClips != null)
                {
                    ExcerptHelper.ProcessNotablesForParagraph(paragraph.ContentText, paragraph.Location, xray.NotableClips, xray.Excerpts, skipNoLikes, minClipLen);
                }

                progress?.Add(1);
            }

            var missingOccurrences = xray.Terms
                                     .Where(term => term.Match && term.Occurrences.Count == 0)
                                     .Select(term => term.TermName)
                                     .ToArray();

            if (!missingOccurrences.Any())
            {
                return;
            }

            var termList = string.Join(", ", missingOccurrences);

            _logger.Log($"\r\nNo locations were found for the following terms. You should add aliases for them using the book as a reference:\r\n{termList}\r\n");
        }
Ejemplo n.º 10
0
        public ActionResult ModifyPermission(int id)
        {
            XRay xray = db.XRays.Find(id);

            xray.PermissionToDoctor = 1 - xray.PermissionToDoctor;
            db.SaveChanges();
            return(RedirectToAction("Show", "XRay"));
        }
Ejemplo n.º 11
0
 public void Export(XRay xray, string path, IProgressBar progress, CancellationToken cancellationToken = default)
 {
     _logger.Log("Building new X-Ray database...");
     using var database = Create(path);
     _logger.Log("Done building initial database. Populating with info from source X-Ray...");
     Populate(xray, database, progress, cancellationToken);
     _logger.Log("Updating indices...");
     UpdateIndices(database);
     database.Close();
 }
Ejemplo n.º 12
0
        public void ExpandField(string fieldFilter = null)
        {
            if (Expanded)
            {
                if (Instance.ExpandedField != null)
                {
                    Instance.ExpandedField(this);
                }
                return;
            }

            Expanded = true;

            Nodes.Clear();

            if (FieldType != null)
            {
                if (RowType == RowTypes.Root && fieldFilter == null)
                {
                    AddRow(new FieldModel(Instance, this, RowTypes.Declared));
                    AddRow(new FieldModel(Instance, this, RowTypes.Selected, FieldType));
                    AddRow(new FieldModel(Instance, this, RowTypes.Number));
                    AddRow(new FieldModel(Instance, this, RowTypes.Age));
                }

                if (fieldFilter == null)
                {
                    AddFieldMembers();
                }
                else
                {
                    var field = FieldType.GetFields(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static).FirstOrDefault(f => f.Name == fieldFilter);
                    if (field != null)
                    {
                        XRay.LogError("Field " + fieldFilter + " found on " + FieldType.ToString());

                        var row = new FieldModel(Instance, this, RowTypes.Field, field);
                        AddRow(row);
                        row.ExpandField();
                    }
                    else
                    {
                        XRay.LogError("Field " + fieldFilter + " not found on " + FieldType.ToString());
                    }
                }
            }

            RefreshField();

            if (Instance.ExpandedField != null)
            {
                Instance.ExpandedField(this);
            }
        }
Ejemplo n.º 13
0
        internal void OnConnected(XConnection connection)
        {
            if (XRay.IsInvokeRequired())
            {
                XRay.RunInCoreAsync(() => OnConnected(connection));
                return;
            }
            // runs when client connects to server, not the other way around (that's what OnAccept is for)
            RemoteStatus = "Requesting Dat Hash";

            connection.SendPacket(new GenericPacket("DatHashRequest"));
        }
Ejemplo n.º 14
0
        private XRay DataTableToEntity(DataTable dt)
        {
            XRay xRay = new XRay();

            if (Null.IsNotNull(dt) == true && dt.Rows.Count > 0)
            {
                if (Null.IsNotNull(dt.Rows[0]))
                {
                    DataRow dr = dt.Rows[0];
                    if (Null.IsNotNull(dr["ID"]))
                    {
                        xRay.ID = Convert.ToInt32(dr["ID"]);
                    }
                    else
                    {
                        xRay.ID = 0;
                    }
                    if (Null.IsNotNull(dr["ItemName"]))
                    {
                        xRay.ItemName = Convert.ToString(dr["ItemName"]);
                    }
                    else
                    {
                        xRay.ItemName = string.Empty;
                    }
                    if (Null.IsNotNull(dr["MMK"]))
                    {
                        xRay.MMK = Convert.ToDecimal(dr["MMK"]);
                    }
                    else
                    {
                        xRay.MMK = 0.00m;
                    }
                    if (Null.IsNotNull(dr["USD"]))
                    {
                        xRay.USD = Convert.ToDecimal(dr["USD"]);
                    }
                    else
                    {
                        xRay.USD = 0.00m;
                    }
                    if (Null.IsNotNull(dr["Status"]))
                    {
                        xRay.Status = Convert.ToString(dr["Status"]);
                    }
                    else
                    {
                        xRay.Status = string.Empty;
                    }
                }
            }
            return(xRay);
        }
Ejemplo n.º 15
0
        public ActionResult Delete(int TestID)
        {
            string  val         = "";
            XRay    obj         = new XRay();
            BL_XRay _TestMaster = new BL_XRay();

            if (_TestMaster.DeleteTestMaster(HospitalID, TestID, LocationID))
            {
                val = "Reporting Deleted Successfully";
            }
            return(Json(val));
        }
Ejemplo n.º 16
0
 public void Export(XRay xray, string path)
 {
     using var streamWriter = new StreamWriter(path, false, Encoding.UTF8);
     streamWriter.Write(JsonUtil.Serialize(new PreviewData
     {
         NumImages     = 0,
         NumTerms      = xray.Terms.Count(t => t.Type == "topic"),
         PreviewImages = "[]",
         ExcerptIds    = new string[0],
         NumPeople     = xray.Terms.Count(t => t.Type == "character")
     }));
 }
Ejemplo n.º 17
0
        private void Receive_Sync(XConnection connection, G2ReceivedPacket packet)
        {
            // received by client from server

            var sync = SyncPacket.Decode(packet.Root);

            //Log("Sync packet received");

            connection.SyncCount++;
            connection.LastSyncSize = packet.Root.PacketSize;

            XRay.RemoteSync(sync);
        }
Ejemplo n.º 18
0
        private void DisconnectButton_Click(object sender, EventArgs e)
        {
            var server = XRay.Remote.ServerConnection;

            if (server == null)
            {
                return;
            }

            XRay.RunInCoreAsync(() => server.CleanClose("Forced Disconnect"));

            ConnectionTimer_Tick(this, null);
        }
Ejemplo n.º 19
0
        private void AnalzeLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            try
            {
                string path = Path.Combine(Model.OutputDir, "XRay.dat");

                XRay.Analyze(path);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 20
0
        protected void buttonPermissionApprove_ServerClick(object sender, EventArgs e)
        {
            try
            {
                string nric = ViewState["GridViewPatientSelectedNRIC"].ToString();

                short permission = 0;

                if (CheckBoxTypeHeightMeasurement.Checked)
                {
                    permission += new HeightMeasurement().permissionFlag;
                }
                if (CheckBoxTypeWeightMeasurement.Checked)
                {
                    permission += new WeightMeasurement().permissionFlag;
                }
                if (CheckBoxTypeTemperatureReading.Checked)
                {
                    permission += new TemperatureReading().permissionFlag;
                }
                if (CheckBoxTypeBloodPressureReading.Checked)
                {
                    permission += new BloodPressureReading().permissionFlag;
                }
                if (CheckBoxTypeECGReading.Checked)
                {
                    permission += new ECGReading().permissionFlag;
                }
                if (CheckBoxTypeMRI.Checked)
                {
                    permission += new MRI().permissionFlag;
                }
                if (CheckBoxTypeXRay.Checked)
                {
                    permission += new XRay().permissionFlag;
                }
                if (CheckBoxTypeGait.Checked)
                {
                    permission += new Gait().permissionFlag;
                }

                patientBLL.ApproveRequest(nric, permission);
                Bind_GridViewTherapist();
                Update_UpdatePanelPermissions(nric);
                ScriptManager.RegisterStartupScript(this, GetType(), "alert", "toastr['success']('Request Approved, Permissions of " + nric + " has been Updated.');", true);
            }
            catch
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "alert", "toastr['error']('Error occured when Updating Permissions.');", true);
            }
        }
Ejemplo n.º 21
0
        private void SaveChapters(XRay xray)
        {
            var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ext");

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            using var streamWriter = new StreamWriter(Path.Combine(path, $"{xray.Asin}.chapters"), false, Encoding.UTF8);
            foreach (var chapter in xray.Chapters)
            {
                streamWriter.WriteLine($"{chapter.Name}|{chapter.Start}|{chapter.End}");
            }
        }
Ejemplo n.º 22
0
    public static void Main(string[] args){

        SuperHero superHero = new HiperMan();
        superHero.actLikeAHero();

        SuperHero superHeroFly = new Fly();
        SuperHero superHeroXRay = new XRay();

        superHeroFly.setSuperHero(superHero);
        superHeroFly.usePower();

        superHeroXRay.setSuperHero(superHero);
        superHeroXRay.usePower();
    }
Ejemplo n.º 23
0
        private void SaveChapters(XRay xray)
        {
            var path = Environment.CurrentDirectory + @"\ext\";

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            using var streamWriter = new StreamWriter($"{path}{xray.Asin}.chapters", false, Encoding.UTF8);
            foreach (var chapter in xray.Chapters)
            {
                streamWriter.WriteLine($"{chapter.Name}|{chapter.Start}|{chapter.End}");
            }
        }
Ejemplo n.º 24
0
        public void Export(XRay xray, string path, IProgressBar progress, CancellationToken cancellationToken = default)
        {
            var appVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;

            var start    = (long?)xray.Srl;
            var end      = (long?)xray.Erl;
            var chapters = xray.Chapters.ToArray();

            if (xray.Chapters.Count <= 0)
            {
                start    = null;
                end      = null;
                chapters = new[]
                {
                    new Chapter
                    {
                        Name  = null,
                        Start = 1,
                        End   = 9999999
                    }
                };
            }

            var xrayArtifact = new Artifacts.XRay
            {
                Asin        = xray.Asin,
                Guid        = $"{xray.DatabaseName}:{xray.Guid}",
                Version     = "1",
                XRayVersion = $"{appVersion.Major}.{appVersion.Minor}{appVersion.Build}",
                Created     = (xray.CreatedAt ?? DateTime.Now).ToString("yyyy-MM-dd HH:mm:ss"),
                Terms       = xray.Terms.Select(term => new Term
                {
                    Desc     = term.Desc ?? "",
                    DescSrc  = term.DescSrc ?? "",
                    DescUrl  = term.DescUrl ?? "",
                    Type     = term.Type,
                    TermName = term.TermName,
                    Locs     = term.Locs.Count > 0 ? term.Locs : new List <long[]> {
                        new long[] { 100, 100, 100, 6 }
                    }
                }).ToArray(),
                Chapters = chapters,
                Start    = start,
                End      = end
            };

            using var streamWriter = new StreamWriter(path, false, Encoding.UTF8);
            streamWriter.Write(JsonUtil.Serialize(xrayArtifact));
        }
Ejemplo n.º 25
0
        protected void buttonRequest_ServerClick(object sender, EventArgs e)
        {
            try
            {
                string nric       = ViewState["GridViewPatientSelectedNRIC"].ToString();
                short  permission = 0;

                if (CheckBoxTypeHeightMeasurement.Checked)
                {
                    permission += new HeightMeasurement().permissionFlag;
                }
                if (CheckBoxTypeWeightMeasurement.Checked)
                {
                    permission += new WeightMeasurement().permissionFlag;
                }
                if (CheckBoxTypeTemperatureReading.Checked)
                {
                    permission += new TemperatureReading().permissionFlag;
                }
                if (CheckBoxTypeBloodPressureReading.Checked)
                {
                    permission += new BloodPressureReading().permissionFlag;
                }
                if (CheckBoxTypeECGReading.Checked)
                {
                    permission += new ECGReading().permissionFlag;
                }
                if (CheckBoxTypeMRI.Checked)
                {
                    permission += new MRI().permissionFlag;
                }
                if (CheckBoxTypeXRay.Checked)
                {
                    permission += new XRay().permissionFlag;
                }
                if (CheckBoxTypeGait.Checked)
                {
                    permission += new Gait().permissionFlag;
                }

                therapistBLL.SubmitRequest(nric, permission);
                ScriptManager.RegisterStartupScript(this, GetType(), "alert", "$('#modalSelectPermissions').modal('hide');toastr['success']('Request Submitted to " + nric + " for Permissions.');", true);
                Bind_GridViewPatient();
            }
            catch
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "alert", "$('#modalSelectPermissions').modal('hide');toastr['error']('Error occured when Submitting Request.');", true);
            }
        }
Ejemplo n.º 26
0
        void Send_StartSync(XConnection connection)
        {
            RemoteStatus = "Starting Sync";

            // send packet telling server to start syncing us
            XRay.Init(LocalDatPath, true, true, true);

            XRay.StartGui();

            connection.SendPacket(new GenericPacket("StartSync"));

            SendClientSettings(); // need to send after sync started

            ServerConnection = connection;
        }
Ejemplo n.º 27
0
    public static void Main(string[] args)
    {
        SuperHero superHero = new HiperMan();

        superHero.actLikeAHero();

        SuperHero superHeroFly  = new Fly();
        SuperHero superHeroXRay = new XRay();

        superHeroFly.setSuperHero(superHero);
        superHeroFly.usePower();

        superHeroXRay.setSuperHero(superHero);
        superHeroXRay.usePower();
    }
Ejemplo n.º 28
0
        public void Export(XRay xray, string path, IProgressBar progress, CancellationToken cancellationToken = default)
        {
            var appVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;

            var start    = (long?)xray.Srl;
            var end      = (long?)xray.Erl;
            var chapters = xray.Chapters.ToArray();

            if (xray.Chapters.Count <= 0)
            {
                start    = null;
                end      = null;
                chapters = new[]
                {
                    new Chapter
                    {
                        Name  = null,
                        Start = 1,
                        End   = 9999999
                    }
                };
            }

            var xrayArtifact = new Artifacts.XRay
            {
                Asin        = xray.Asin,
                Guid        = $"{xray.DatabaseName}:{xray.Guid}",
                Version     = "1",
                XRayVersion = $"{appVersion.Major}.{appVersion.Minor}{appVersion.Build}",
                Created     = (xray.CreatedAt ?? DateTime.Now).ToString("yyyy-MM-dd HH:mm:ss"),
                Terms       = xray.Terms.Select(term => new Term
                {
                    Desc        = term.Desc ?? "",
                    DescSrc     = term.DescSrc ?? "",
                    DescUrl     = term.DescUrl ?? "",
                    Type        = term.Type,
                    TermName    = term.TermName,
                    Occurrences = term.Occurrences.Count > 0
                        ? term.Occurrences
                        : new HashSet <Occurrence>
                    {
                        new()
                        {
                            Excerpt   = new IndexLength(100, 100),
                            Highlight = new IndexLength(100, 6)
                        }
                    }
                }).ToArray(),
Ejemplo n.º 29
0
        internal void IncomingPacket(XConnection connection, G2ReceivedPacket packet)
        {
            if (XRay.IsInvokeRequired())
            {
                XRay.RunInCoreAsync(() => IncomingPacket(connection, packet));
                return;
            }

            switch (packet.Root.Name)
            {
            case PacketType.Padding:
                //Log("Crypt Padding Received");
                break;

            case PacketType.Generic:

                var generic = GenericPacket.Decode(packet.Root);

                Log("Generic Packet Received: " + generic.Name);

                if (RouteGeneric.ContainsKey(generic.Name))
                {
                    RouteGeneric[generic.Name](connection, generic);
                }
                else
                {
                    Log("Unknown generic packet: " + generic.Name);
                }

                break;

            case PacketType.Dat:
                Receive_DatPacket(connection, packet);
                break;

            case PacketType.Sync:
                Receive_Sync(connection, packet);
                break;

            case PacketType.Instance:
                Receive_Instance(connection, packet);
                break;

            default:
                Log("Unknown Packet Type: " + packet.Root.Name.ToString());
                break;
            }
        }
Ejemplo n.º 30
0
        private async void btnDownloadTerms_Click(object sender, EventArgs e)
        {
            if (txtGoodreads.Text == "")
            {
                MessageBox.Show("No link was specified.", "Missing Link");
                return;
            }
            if (!File.Exists(txtMobi.Text))
            {
                MessageBox.Show("Specified book was not found.", "Book Not Found");
                return;
            }
            ToggleInterface(false);
            if (!Directory.Exists(Environment.CurrentDirectory + @"\xml\"))
            {
                Directory.CreateDirectory(Environment.CurrentDirectory + @"\xml\");
            }
            string path = Environment.CurrentDirectory + @"\xml\" + Path.GetFileNameWithoutExtension(txtMobi.Text) + ".xml";

            try
            {
                txtXMLFile.Text = path;

                XRay xray   = new XRay(txtGoodreads.Text, _dataSource);
                int  result = await Task.Run(() => xray.SaveXml(path, _progress, _cancelTokens.Token));

                if (result == 1)
                {
                    Logger.Log("Warning: Unable to download character data as no character data found on Goodreads.");
                }
                else if (result == 2)
                {
                    Logger.Log("Download cancelled.");
                }
                else
                {
                    Logger.Log("Character data has been successfully saved to: " + path);
                }
            }
            catch (Exception ex)
            {
                Logger.Log($"An error occurred while saving character data to XML: {ex.Message}\r\nPath was: {path}");
            }
            finally
            {
                ToggleInterface(true);
            }
        }
Ejemplo n.º 31
0
        public async Task <XRay> CreateXRayAsync(
            string dataLocation,
            string db,
            string guid,
            string asin,
            string tld,
            bool includeTopics,
            ISecondarySource dataSource,
            IProgressBar progress,
            CancellationToken token = default)
        {
            if (dataLocation == "" && !(dataSource is SecondarySourceRoentgen) || guid == "" || asin == "")
            {
                throw new ArgumentException("Error initializing X-Ray, one of the required parameters was blank.");
            }

            dataLocation = dataSource.SanitizeDataLocation(dataLocation);

            var terms = (await dataSource.GetTermsAsync(dataLocation, asin, tld, includeTopics, progress, token)).ToList();

            var xray = new XRay
            {
                DatabaseName = string.IsNullOrEmpty(db) ? null : db,
                Guid         = Functions.ConvertGuid(guid),
                Asin         = asin,
                DataUrl      = dataLocation,
                Terms        = terms
            };


            if (dataSource.SupportsNotableClips)
            {
                _logger.Log("Downloading notable clips...");
                xray.NotableClips = (await dataSource.GetNotableClipsAsync(dataLocation, null, progress, token))?.ToList();
            }

            if (xray.Terms.Count == 0)
            {
                _logger.Log($"Warning: No terms found on {dataSource.Name}.");
            }

            return(xray);
        }