Exemple #1
0
        private bool UnlockTrophy(int trophyId, DateTime trophyTime, ListViewItem lvi)
        {
            if (trophyId == 0 && tconf.HasPlatinium && (GetCountBaseTrophiesAchieved() < baseGamaCount))
            {
                MessageBox.Show(Properties.strings.CantUnloclPlatinumBeforOther);
                return(false);
            }

            if (ValidateSelectedDate(trophyTime))
            {
                try
                {
                    tpsn.PutTrophy(trophyId, tusr.trophyTypeTable[trophyId].Type, trophyTime);
                    tusr.UnlockTrophy(trophyId, trophyTime);
                    lvi.SubItems[4].Text = Properties.strings.yes;
                    lvi.BackColor        = Color.White;
                    lvi.SubItems[6].Text = trophyTime.ToString(Properties.strings.DateFormatString);
                    CompletionRates();
                    haveBeenEdited = true;
                    return(true);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    return(false);
                }
            }
            return(false);
        }
Exemple #2
0
        private void listViewEx1_DoubleClick(object sender, EventArgs e)
        {
            int          trophyID = ((ListView)sender).SelectedItems[0].ImageIndex;// 在這裡imageid其實等於trophy ID   ex 白金0號, 1...
            ListViewItem lvi      = ((ListView)sender).SelectedItems[0];

            if (tpsn[trophyID].HasValue && tpsn[trophyID].Value.IsSync)   // 尚未同步的才可編輯
            {
                MessageBox.Show(Properties.strings.SyncedTrophyCanNotEdit);
            }
            else if (tpsn[trophyID].HasValue)     // 已經取得的獎杯,刪除之
            {
                if (trophyID != 0 && (tpsn.Count == tusr.all_trophy_number))
                {
                    MessageBox.Show(Properties.strings.CantLoclPlatinumBeforOther);
                }
                else if (MessageBox.Show(Properties.strings.DeleteTrophyConfirm, Properties.strings.Delete, MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    tpsn.DeleteTrophyByID(trophyID);
                    tusr.LockTrophy(trophyID);
                    lvi.SubItems[4].Text = Properties.strings.no;
                    lvi.BackColor        = Color.LightGray;
                    lvi.SubItems[6].Text = new DateTime(0).ToString(dtpForm.dateTimePicker1.CustomFormat);
                    tusr.LockTrophy(trophyID);
                    CompletionRates();
                    haveBeenEdited = true;
                }
            }
            else      // nonget
            {
                if (trophyID == 0 && (tpsn.Count != tusr.all_trophy_number - 1))
                {
                    MessageBox.Show(Properties.strings.CantUnloclPlatinumBeforOther);
                }
                else if (dtpForm.ShowDialog(this) == DialogResult.OK)
                {
                    tpsn.PutTrophy(trophyID, tusr.trophyTypeTable[trophyID].Type, dtpForm.dateTimePicker1.Value);
                    tusr.UnlockTrophy(trophyID, dtpForm.dateTimePicker1.Value);
                    lvi.SubItems[4].Text = Properties.strings.yes;
                    lvi.BackColor        = ((ListView)sender).BackColor;
                    lvi.SubItems[6].Text = dtpForm.dateTimePicker1.Value.ToString(dtpForm.dateTimePicker1.CustomFormat);
                    tusr.UnlockTrophy(trophyID, dtpForm.dateTimePicker1.Value);
                    CompletionRates();
                    haveBeenEdited = true;
                }
            }
        }