private void btnSave_Click(object sender, RoutedEventArgs e) { if (tbFullNameManager.Text == "") { tbFullNameManager.BorderBrush = Brushes.Red; } if (tbPercent.Text == "") { tbPercent.BorderBrush = Brushes.Red; } if (tbPhone.Text == "") { tbPhone.BorderBrush = Brushes.Red; } if (dpDate.Text == "") { dpDate.BorderBrush = Brushes.Red; } try { if (Convert.ToDouble(tbPercent.Text) >= 100) { MessageBox.Show("Процент от продаж не можетпревышить 100%."); return; } } catch { return; } try { ManagersDto man = new ManagersDto(); man.FullName = tbFullNameManager.Text; man.Note = tbNote.Text; man.PercentOnSale = (float)Convert.ToDouble(tbPercent.Text); man.Phone = Convert.ToDouble(tbPhone.Text); man.StartDateWork = Convert.ToDateTime(dpDate.Text); IManagersProcessDb manager = ProcessFactory.GetManagersProcess(); if (_id == 0) { manager.Add(man); } else { man.IDManager = _id; manager.Update(man); } } catch { return; } Close(); }
private void btnSave_Click(object sender, RoutedEventArgs e) { if (tbPaid.Text == "") { tbPaid.BorderBrush = Brushes.Red; } if (tbSum.Text == "") { tbSum.BorderBrush = Brushes.Red; } if (dpFinallyDate.Text == "") { dpFinallyDate.BorderBrush = Brushes.Red; } if (dpStartDate.Text == "") { dpStartDate.BorderBrush = Brushes.Red; } if (cbEnterprise.Text == "") { cbEnterprise.BorderBrush = Brushes.Red; } if (cbManager.Text == "") { cbManager.BorderBrush = Brushes.Red; } if (cbReklama.Text == "") { cbReklama.BorderBrush = Brushes.Red; } try { if ((Convert.ToDouble(tbAllSum.Text) - Convert.ToDouble(tbPaid.Text) < 0)) { MessageBox.Show("Цена превышает размер " + tbAllSum.Text + " рублей."); return; } } catch { } try { if (Convert.ToDateTime(dpStartDate.Text) > Convert.ToDateTime(dpFinallyDate.Text)) { MessageBox.Show("Дата начала размещения рекламы не должна быть позже даты окончания рекламы."); return; } } catch { } try { OrdersDto or = new OrdersDto(); or.Cost = (float)Convert.ToDouble(this.tbSum.Text); if (tbPaid.Text == "") { or.Paid = 0; } else { or.Paid = (float)Convert.ToDouble(this.tbPaid.Text); } or.FinallyDate = Convert.ToDateTime(this.dpFinallyDate.Text); or.FullNameManager = this.cbManager.SelectedItem as ManagersDto; or.NameEnterprise = this.cbEnterprise.SelectedItem as EnterprisesDto; or.StartDate = Convert.ToDateTime(this.dpStartDate.Text); or.TypeReklama = this.cbReklama.SelectedItem as TypeReklamaDto; int d1 = IntFromDMY(or.StartDate.Day, or.StartDate.Month, or.StartDate.Year); int d2 = IntFromDMY(or.FinallyDate.Day, or.FinallyDate.Month, or.FinallyDate.Year); int ddif = d2 - d1; if (or.TypeReklama.CarrierForReklama.TimeCarrier == "День") { int t = 0; if ((ddif / 30) == 0) { t = 1; } or.AllSum = (float)Math.Round(or.Cost * (ddif / 1), 0); } else if (or.TypeReklama.CarrierForReklama.TimeCarrier == "Неделя") { int t = 0; if ((ddif / 30) == 0) { t = 1; } or.AllSum = (float)Math.Round(or.Cost * (ddif / 7)); } else { int t = 0; if ((ddif / 30) == 0) { t = 1; } or.AllSum = (float)Math.Round(or.Cost * t); } or.Debt = (float)Convert.ToDouble(or.AllSum) - (float)Convert.ToDouble(this.tbPaid.Text); IOrdersProcessDb orProcess = ProcessFactory.GetOrdersProcess(); IWageProcessDb wageProcess = ProcessFactory.GetWageProcess(); if (wageProcess.Get(or.FullNameManager.IDManager) == null) { WageDto wage = new WageDto(); IManagersProcessDb mp = ProcessFactory.GetManagersProcess(); ManagersDto manager = mp.Get(or.FullNameManager.IDManager); wage.CurrentSum = or.Cost * manager.PercentOnSale / 100; wage.Manager = or.FullNameManager; wage.Paid = 0; wage.Rest = (float)Math.Abs(Convert.ToDouble(wage.Paid - wage.CurrentSum)); wage.SumOrders = 1; wageProcess.Add(wage); } else { IManagersProcessDb mp = ProcessFactory.GetManagersProcess(); ManagersDto manager = mp.Get(or.FullNameManager.IDManager); IWageProcessDb wProcess = ProcessFactory.GetWageProcess(); WageDto wage = wProcess.Get(or.FullNameManager.IDManager); wage.CurrentSum += or.Cost * manager.PercentOnSale / 100; wage.Rest = (float)Math.Abs(Convert.ToDouble(wage.Paid - wage.CurrentSum)); wage.SumOrders += 1; wageProcess.Update(wage); } if (_id == 0) { orProcess.Add(or); } else { or.IDOrder = _id; orProcess.Update(or); } } catch (Exception exc) { return; } this.Close(); }