private void btnAddUpdateTreatment_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            string treatmentKey = txtTreatmentKey.Text.Trim();
            string treatmentName = txtTreatmentName.Text.Trim();
            decimal price;

            if (AreValidFields(treatmentName, treatmentKey, out price) == false)
            {
                return;
            }

            if (_isUpdateTreatmentInfo)
            {
                _treatmentToUpdate.Name = treatmentName;
                _treatmentToUpdate.TreatmentKey = treatmentKey;
                _treatmentToUpdate.Price = price;
                _treatmentToUpdate.Discount = (int)cbDiscount.SelectedItem;
                _treatmentToUpdate.CreatedDate = DateTime.Now;

                UpdateTreatment(_treatmentToUpdate);
            }
            else
            {
                Model.TreatmentPrice treatmentToAdd = new Model.TreatmentPrice()
                {
                    Name = treatmentName,
                    TreatmentKey = treatmentKey,
                    Price = price,
                    Discount = (int)cbDiscount.SelectedItem,
                    Type = _treatmentType,
                    CreatedDate = DateTime.Now,
                    IsDeleted = false
                };

                AddTreatment(treatmentToAdd);
            }
        }
        public AddEditTreatmentPricesModal(Model.TreatmentPrice treatmentToUpdate, string tratmentType)
		{
			this.InitializeComponent();

            _treatmentType = tratmentType;
            _treatmentToUpdate = treatmentToUpdate;
            _isUpdateTreatmentInfo = _treatmentToUpdate != null;

            if (_isUpdateTreatmentInfo)
            {
                PrepareWindowForUpdates();
            }

            if (_treatmentType == Controllers.Utils.TREATMENT_DENTISTRY)
            {
                lblTreatmentDuration.Visibility = System.Windows.Visibility.Visible;
                cbDiscount.Visibility = System.Windows.Visibility.Visible;
                lblPercentCaption.Visibility = System.Windows.Visibility.Visible;
            }
            else
            {
                this.Height = 275;
            }
        }
        private void CopyAllPricesOfLastYear()
        {
            bool treatmentsAdded = true;
            List<Model.TreatmentPrice> allTreatments = BusinessController.Instance.FindBy<Model.TreatmentPrice>(t => t.IsDeleted == false && t.CreatedDate.Year == (DateTime.Now.Year - 1)).ToList();

            foreach (Model.TreatmentPrice treatmentToCopy in allTreatments)
            {
                Model.TreatmentPrice newTreatmentPrice = new Model.TreatmentPrice()
                {
                    CreatedDate = DateTime.Now,
                    Discount = treatmentToCopy.Discount,
                    IsDeleted = false,
                    Name = treatmentToCopy.Name,
                    Price = treatmentToCopy.Price,
                    TreatmentKey = treatmentToCopy.TreatmentKey,
                    Type = treatmentToCopy.Type
                };

                treatmentsAdded &= BusinessController.Instance.Add<Model.TreatmentPrice>(newTreatmentPrice);
            }

            dtudSelectedYear.Value = DateTime.Now;
            UpdateAllGrid();

            if (treatmentsAdded)
            {
                MessageBox.Show("Tratamientos copiados", "Información", MessageBoxButton.OK, MessageBoxImage.Information);
            }
            else
            {
                MessageBox.Show("Ocurrio un error al tratar de copiar los precios de los tratamientos", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
        private void PrepareWindowForUpdates()
        {
            this.Title = "Actualizar tratamiento de caja";
            btnAddTreatment.Content = "Actualizar";
            txtTreatmentCost.Text = _treatment.Price.ToString();
            txtQuantity.Text = _treatment.Quantity.ToString();
            txtTotalAmount.Text = _treatment.Total.ToString();
            cbDiscount.SelectedValue = _treatment.Discount;
            UpdateTotalFieldChanged();

            _selectedTreatmentPrice = _treatmentControl.TreatmentPrice;
            UpdateTreatment();
        }
 private void btnRemoveTreatment_Click(object sender, System.Windows.RoutedEventArgs e)
 {
     _selectedTreatmentPrice = null;
     txtTreatment.Text = string.Empty;
     UpdateTreatment();
 }
        private void btnFindTreatment_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            List<Model.TreatmentPrice> selectedTreatments = new List<Model.TreatmentPrice>();
            new FindTreatmentPriceModal(selectedTreatments, txtTreatment.Text.Trim()).ShowDialog();

            _selectedTreatmentPrice = selectedTreatments.Count == 0 ? null : selectedTreatments[0];

            UpdateTreatment();
            UpdateCostAndDiscount();
        }