public ConsoleDraft(EditorModel editorModel)
        {
            model = editorModel;

            draftModel = new DraftModel(model);
            Trace.WriteLine("# PGID Team   Pos  OVR INJ");
            draftModel.DumpDraftResults();
            Trace.WriteLine("\n\n");

            // InitializeDraft makes all of the mandatory operations
            // to run a draft.  Other optional actions that need to
            // be run at the start appear below.  The thought is that
            // a settings tab will allow the user to toggle off some features
            // but everything in InitializeDraft MUST be run at the start.
            draftModel.InitializeDraft(19);


            draftModel.FixDraftOrder();

            /*
             * draftModel.DumpRookies((int)RookieRecord.Attribute.OVR);
             * draftModel.DumpRookies((int)RookieRecord.Attribute.INJ);
             */

            for (int i = 0; i < 224; i++)
            {
                draftModel.MakeSelection(i, null);
            }

            Trace.WriteLine("# PGID Team   Pos  OVR INJ PlayerValue PickValue");
            draftModel.DumpDraftResults();
        }
示例#2
0
 public static async Task DeleteDraft(DraftModel item)
 {
     using (var db = new DraftDbContext())
     {
         db.Draft.Remove(db.Draft.Find(item.Id));
         await db.SaveChangesAsync();
     }
 }
示例#3
0
        private void clearRookieGamesPlayedToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("Are you sure you want to clear all rookie games played data?  You should only do this during the offseason or at the beginning of the season.", "Confirm", MessageBoxButtons.YesNo);

            if (dr == DialogResult.Yes)
            {
                DraftModel dm = new DraftModel(model);
                dm.ClearRookieGameRecords();
            }
        }
示例#4
0
 private static async void HandleSuccessAsync(DraftModel item)
 {
     if (item.Medias != null && item.Medias.Any())
     {
         foreach (var media in item.Medias)
         {
             await media.DeleteFile();
         }
     }
     using (var db = new DraftDbContext())
     {
         db.Draft.Remove(db.Draft.Find(item.Id));
         await db.SaveChangesAsync();
     }
 }
示例#5
0
        public List <DraftModel> findDrafts(DraftModel draftModel, int page = 0, string FromDate = "", string ToDate = "")
        {
            var    result = new List <DraftModel>();
            string query  = String.Format("SELECT * from Draft WHERE ID Is NOT NULL ");

            query += !string.IsNullOrEmpty(draftModel.Number) ? String.Format(" AND Number = '{0}'", draftModel.Number) : "";
            query += draftModel.Management != "" ?String.Format("AND Management ='{0}'", draftModel.Management) : "";

            query += draftModel.CarTag != "" ?String.Format("AND CarTag ='{0}'", draftModel.CarTag) : "";

            query += draftModel.Driver != "" ?String.Format("AND Driver ='{0}'", draftModel.Driver) : "";
            query += draftModel.Type != "" ? String.Format("AND Type ='{0}'", draftModel.Type) : "";

            query += draftModel.Origin != "" ? String.Format("AND Origin ='{0}'", draftModel.Origin) : "";
            query += draftModel.Destination != "" ?String.Format("AND Destination ='{0}'", draftModel.Destination) : "";

            if (FromDate != "" || ToDate != "")
            {
                if (FromDate != "" && ToDate != "")
                {
                    query += String.Format(" AND substr(Date,7)||substr(Date,1,2) ||substr(Date,4,2) between '{0}' and '{1}'",
                                           SplitBackFromDate(CommonUtils.ConvertPersianToMiladiDate(FromDate)),
                                           SplitBackFromDate(CommonUtils.ConvertPersianToMiladiDate(ToDate)));
                }
                else if (FromDate != "")
                {
                    query += String.Format(" AND substr(Date,7)||substr(Date,1,2) ||substr(Date,4,2) >= '{0}'", SplitBackFromDate(CommonUtils.ConvertPersianToMiladiDate(FromDate)));
                }
                else if (ToDate != "")
                {
                    query += String.Format(" AND substr(Date,7)||substr(Date,1,2) ||substr(Date,4,2) <= '{0}'", SplitBackFromDate(CommonUtils.ConvertPersianToMiladiDate(ToDate)));
                }
            }

            query += String.Format(" LIMIT 10 OFFSET {0}", page * 10);
            var executeQuery = db.LoadData(query);

            if (executeQuery.Rows.Count > 0)
            {
                foreach (DataRow item in executeQuery.Rows)
                {
                    result.Add(mapToModel(item));
                }
                return(result);
            }

            return(null);
        }
示例#6
0
        public DraftModel findUser(string userName, string password)
        {
            var result       = new DraftModel();
            var executeQuery = db.LoadData(String.Format("SELECT * from Users WHERE UserName = '******' AND Password = '******'", userName, password));

            if (executeQuery.Rows.Count > 0)
            {
                foreach (DataRow item in executeQuery.Rows)
                {
                    result = mapToModel(item);
                }
                return(result);
            }

            return(null);
        }
示例#7
0
        public DraftModel findDraftByNumber(string Number)
        {
            var result       = new DraftModel();
            var executeQuery = db.LoadData(String.Format("SELECT * from Draft WHERE Number={0}", Number));

            if (executeQuery.Rows.Count > 0)
            {
                foreach (DataRow item in executeQuery.Rows)
                {
                    result = mapToModel(item);
                }
                return(result);
            }

            return(null);
        }
示例#8
0
        public IActionResult CreateDraft(Guid leagueId)
        {
            if (!_leagueRepository.LeagueExists(leagueId))
            {
                _logger.LogWarning($"No league found for {leagueId}.");
                return(NotFound());
            }

            var league = _leagueRepository.GetLeague(leagueId);

            if (league.Teams.Count() < league.MinTeams)
            {
                _logger.LogError("Does not exceed team minimum.");
                return(BadRequest());
            }

            using (var transaction = _context.Database.BeginTransaction()){
                try
                {
                    //Add draft
                    var draftModel = new DraftModel();
                    draftModel.StartDate = DateTime.Now;
                    draftModel.LeagueId  = leagueId;
                    var draftEntity = _mapper.Map <Draft>(draftModel);
                    _draftRepository.AddDraft(draftEntity);

                    if (!_mlbDraftRepository.Save())
                    {
                        throw new Exception("Creating a draft failed on save.");
                    }

                    //Create draft Selections and draft team rosters
                    CreateDraftSelectionsAndRosters(draftEntity);
                    var draftToReturn = _mapper.Map <DraftModel>(draftEntity);
                    transaction.Commit();

                    return(CreatedAtRoute("GetDraft",
                                          new { leagueId = leagueId,
                                                id = draftToReturn.Id },
                                          draftToReturn));
                }
                catch (Exception) {
                    transaction.Rollback();
                    throw;
                }
            }
        }
示例#9
0
 void FromDraft(DraftModel model)
 {
     Clean();
     Text               = model.Status.Replace("\n", "\r");
     IsSensitive        = model.Sensitive;
     ContentWarningText = model.SpoilerText;
     if (!string.IsNullOrEmpty(model.SpoilerText))
     {
         ContentWarning.IsChecked = true;
     }
     SelectedVisibilityIndex = TootVisibilityList.VisibilityList.FindIndex(v => v.VisibilityCode == model.Visibility);
     if (model.Medias != null && model.Medias.Any())
     {
         model.Medias.ForEach(async item => await AddMediaData(await StorageFileHelper.ReadBytesFromLocalFileAsync(item.SavedFile)));
     }
     _draftId = model.Id;
 }
示例#10
0
        public static void Save(DraftModel model)
        {
            var xElement = GetRootElement();

            if (model.StartDateTime != DateTime.MinValue)
            {
                xElement.SetAttributeValue(DraftStartDateTimeAttributeName, model.StartDateTime.ToStandardString());
            }
            if (model.StopDateTime != DateTime.MinValue)
            {
                xElement.SetAttributeValue(DraftStopDateTimeAttributeName, model.StopDateTime.ToStandardString());
            }
            if (model.Duration != TimeSpan.MinValue)
            {
                xElement.SetAttributeValue(DraftDurationAttributeName, model.Duration.ToStandardString());
            }
            SaveChanges();
        }
示例#11
0
        private Dictionary <string, string> bindFields(DraftModel model)
        {
            var paramValues = new Dictionary <string, string>();

            paramValues.Add(DraftConstantData.CarTag, model.CarTag);
            paramValues.Add(DraftConstantData.CertificateDriver, model.CertificateDriver);
            paramValues.Add(DraftConstantData.Date, model.Date);
            paramValues.Add(DraftConstantData.Destination, model.Destination);
            paramValues.Add(DraftConstantData.Driver, model.Driver);
            paramValues.Add(DraftConstantData.Management, model.Management);
            paramValues.Add(DraftConstantData.Number, model.Number.ToString());
            paramValues.Add(DraftConstantData.Origin, model.Origin);
            paramValues.Add(DraftConstantData.Serial, model.Serial);
            paramValues.Add(DraftConstantData.Truck, model.Truck);
            paramValues.Add(DraftConstantData.Type, model.Type);
            paramValues.Add(DraftConstantData.UserID, model.UserID.ToString());
            paramValues.Add(DraftConstantData.Value, model.Value.ToString());
            return(paramValues);
        }
        private void startButton_Click(object sender, EventArgs e)
        {
            startButton.Enabled = false;
            this.Cursor         = Cursors.WaitCursor;

            secs    = (int)minutes.Value * 60 + (int)seconds.Value;
            humanId = model.TeamModel.GetTeamIdFromTeamName((string)teamChooser.SelectedItem);

            if (draftClass.Checked)
            {
                OpenFileDialog ofd = new OpenFileDialog();
                ofd.DefaultExt  = "mdc";
                ofd.Filter      = "Madden Draft Class (*.mdc)|*.mdc";
                ofd.Multiselect = false;
                ofd.ShowDialog();

                if (ofd.FileName.Length > 0)
                {
                    customclass = ofd.FileName;
                }
            }

            draftModel = new DraftModel(model);

            if (customclass != null)
            {
                string response = draftModel.MDCVerify(customclass);

                if (response != null)
                {
                    MessageBox.Show("Error reading custom draft class file.  " + response, "Error");
                    this.Cursor         = Cursors.Arrow;
                    startButton.Enabled = true;
                    customclass         = null;
                    return;
                }
            }

            progressBar.Visible = true;
            //backgrounWorker.RunWorkerAsync();
            bg1();
        }
示例#13
0
        private void searchGrid(int page = 0)
        {
            var Name        = txtNumber.Text;
            var Family      = txtManagement.Text;
            var UserName    = txtFromDate.Text;
            var userService = new DraftCrud();
            var model       = new DraftModel();

            model.Number      = txtNumber.Text;
            model.Management  = txtManagement.Text;
            model.Date        = txtFromDate.Text;
            model.CarTag      = txtCarTag.Text;
            model.Driver      = txtDriver.Text;
            model.Origin      = txtOrigin.Text;
            model.Destination = txtDestination.Text;

            resultDrafts = userService.findDrafts(model, page, txtFromDate.Text, txtToDate.Text);
            if (resultDrafts == null)
            {
                btnNext.Enabled = false;
            }
            grdDrafts.DataSource = resultDrafts;
            if (resultDrafts != null)
            {
                grdDrafts.Columns[0].HeaderText  = "شناسه حواله";
                grdDrafts.Columns[1].HeaderText  = "شماره حواله";
                grdDrafts.Columns[2].HeaderText  = "سریال";
                grdDrafts.Columns[3].HeaderText  = "مدیریت";
                grdDrafts.Columns[4].HeaderText  = "کامیون";
                grdDrafts.Columns[5].Visible     = false;
                grdDrafts.Columns[6].HeaderText  = "پلاک";
                grdDrafts.Columns[7].HeaderText  = "راننده";
                grdDrafts.Columns[8].HeaderText  = "گواهینامه";
                grdDrafts.Columns[9].HeaderText  = "نوع";
                grdDrafts.Columns[10].Visible    = false;
                grdDrafts.Columns[11].HeaderText = "مقدار";
                grdDrafts.Columns[12].HeaderText = "مبدا";
                grdDrafts.Columns[13].HeaderText = "مقصد";
                grdDrafts.Columns[14].HeaderText = "شناسه کاربر";
                grdDrafts.Columns[15].HeaderText = "تاریخ";
            }
        }
示例#14
0
        private void setElementsValue(DraftModel model)
        {
            txtCarTag.Text            = model.CarTag;
            txtCertificateDriver.Text = model.CertificateDriver;
            txtDate.Text        = model.Date;
            txtDestination.Text = model.Destination;
            txtDriver.Text      = model.Driver;
            txtManagement.Text  = model.Management;
            txtNumber.Text      = model.Number.ToString();
            txtOrigin.Text      = model.Origin;
            txtSerial.Text      = model.Serial;
            txtTruck.Text       = model.Truck;
            txtType.Text        = model.Type;
            txtValue.Text       = model.Value.ToString();
            txtType.Text        = model.Type;
            int index = 0;

            foreach (var item in txtUserID.Items)
            {
                var ItemModel = item as ItemModel;
                if (ItemModel.ID == model.UserID)
                {
                    break;
                }
                index++;
            }
            txtUserID.SelectedIndex = index;

            index = 0;
            foreach (var item in txtTruck.Items)
            {
                var ItemModel = item as ItemModel;
                if (ItemModel.ID.ToString() == model.TruckID)
                {
                    break;
                }
                index++;
            }
            txtTruck.SelectedIndex = index;

            index = 0;
        }
示例#15
0
        private static async Task <StatusModel> SendDraft(DraftModel item)
        {
            var medias = new List <AttachmentModel>();

            if (item.Medias?.Count > 0)
            {
                foreach (var media in item.Medias)
                {
                    if (!string.IsNullOrEmpty(media.SavedFile))
                    {
                        medias.Add(await Media.Uploading(item.Domain, item.AccessToken, await StorageFileHelper.ReadBytesFromLocalFileAsync(media.SavedFile)));
                    }
                    else
                    {
                        medias.Add(await Media.Uploading(item.Domain, item.AccessToken, media.Data));
                    }
                }
            }
            return(await Statuses.Posting(item.Domain, item.AccessToken, item.Status, item.ReplyStatus?.InReplyToId ?? 0, item.Sensitive, item.SpoilerText, item.Visibility, medias.Select(m => m.Id).ToArray()));
        }
示例#16
0
        private void exportDraftClassToolStripMenuItem_Click(object sender, EventArgs e)
        {
            // Count the number of rookies in the class.  Insist on 257 rookies,
            // since that's the number of players in a Madden draft class, and we're
            // just overwriting those players.  Plus, any more might disturb the overall
            // pool of players in the long term.  This is enough for all drafted and the main
            // undrafted rookies anyway.

            DraftModel dmTemp     = new DraftModel(model);
            string     classStats = dmTemp.AnalyzeDraftClass(false);


            if (dmTemp.NumRooks > 257)
            {
                MessageBox.Show("Rookie class has more than 257 players.  You must delete some rookies to export this class.");
                return;
            }
            else if (dmTemp.NumRooks < 257)
            {
                MessageBox.Show("Rookie class has less than 257 players.  You must create more rookies to export this class.");
                return;
            }

            DialogResult dr = MessageBox.Show(classStats, "Draft Class Diagnostics", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dr == DialogResult.Yes)
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.OverwritePrompt = true;
                sfd.DefaultExt      = "mdc";
                sfd.AddExtension    = true;
                sfd.Filter          = "Madden Draft Classes (*.mdc)|*.mdc";

                sfd.ShowDialog();

                if (!sfd.FileName.Equals(""))
                {
                    model.PlayerModel.ExportDraftClass(sfd.FileName);
                }
            }
        }
示例#17
0
        public static DraftModel mapToModel(DataRow item)
        {
            var result = new DraftModel();

            result.Management        = Encoding.UTF8.GetString(item["Management"] as byte[]);
            result.CarTag            = Encoding.UTF8.GetString(item["CarTag"] as byte[]);
            result.Driver            = Encoding.UTF8.GetString(item["Driver"] as byte[]);
            result.CertificateDriver = Encoding.UTF8.GetString(item["CertificateDrive"] as byte[]);
            result.Number            = item["Number"].ToString();
            result.Serial            = item["Serial"].ToString();
            result.Truck             = CommonUtils.getTrucksType().Where(z => z.ID == Int32.Parse(item["Truck"].ToString())).FirstOrDefault().Name;
            result.TruckID           = item["Truck"].ToString();
            result.Type        = item["Type"].ToString();
            result.TypeID      = item["Type"].ToString();
            result.Origin      = item["Origin"].ToString();
            result.Destination = item["Destination"].ToString();
            result.Value       = Int32.Parse(item["Value"].ToString());
            result.UserID      = Int32.Parse(item["UserID"].ToString());
            result.ID          = Int32.Parse(item["ID"].ToString());
            return(result);
        }
示例#18
0
        private void btnPrintAll_Click(object sender, EventArgs e)
        {
            var Name        = txtNumber.Text;
            var Family      = txtManagement.Text;
            var UserName    = txtFromDate.Text;
            var userService = new DraftCrud();
            var model       = new DraftModel();

            model.Serial      = txtNumber.Text;
            model.Management  = txtManagement.Text;
            model.Date        = txtFromDate.Text;
            model.CarTag      = txtCarTag.Text;
            model.Driver      = txtDriver.Text;
            model.Origin      = txtOrigin.Text;
            model.Destination = txtDestination.Text;

            var data      = userService.findAllDrafts(model, page, txtFromDate.Text, txtToDate.Text);
            var stiReport = CommonUtils.ShowReportList(data);

            stiReport.Show();
        }
示例#19
0
 public static async void Add(DraftModel item)
 {
     using (var db = new DraftDbContext())
     {
         if (!db.Draft.Any(d => d.Id == item.Id))
         {
             if (item.Medias != null && item.Medias.Any())
             {
                 foreach (var media in item.Medias)
                 {
                     await media.SaveToFile();
                 }
             }
             db.Draft.Add(item);
             //if (item.Medias != null && item.Medias.Any())
             //    db.MediaData.AddRange(item.Medias);
             //if (item.ReplyStatus != null)
             //    db.Reply.Add(item.ReplyStatus);
             await db.SaveChangesAsync();
         }
     }
     Task.Run(() => HandleDraft(item));
 }
示例#20
0
        private static async Task HandleDraft(DraftModel item)
        {
            var message = ResourceHelper.GetString("SendDraft_OK");

            try
            {
                var result = await SendDraft(item);

                HandleSuccessAsync(item);
            }
            catch (Exception e)
            {
                message = ResourceHelper.GetString("SendDraft_Error");
                HandleFailedAsync(item.Id, e);
            }
            finally
            {
                await DispatcherHelper.ExecuteOnUIThreadAsync(() =>
                {
                    Notification.Show(message);
                }, Windows.UI.Core.CoreDispatcherPriority.Normal);
            }
        }
示例#21
0
        private void importDraftClassToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.DefaultExt  = "mdc";
            ofd.Filter      = "Madden Draft Class (*.mdc)|*.mdc";
            ofd.Multiselect = false;
            ofd.ShowDialog();

            if (ofd.FileName.Length > 0)
            {
                DraftModel dmTemp   = new DraftModel(model);
                string     response = dmTemp.MDCVerify(ofd.FileName);

                if (response == null)
                {
                    dmTemp.ImportRookies(ofd.FileName);
                }
                else
                {
                    MessageBox.Show("Error reading file.  " + response, "Error");
                }
            }
        }
示例#22
0
        /// <summary>
        /// 【异步方法】更新草稿
        /// </summary>
        /// <param name="accessTokenOrAppId">Token</param>
        /// <param name="mediaId">要更新的草稿的media_id</param>
        /// <param name="draft"></param>
        /// <param name="timeOut">代理请求超时时间(毫秒)</param>
        /// <param name="index">要更新的文章在图文消息中的位置(多图文消息时,此字段才有意义),第一篇为0</param>
        /// <returns></returns>
        public static async Task <WxJsonResult> UpdateDraftAsync(string accessTokenOrAppId, string mediaId, int index, DraftModel draft, int timeOut = Config.TIME_OUT)
        {
            return(await ApiHandlerWapper.TryCommonApiAsync(accessToken =>
            {
                string url = Config.ApiMpHost + "/cgi-bin/draft/update?access_token={0}";

                var data = new
                {
                    media_id = mediaId,
                    index = index,
                    articles = draft
                };
                return CommonJsonSend.SendAsync <WxJsonResult>(accessToken, url, data, CommonJsonSendType.POST, timeOut: timeOut);
            }, accessTokenOrAppId).ConfigureAwait(false));
        }
示例#23
0
        public TradeDownForm(DraftModel draftModel, DraftForm draftForm, TradeOffer to)
        {
            activeTeam = to.LowerTeam;
            HumanTeam  = to.HigherTeam;

            dm = draftModel;
            df = draftForm;

            dm.tradeDownForm = this;

            InitializeComponent();

            for (int i = 0; i < 32; i++)
            {
                nextpicks[i] = dm.GetNextPick(i, df.CurrentPick) + 1;
                teamnames[i] = dm.model.TeamModel.GetTeamNameFromTeamId(i);
                cons[i]      = dm.model.TeamModel.GetTeamRecord(i).CON;

                conversations[i] = new List <string>();
            }

            for (int i = 0; i < 32; i++)
            {
                if (i == HumanTeam)
                {
                    continue;
                }

                int lowestPick = 300;
                int nextTeam   = -1;

                foreach (KeyValuePair <int, int> pick in nextpicks)
                {
                    if (pick.Value < lowestPick && !teamsByNextPick.Contains(pick.Key))
                    {
                        lowestPick = pick.Value;
                        nextTeam   = pick.Key;
                    }
                }

                teamsByNextPick.Add(nextTeam);
            }

            myLabel.Text  = teamnames[HumanTeam] + "' Picks";
            CPUlabel.Text = teamnames[activeTeam] + "' Picks";

            picksList[to.HigherTeam] = new List <int>();
            picksList[to.HigherTeam].Add(to.pickNumber);

            foreach (int pick in to.higherAvailable)
            {
                picksList[to.HigherTeam].Add(pick);
            }

            for (int i = 1; i <= 7; i++)
            {
                if (!dm.futureTradedPicks[to.HigherTeam].ContainsKey(i))
                {
                    picksList[to.HigherTeam].Add(1000 + i);
                }
            }

            FillTeamBoxes();
            FillPickLists(activeTeam);
            RefreshPickBoxes();

            selectPrevious();
        }
示例#24
0
        public TradeUpForm(DraftModel draftModel, DraftForm draftForm, TradeOffer tradeOffer)
        {
            dm = draftModel;
            df = draftForm;

            dm.tradeUpForm = this;

            HigherCON = dm.model.TeamModel.GetTeamRecord(df.CurrentSelectingId).CON;
            LowerCON  = dm.model.TeamModel.GetTeamRecord(dm.HumanTeamId).CON;

            InitializeComponent();

            ourteam   = dm.model.TeamModel.GetTeamNameFromTeamId(dm.HumanTeamId);
            theirteam = dm.model.TeamModel.GetTeamNameFromTeamId(df.CurrentSelectingId);

            myLabel.Text  = ourteam + "' Picks";
            CPUlabel.Text = theirteam + "' Picks";

            to = tradeOffer;

            foreach (int pick in to.lowerAvailable)
            {
                myPicksList.Add(pick);
            }

            theirPicksList.Add(to.pickNumber);

            foreach (int pick in to.higherAvailable)
            {
                theirPicksList.Add(pick);
            }

            for (int i = 1; i <= 7; i++)
            {
                if (!dm.futureTradedPicks[to.LowerTeam].ContainsKey(i))
                {
                    myPicksList.Add(1000 + i);
                }
            }

            if (to.allowFuturePicksFromHigher)
            {
                // This was preventing all future draft picks from being eligible to be traded
                // changed to 1 instead of startRound
                //int startRound = to.pickNumber / 32 + 3;
                for (int i = 1; i <= 7; i++)
                {
                    if (!dm.futureTradedPicks[to.HigherTeam].ContainsKey(i))
                    {
                        theirPicksList.Add(1000 + i);
                    }
                }
            }

            refreshPickLists();

            offerButton.Enabled = false;
            resetButton.Enabled = false;

            refreshTotals();
        }