示例#1
0
        private void SendFile(object sender, RoutedEventArgs e)
        {
            FileAndDirAttributes files = (FileAndDirAttributes)DirsAndFiles.SelectedItem;
            FileSender           send  = new FileSender();
            Partners             pr    = new Partners();
            string code = "";

            code = ContactsData.GetShareCode(ContactName.Text);
            string ip = "";

            if (code != "")
            {
                ip = ShareCode.GetIPFromCode(code);
            }
            if (ip != "" && pr.IsContactAvailable(ip))
            {
                if (InMyFiles == true)
                {
                    string             path = FileData.SelectedVersionPath(files.FileDirectory + "\\" + files.FileName, VersionsList.SelectedIndex);
                    DataGridController dgc  = new DataGridController();
                    send.SendFile(path, ip);
                    System.Diagnostics.Process.Start(@path);
                }
                else
                {
                    send.SendFile(files.FileDirectory + "\\" + files.FileName, "127.0.0.1");
                }
            }
            else
            {
                MessageBox.Show("Error", "Couldn't connect with partner");
            }
        }
示例#2
0
        public JsonResult GetShareCode(ShareableEntityType entityType, Guid entityId)
        {
            ShareCode    shareCode    = ShareCodeManager.GetShareCode(entityType, entityId);
            ShareCodeDto shareCodeDto = ShareCodeDto.Create(shareCode);

            return(new JsonDataContractActionResult(shareCodeDto));
        }
示例#3
0
        public PlaylistDto CreateCopyByShareCode(ShareCodeRequestDto shareCodeRequestDto)
        {
            PlaylistDto playlistDto;

            using (ITransaction transaction = Session.BeginTransaction())
            {
                ShareCode shareCode = ShareCodeManager.GetByShortIdAndEntityTitle(shareCodeRequestDto.ShortId, shareCodeRequestDto.UrlFriendlyEntityTitle);

                //  Never return the sharecode's playlist reference. Make a copy of it to give out so people can't modify the original.
                Playlist playlistToCopy = PlaylistManager.Get(shareCode.EntityId);

                User user = UserManager.Get(shareCodeRequestDto.UserId);

                var playlistCopy = new Playlist(playlistToCopy);
                user.AddPlaylist(playlistCopy);

                PlaylistManager.Save(playlistCopy);

                playlistDto = PlaylistDto.Create(playlistCopy);

                transaction.Commit();
            }

            return(playlistDto);
        }
示例#4
0
        public JsonResult CreateCopyByShareCode(string shareCodeShortId, string urlFriendlyEntityTitle, Guid folderId)
        {
            ShareCode shareCode = ShareCodeDao.GetByShortIdAndEntityTitle(shareCodeShortId, urlFriendlyEntityTitle);

            if (shareCode == null)
            {
                throw new ApplicationException("Unable to locate shareCode in database.");
            }

            if (shareCode.EntityType != ShareableEntityType.Playlist)
            {
                throw new ApplicationException("Expected shareCode to have entityType of Playlist");
            }

            //  Never return the sharecode's playlist reference. Make a copy of it to give out so people can't modify the original.
            Playlist playlistToCopy = PlaylistDao.Get(shareCode.EntityId);

            Folder folder = FolderDao.Get(folderId);

            var playlistCopy = new Playlist(playlistToCopy);

            folder.AddPlaylist(playlistCopy);

            PlaylistManager.Save(playlistCopy);

            PlaylistDto playlistDto = PlaylistDto.Create(playlistCopy);

            return(new JsonDataContractActionResult(playlistDto));
        }
示例#5
0
        public static ulong Parse(string shareCode)
        {
            if (string.IsNullOrWhiteSpace(shareCode))
            {
                return(8);
            }

            if (shareCode.StartsWith("steam://"))
            {
                return(ShareCode.Decode(shareCode.Substring(61)).MatchID);
            }

            if (shareCode.StartsWith("CSGO-"))
            {
                return(ShareCode.Decode(shareCode).MatchID);
            }

            ulong matchID;

            if (ulong.TryParse(shareCode, out matchID))
            {
                return(matchID);
            }

            _log.Warning("Could not convert Match ID {ID} to Unsigned Long.", shareCode);
            return(8);
        }
示例#6
0
    /// <summary>
    /// 金额合计(重新输入数量时)
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void txtQuantity_TextChanged(object sender, EventArgs e)
    {
        //金额合计
        double amount   = 0;
        int    quantity = 0;
        double price    = 0;

        for (int i = 0; i < this.Repeater1.Items.Count; i++)
        {
            TextBox txt = (TextBox)this.Repeater1.Items[i].FindControl("txtQuantity");
            Label   lb  = (Label)this.Repeater1.Items[i].FindControl("lbPrice");

            if (!ShareCode.VldInteger(txt.Text))
            {
                ShareCode.AlertMsg(this, "shopName", "数量,请输入正整数", "", false);
                return;
            }

            quantity = string.IsNullOrEmpty(txt.Text) ? 0 : int.Parse(txt.Text);
            price    = string.IsNullOrEmpty(lb.Text) ? 0 : double.Parse(lb.Text);

            amount += quantity * price;
        }
        lbTotal.Text = amount.ToString();
    }
        public JsonResult GetShareCode(ShareableEntityType entityType, Guid entityId)
        {
            ShareCode    shareCode    = ShareCodeManager.GetShareCode(entityType, entityId);
            ShareCodeDto shareCodeDto = ShareCodeDto.Create(shareCode);

            return(new JsonServiceStackResult(shareCodeDto));
        }
        public ShareCode GetShareCode(ShareableEntityType entityType, Guid entityId)
        {
            //  TODO: Support sharing other entities.
            if (entityType != ShareableEntityType.Playlist)
                throw new NotSupportedException("Only Playlist entityType can be shared currently.");

            ShareCode shareCode;

            try
            {
                Playlist playlistToCopy = PlaylistDao.Get(entityId);

                if (playlistToCopy == null)
                {
                    string errorMessage = string.Format("No playlist found with id: {0}", entityId);
                    throw new ApplicationException(errorMessage);
                }

                var shareablePlaylistCopy = new Playlist(playlistToCopy);
                PlaylistManager.Save(shareablePlaylistCopy);

                shareCode = new ShareCode(shareablePlaylistCopy);
                Save(shareCode);
            }
            catch (Exception exception)
            {
                Logger.Error(exception);
                throw;
            }

            return shareCode;
        }
        public ShareCode GetShareCode(ShareableEntityType entityType, Guid entityId)
        {
            //  TODO: Support sharing other entities.
            if (entityType != ShareableEntityType.Playlist)
            {
                throw new NotSupportedException("Only Playlist entityType can be shared currently.");
            }

            ShareCode shareCode;

            try
            {
                Playlist playlistToCopy = PlaylistDao.Get(entityId);

                if (playlistToCopy == null)
                {
                    string errorMessage = string.Format("No playlist found with id: {0}", entityId);
                    throw new ApplicationException(errorMessage);
                }

                var shareablePlaylistCopy = new Playlist(playlistToCopy);
                PlaylistManager.Save(shareablePlaylistCopy);

                shareCode = new ShareCode(shareablePlaylistCopy);
                Save(shareCode);
            }
            catch (Exception exception)
            {
                Logger.Error(exception);
                throw;
            }

            return(shareCode);
        }
示例#10
0
        public void GetSharedPlaylist_PlaylistShareCodeExists_CopyOfPlaylistCreated()
        {
            User user = Helpers.CreateUser();

            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            ShareCode shareCode = ShareCodeManager.GetShareCode(ShareableEntityType.Playlist, user.Playlists.First().Id);

            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();

            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            //  Create a new playlist for the given user by loading up the playlist via sharecode.
            var result = (JsonServiceStackResult)PlaylistController.CreateCopyByShareCode(shareCode.ShortId, shareCode.UrlFriendlyEntityTitle, user.Id);

            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();

            var playlistDto = (PlaylistDto)result.Data;

            //  Make sure we actually get a Playlist DTO back from the Controller.
            Assert.NotNull(playlistDto);

            NHibernateSessionManager.Instance.OpenSessionAndBeginTransaction();
            User userFromDatabase = UserDao.Get(playlistDto.UserId);

            //  Make sure that the created playlist was cascade added to the User
            Assert.That(userFromDatabase.Playlists.Count(p => p.Id == playlistDto.Id) == 1);

            NHibernateSessionManager.Instance.CommitTransactionAndCloseSession();
        }
示例#11
0
        public async Task <int> DownloadDemoFromShareCode(string shareCode, CancellationToken ct)
        {
            ShareCode.ShareCodeStruct s = ShareCode.Decode(shareCode);

            int result = await StartBoiler(ct, args : $"{s.MatchId} {s.OutcomeId} {s.TokenId}");

            return(result);
        }
 public string GetPRProjectOption(string defV)
 {
     //采购组织
     if (dtPRp == null || dtPRp.Rows.Count <= 0)
     {
         dtPRp = bll.GetPRProject();
     }
     return(ShareCode.GetSelectOptionHtml(dtPRp, "ProjectNr", "Description", defV));
 }
        private void ReGenerateCode(object sender, RoutedEventArgs e)
        {
            string localIP = pLocalIP.Text;

            if (ShareCode.ValidateIP(localIP))
            {
                pShareCode.Content = "Code: " + ShareCode.GenerateShareCode(localIP);
            }
        }
示例#14
0
        public void AddNew_EmptyRepository_IsAdded()
        {
            var shareCode = new ShareCode("CSGO-XPBWY-U43tj-DpmEA-jsZRk-34OJM");

            myShareCodeRepository.AddNew(new List <ShareCode> {
                shareCode
            });

            Assert.Contains(shareCode, myShareCodeRepository.ShareCodes.AsEnumerable());
        }
        public ShareCode entityToModel(tbl_sharecode entity)
        {
            ShareCode model = new ShareCode();

            model.openId    = entity.openId;
            model.postsId   = entity.postsId;
            model.shareId   = entity.shareId;
            model.shareTime = entity.shareTime;
            return(model);
        }
示例#16
0
 public void TestDecoder()
 {
     if (ShareCode.Decode("CSGO-727c4-5oCG3-PurVX-sJkdn-LsXfE").MatchID == 3208347562318757960)
     {
         Assert.True(true, "The decoded Match ID is 3208347562318757960");
     }
     else
     {
         Assert.True(false);
     }
 }
示例#17
0
        public void GetRetryableBatch_RequestSingleAfterEarliestRetry_ReturnsCode()
        {
            var codeWithZeroRetryCooldown = new ShareCode("CSGO-XPBWY-U43tj-DpmEA-jsZRk-34OJM", TimeSpan.Zero);

            myShareCodeRepository.ShareCodes.Add(codeWithZeroRetryCooldown);
            myShareCodeRepository.SaveChanges();
            _ = myShareCodeRepository.GetBatch(1);

            var secondRequest = myShareCodeRepository.GetRetryableBatch(1).Single();

            Assert.Equal(codeWithZeroRetryCooldown.Code, secondRequest.Code);
        }
示例#18
0
 public void Save(ShareCode shareCode)
 {
     try
     {
         DoSave(shareCode);
     }
     catch (Exception exception)
     {
         Logger.Error(exception);
         throw;
     }
 }
示例#19
0
 public void Save(ShareCode shareCode)
 {
     try
     {
         DoSave(shareCode);
     }
     catch (Exception exception)
     {
         Logger.Error(exception);
         throw;
     }
 }
        public Profile()
        {
            InitializeComponent();
            ProfileController pro = new ProfileController();
            Users             usr = pro.GetProfileInfo();

            pFirstName.Text    = usr.FirstName;
            pLastName.Text     = usr.LastName;
            pUsername.Text     = usr.Username;
            pEmail.Text        = usr.Email;
            pLocalIP.Text      = ShareCode.GetIPFromCode(usr.ShareCode);
            pShareCode.Content = "Code: " + usr.ShareCode;
        }
示例#21
0
        public ShareCodeDto GetShareCodeByShortIdAndEntityTitle(string shortId, string entityTitle)
        {
            ShareCodeDto shareCodeDto;

            using (ITransaction transaction = Session.BeginTransaction())
            {
                ShareCode shareCode = ShareCodeManager.GetByShortIdAndEntityTitle(shortId, entityTitle);
                shareCodeDto = ShareCodeDto.Create(shareCode);

                transaction.Commit();
            }

            return(shareCodeDto);
        }
示例#22
0
        public void GetBatch_RepositoryHasTwoEntriesRequestTwoTimes_SecondCallReturnsSecondEntry()
        {
            var first  = new ShareCode("CSGO-XPBWY-U43tj-DpmEA-jsZRk-34OJM");
            var second = new ShareCode("CSGO-b7UOr-F4sao-znyvb-3Q3HM-tJpxA");

            myShareCodeRepository.ShareCodes.Add(first);
            myShareCodeRepository.ShareCodes.Add(second);
            myShareCodeRepository.SaveChanges();
            _ = myShareCodeRepository.GetBatch(1).Single();

            var secondCall = myShareCodeRepository.GetBatch(1).Single();

            Assert.Equal(second.Code, secondCall.Code);
        }
示例#23
0
        public void GetRetryableBatch_RepositoryHasOneEntryBeforeAndOneAfterEarliestRetryRequestTwo_ReturnsOneRetryableEntry()
        {
            var codeWithRegularCooldown   = new ShareCode("CSGO-b7UOr-F4sao-znyvb-3Q3HM-tJpxA");
            var codeWithZeroRetryCooldown = new ShareCode("CSGO-XPBWY-U43tj-DpmEA-jsZRk-34OJM", TimeSpan.Zero);

            myShareCodeRepository.ShareCodes.Add(codeWithRegularCooldown);
            myShareCodeRepository.ShareCodes.Add(codeWithZeroRetryCooldown);
            myShareCodeRepository.SaveChanges();
            _ = myShareCodeRepository.GetBatch(2);

            var secondRequest = myShareCodeRepository.GetRetryableBatch(2);

            Assert.Single(secondRequest);
            Assert.Equal(codeWithZeroRetryCooldown.Code, secondRequest.Single().Code);
        }
示例#24
0
        public void AddNew_ShareCodeDoesNotExistYet_IsAdded()
        {
            var existingShareCode = new ShareCode("CSGO-XPBWY-U43tj-DpmEA-jsZRk-34OJM");

            myShareCodeRepository.ShareCodes.Add(existingShareCode);
            myShareCodeRepository.SaveChanges();

            var newShareCode = new ShareCode("CSGO-b7UOr-F4sao-znyvb-3Q3HM-tJpxA");

            myShareCodeRepository.AddNew(new List <ShareCode> {
                newShareCode
            });

            Assert.Contains(newShareCode, myShareCodeRepository.ShareCodes.AsEnumerable());
        }
        public ShareCodeDto GetShareCode(Guid playlistId)
        {
            ShareCodeDto shareCodeDto;

            using (ITransaction transaction = Session.BeginTransaction())
            {
                Playlist  playlist  = PlaylistManager.CopyAndSave(playlistId);
                ShareCode shareCode = ShareCodeManager.GetShareCode(playlist);
                shareCodeDto = ShareCodeDto.Create(shareCode);

                transaction.Commit();
            }

            return(shareCodeDto);
        }
示例#26
0
        public ShareCodeDto GetShareCode(Guid playlistId)
        {
            ShareCodeDto shareCodeDto;

            using (ITransaction transaction = Session.BeginTransaction())
            {
                //  Copy the playlist here to serve a static copy instead of whatever the state is when share code is accessed.
                Playlist  playlist  = PlaylistManager.CopyAndSave(playlistId);
                ShareCode shareCode = ShareCodeManager.GetShareCode(playlist);
                shareCodeDto = ShareCodeDto.Create(shareCode);

                transaction.Commit();
            }

            return(shareCodeDto);
        }
示例#27
0
        public ShareCode GetShareCode(IShareableEntity shareableEntity)
        {
            ShareCode shareCode;

            try
            {
                shareCode = new ShareCode(shareableEntity);
                DoSave(shareCode);
            }
            catch (Exception exception)
            {
                Logger.Error(exception);
                throw;
            }

            return(shareCode);
        }
示例#28
0
        public void Save(ShareCode shareCode)
        {
            try
            {
                NHibernateSessionManager.Instance.BeginTransaction();

                DoSave(shareCode);

                NHibernateSessionManager.Instance.CommitTransaction();
            }
            catch (Exception exception)
            {
                Logger.Error(exception);
                NHibernateSessionManager.Instance.RollbackTransaction();
                throw;
            }
        }
    /// <summary>
    /// 供应商确认
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnCom_Click(object sender, EventArgs e)
    {
        f_SRM_Result model = new f_SRM_Result();

        model.id              = hdfid.Value;
        model.WorkFlowStatus  = "4";//供应商确认
        model.SRM_Contract_NO = lbSrmNo.Text.Trim();

        int relt = bll.UpdateContactInfo(model);

        if (relt > 0)
        {
            ShareCode.AlertMsg(this, "play", "确认成功", "Distributor.aspx", false);

            //LoadData(hdfid.Value);
        }
    }
示例#30
0
        public ShareCode GetShareCode(IShareableEntity shareableEntity)
        {
            ShareCode shareCode;

            try
            {
                shareCode = new ShareCode(shareableEntity);
                DoSave(shareCode);
            }
            catch (Exception exception)
            {
                Logger.Error(exception);
                throw;
            }

            return shareCode;
        }
示例#31
0
        public void Save(ShareCode shareCode)
        {
            try
            {
                NHibernateSessionManager.Instance.BeginTransaction();

                DoSave(shareCode);

                NHibernateSessionManager.Instance.CommitTransaction();
            }
            catch (Exception exception)
            {
                Logger.Error(exception);
                NHibernateSessionManager.Instance.RollbackTransaction();
                throw;
            }
        }
示例#32
0
    /// <summary>
    /// 供应商确认
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnCom_Click(object sender, EventArgs e)
    {
        f_SRM_Result model = new f_SRM_Result();

        model.id              = hdfid.Value;
        model.WorkFlowStatus  = "2";//供应商确认中
        model.SRM_Contract_NO = hdfSRMNo.Value;

        int relt = bll.UpdateContactInfo(model);

        if (relt > 0)
        {
            ShareCode.AlertMsg(this, "play", "提交供应商确认成功", "", false);

            LoadData(hdfid.Value);
        }
    }
    protected void Repeater1_OnItemCommand(object source, RepeaterCommandEventArgs e)
    {
        //复制模板
        if (e.CommandName == "Copy")
        {
            string id = e.CommandArgument.ToString();

            int relt = bll.CopyContractTempleet(id);
            if (relt > 0)
            {
                ShareCode.AlertMsg(this, "play", "复制成功", "", false);
                BindData();
            }
            else
            {
                ShareCode.AlertMsg(this, "play", "复制失败", "", false);
            }
        }
    }
示例#34
0
        public void GetSharedPlaylist_PlaylistShareCodeExists_CopyOfPlaylistCreated()
        {
            Folder folder = UserManager.CreateUser().Folders.First();

            ShareCode shareCode = ShareCodeManager.GetShareCode(ShareableEntityType.Playlist, folder.Playlists.First().Id);

            JsonDataContractActionResult result = (JsonDataContractActionResult)PlaylistController.CreateCopyByShareCode(shareCode.ShortId, shareCode.UrlFriendlyEntityTitle, folder.Id);
            PlaylistDto playlistDto             = (PlaylistDto)result.Data;

            //  Make sure we actually get a Playlist DTO back from the Controller.
            Assert.NotNull(playlistDto);

            NHibernateSessionManager.Instance.Clear();

            Folder folderFromDatabase = FolderDao.Get(playlistDto.FolderId);

            //  Make sure that the created playlist was cascade added to the Folder
            Assert.That(folderFromDatabase.Playlists.Count(p => p.Id == playlistDto.Id) == 1);
        }
示例#35
0
 /// <summary>
 ///     This is the work for saving a ShareCode without the Transaction wrapper.
 /// </summary>
 private void DoSave(ShareCode shareCode)
 {
     shareCode.ValidateAndThrow();
     ShareCodeDao.Save(shareCode);
 }
示例#36
0
 public static ShareCodeDto Create(ShareCode shareCode)
 {
     ShareCodeDto shareCodeDto = Mapper.Map<ShareCode, ShareCodeDto>(shareCode);
     return shareCodeDto;
 }