Exemplo n.º 1
0
        /// <summary>
        /// Kliknutí na grafický záznam - finance * uloží zakliknutý záznam do proměnné editFinanceRecord v této třídě
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void GraphicFinanceRecordClick(object sender, EventArgs e)
        {
            editFinanceRecord = sender as FinanceRecord;
            AddFinanceWindow window = new AddFinanceWindow(this, DefineVM_Finance(false));

            window.Show();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Metoda pro odebrání transakce
        /// </summary>
        /// <param name="removeRecord">Záznam k odebrání</param>
        public void RemoveFinanceRecord(FinanceRecord removeRecord)
        {
            // Odebrání záznamu z kolekce
            FinanceRecords.Remove(removeRecord);

            SaveFinance();
            SaveIDs();
        }
Exemplo n.º 3
0
 /// <summary>
 /// Rozšířený konstruktor - umožňuje bindovat data pro úpravu záznamu
 /// </summary>
 /// <param name="pigColection">Kolekce všech prasat pro comboBox</param>
 /// <param name="selectType">Vybraný typ transakce - příjem / výdaj</param>
 /// <param name="selectCategory">Vybraná kategorie</param>
 /// <param name="selectPig">Vybrané konkrétní zvíře</param>
 /// <param name="editRecord">Upravovaný záznam</param>
 public VM_Finance(List <Pig> pigColection, int selectType, int selectCategory, int selectPig, FinanceRecord editRecord)
 {
     Pigs           = pigColection;
     SelectType     = selectType;
     SelectCategory = selectCategory;
     SelectPig      = selectPig;
     record         = editRecord;
     NewRecordFlag  = false;
 }
Exemplo n.º 4
0
        /// <summary>
        /// Metoda pro vytvoření View modelu finance
        /// </summary>
        /// <returns>View model</returns>
        public VM_Finance DefineVM_Finance(bool newFinanceRecord)
        {
            List <Pig> pigs = new List <Pig>();

            // Přidání kolekcí prasnic a následně ostatních prasat
            pigs.AddRange(admin.Saws);
            pigs.AddRange(admin.Pigs);
            // Úprava stávajícího záznamu
            if (!newFinanceRecord && editFinanceRecord != null)
            {
                // Nalezení zvířete v kolekci, a uložení jeho pořadí - aby bylo možné v ComboBoxu zobrazit odpovídající řádek
                // - pokud nenajde vrátí -1 a tento index se uloží do vybraného prasete
                int pigIndex = pigs.FindIndex(a => a.Id == editFinanceRecord.RelativeAnimalId);
                return(new VM_Finance(pigs, (int)editFinanceRecord.TypeRecord, (int)editFinanceRecord.Category, pigIndex, editFinanceRecord));
            }
            // View model pro nový záznam - tedy data pro comboBoxy pouze
            else
            {
                editFinanceRecord = null;
                return(new VM_Finance(pigs));
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Metoda pro přidání nebo úpravu transakce
        /// </summary>
        /// <param name="operation">0 - nový záznam * 1 - úprava stávajícího</param>
        /// <param name="date">Datum transakce</param>
        /// <param name="name">Název transakce * MAX 50 znaků</param>
        /// <param name="price">Částka transakce</param>
        /// <param name="description">Popis transakce</param>
        /// <param name="typeFinance">Příjmy / výdaje</param>
        /// <param name="category">Pořadí kategorie transakce</param>
        /// <param name="animalId">Pořadí zvířete, kterého se transakce týká</param>
        /// <param name="editRecord">Záznam pro úpravu</param>
        public void AddEditFinanceRecord(byte operation, DateTime date, string name, int price, string description, FinanceTypeRecord typeFinance, FinanceCategory category
                                         , int animalId, FinanceRecord editRecord)
        {
            // Nový záznam
            if (operation == 0)
            {
                FinanceRecords.Add(new FinanceRecord(price, name, date, description, typeFinance, category, animalId));
            }
            // Úprava stávajícího
            else if (operation == 1)
            {
                editRecord.Date        = date;
                editRecord.Name        = name;
                editRecord.Price       = price;
                editRecord.Description = description;

                editRecord.TypeRecord       = typeFinance;
                editRecord.Category         = category;
                editRecord.RelativeAnimalId = animalId;
            }
            // Uložení dat na disk C
            SaveFinance();
            SaveIDs();
        }
Exemplo n.º 6
0
 /// <summary>
 /// Základní konstruktor - nový záznam model
 /// </summary>
 /// <param name="pigColection">Kolekce všech prasat pro comboBox</param>
 public VM_Finance(List <Pig> pigColection)
 {
     record        = null;
     Pigs          = pigColection;
     NewRecordFlag = true;
 }
        /// <summary>
        /// Základní konstruktor - vytvoří vše potřebné pro vykreslení
        /// </summary>
        /// <param name="record"></param>
        public FinanceGraphicRecord(FinanceRecord record)
        {
            // Částka
            Price = new TextBlock
            {
                FontSize   = 16,
                FontWeight = FontWeights.Bold,
                Foreground = Brushes.Black,
                Text       = record.Price.ToString() + "\tKč"
            };
            // Datum
            Date = new TextBlock
            {
                FontSize   = 15,
                FontWeight = FontWeights.Bold,
                Foreground = Brushes.Black,
                Text       = record.Date.ToShortDateString()
            };
            // Název kategorie
            CategoryName = new TextBlock
            {
                FontSize   = 14,
                FontWeight = FontWeights.DemiBold,
                Foreground = Brushes.Black,
                Text       = Admin.FinanceCategory_Czech[(int)record.Category]
            };
            // Název transakce
            Title = new TextBlock
            {
                FontSize   = 14,
                FontWeight = FontWeights.DemiBold,
                Foreground = Brushes.Black,
                Text       = record.Name
            };
            // HOrní obdelník
            RectangleTop = new Rectangle
            {
                Width   = 380,
                Height  = 25,
                RadiusX = 3,
                RadiusY = 3,
                Fill    = new SolidColorBrush(Color.FromArgb(255, 111, 121, 182))
            };

            RectangleDown = new Rectangle
            {
                Width           = 380,
                Height          = 25,
                RadiusX         = 5,
                RadiusY         = 5,
                Fill            = new SolidColorBrush(Color.FromArgb(160, 0, 255, 0)), //Brushes.White,
                StrokeThickness = 1,
                Stroke          = Brushes.Gray
            };

            if (record.TypeRecord == FinanceTypeRecord.Costs)
            {
                RectangleDown.Fill = new SolidColorBrush(Color.FromArgb(160, 255, 0, 0));//(255, 255, 108, 108));
            }
            // Přiřazení záznamu a přidání obsluhy kliknutí na spodní obdelník, název kategorie a název transakce
            FinanceRecord            = record;
            RectangleDown.MouseDown += RectangleDown_MouseDown;
            Title.MouseDown         += RectangleDown_MouseDown;
            CategoryName.MouseDown  += RectangleDown_MouseDown;
        }