private void ButtonSave_Click(object sender, RoutedEventArgs e) { ControlsValidate?Vd = Commons.ValidateData(FirstControl, ControlsArray); MessageDialog Msg = null; if (Vd != null) { Msg = new MessageDialog(Messages.SaveMessageTitleSubscriptions, Vd.Value.Message, MessageDialogButtons.Ok, MessageDialogType.Warning, GridHeader.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); Vd.Value.Control.Focus(); } else { DomainClasses.CustomersTb MyCustomer = Commons.Db.Customers.Find(Convert.ToInt32(TextBoxCustomerId.Text), Commons.CurrentYear); if (MyCustomer == null) { Msg = new MessageDialog(Messages.SaveMessageTitleSubscriptions, Messages.NotFoundCustomers, MessageDialogButtons.Ok, MessageDialogType.Warning, GridHeader.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); return; } DomainClasses.AccountTypesTb MyAccountType = Commons.Db.AccountTypes.Find(((Int32)((ComboBoxItem)ComboBoxAccountType.SelectedItem).Tag), Commons.CurrentYear); if (MyAccountType == null) { Msg = new MessageDialog(Messages.SaveMessageTitleSubscriptions, Messages.NotFoundAccountTypes, MessageDialogButtons.Ok, MessageDialogType.Warning, GridHeader.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); return; } DomainClasses.SubscriptionsTb MySubscription = null; MySubscription = Commons.Db.Subscriptions.Find(TextBoxSubScriptionId.Text, Commons.CurrentYear); if (MySubscription == null) { Msg = new MessageDialog(Messages.SaveMessageTitleSubscriptions, Messages.SaveMessageSubscriptions, MessageDialogButtons.YesNo, MessageDialogType.Warning, GridHeader.Background); Msg.Owner = Window.GetWindow(this); if (Msg.ShowDialog() == true) { try { int?MaxId = Commons.Db.WaterMeters.Where(x => x.Year == Commons.CurrentYear).Max(x => (int?)x.Id); if (MaxId == null) { MaxId = 0; } MaxId++; WaterMetersTb Wm = Commons.Db.WaterMeters.Add(new DomainClasses.WaterMetersTb { Id = Convert.ToInt32(MaxId), SubId = TextBoxSubScriptionId.Text.Trim(), Year = Commons.CurrentYear, ReadStart = Convert.ToInt64(TextBoxWaterMeterNumber.Text.Trim()), ReadDateStart = TextBoxNumberReadDate.Text.Trim(), ReadEnd = Convert.ToInt64(TextBoxWaterMeterNumber.Text.Trim()), ReadDateEnd = TextBoxNumberReadDate.Text.Trim(), WaterMeterSerial = TextBoxWaterMeterSerial.Text.Trim(), Description = "اولین کنتور آب", }); Commons.Db.Subscriptions.Add(new DomainClasses.SubscriptionsTb { Id = TextBoxSubScriptionId.Text.Trim(), Year = Commons.CurrentYear, WaterMeter = Wm, PrevNumber = Convert.ToInt64(TextBoxWaterMeterNumber.Text.Trim()), PrevReadDate = TextBoxNumberReadDate.Text.Trim(), CurrentNumber = Convert.ToInt64(TextBoxWaterMeterNumber.Text.Trim()), CurrentReadDate = TextBoxNumberReadDate.Text.Trim(), Debt = Convert.ToInt64(TextBoxDebt.Text), deficit1000 = Convert.ToInt64(TextBoxDeficit1000.Text), BillingInPeriod = 0, PostalCode = TextBoxPostalCode.Text.Trim(), Address = TextBoxAddress.Text.Trim(), CustomerId = Convert.ToInt32(TextBoxCustomerId.Text.Trim()), CustomerYear = Commons.CurrentYear, AccountTypeId = Convert.ToInt32(((ComboBoxItem)ComboBoxAccountType.SelectedItem).Tag), AccountTypeYear = Commons.CurrentYear, PreventTypeId = Convert.ToInt32(((ComboBoxItem)ComboBoxPreventType.SelectedValue).Tag), PreventTypeYear = Commons.CurrentYear, Description = TextBoxComments.Text.Trim() }); Commons.Db.SaveChanges(); Commons.SetFromEdited("SubScriptions"); SearchAgain = true; DataGridView.Items.Refresh(); Msg = new MessageDialog(Messages.SaveMessageTitleSubscriptions, Messages.SaveMessageSuccessSubscriptions, MessageDialogButtons.Ok, MessageDialogType.Information, GridHeader.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); ButtonNew_Click(null, null); } catch (Exception Ex) { if (Ex.InnerException != null) { if (Ex.InnerException.InnerException != null && Ex.InnerException.InnerException is SqlException) { SqlException SEx = (SqlException)Ex.InnerException.InnerException; if (SEx.Message.Contains("IX_Unique_SubscriptionsTbs_PostalCode")) { Msg = new MessageDialog(Messages.SaveMessageTitleSubscriptions, Messages.PostalCodeIsRepetitive, MessageDialogButtons.Ok, MessageDialogType.Warning, GridHeader.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); TextBoxPostalCode.Focus(); TextBoxPostalCode.SelectAll(); } } } else { Msg = new MessageDialog(Messages.SaveMessageTitleSubscriptions, Messages.ErrorSendingDataToDatabase, MessageDialogButtons.Ok, MessageDialogType.Error, GridHeader.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); } } } } else { Msg = new MessageDialog(Messages.EditMessageTitleSubscriptions, Messages.EditMessageSubscriptions, MessageDialogButtons.YesNo, MessageDialogType.Warning, GridHeader.Background); Msg.Owner = Window.GetWindow(this); if (Msg.ShowDialog() == true) { try { if (CheckSubscriptionInUse(MySubscription) == false) { //Save When it doesn't have bill WaterMetersTb WmTb = Commons.Db.WaterMeters.Find(MySubscription.WaterMeterId, Commons.CurrentYear); if (WmTb != null) { WmTb.ReadDateStart = TextBoxNumberReadDate.Text.Trim(); WmTb.ReadDateEnd = TextBoxNumberReadDate.Text.Trim(); WmTb.ReadEnd = Convert.ToInt64(TextBoxWaterMeterNumber.Text.Trim()); WmTb.ReadStart = Convert.ToInt64(TextBoxWaterMeterNumber.Text.Trim()); WmTb.WaterMeterSerial = TextBoxWaterMeterSerial.Text.Trim(); } else { Msg = new MessageDialog(Messages.EditMessageTitleSubscriptions, Messages.NotWaterMeterExist, MessageDialogButtons.Ok, MessageDialogType.Error, GridHeader.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); } MySubscription.PrevNumber = Convert.ToInt64(TextBoxWaterMeterNumber.Text.Trim()); MySubscription.PrevReadDate = TextBoxNumberReadDate.Text.Trim(); MySubscription.CurrentNumber = Convert.ToInt64(TextBoxWaterMeterNumber.Text.Trim()); MySubscription.CurrentReadDate = TextBoxNumberReadDate.Text.Trim(); //MySubscription.Debt = 0; //MySubscription.deficit1000 = 0; } else { Msg = new MessageDialog(Messages.EditMessageTitleSubscriptions, Messages.SubScriptInUseEdit, MessageDialogButtons.Ok, MessageDialogType.Error, GridHeader.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); } MySubscription.PostalCode = TextBoxPostalCode.Text.Trim(); MySubscription.Address = TextBoxAddress.Text.Trim(); MySubscription.CustomerId = Convert.ToInt32(TextBoxCustomerId.Text.Trim()); MySubscription.AccountTypeId = Convert.ToInt32(((ComboBoxItem)ComboBoxAccountType.SelectedItem).Tag); MySubscription.PreventTypeId = Convert.ToInt32(((ComboBoxItem)ComboBoxPreventType.SelectedValue).Tag); MySubscription.Description = TextBoxComments.Text.Trim(); MySubscription.Debt = Convert.ToInt64(TextBoxDebt.Text); MySubscription.deficit1000 = Convert.ToInt64(TextBoxDeficit1000.Text); Commons.Db.SaveChanges(); Commons.SetFromEdited("SubScriptions"); List <SubscriptionsTb> Lc = (List <SubscriptionsTb>)DataGridView.ItemsSource; if (Lc != null) { SubscriptionsTb Rc = Lc.Find(x => x.Id.Trim() == MySubscription.Id.Trim() && x.Year == Commons.CurrentYear); if (Rc != null) { Rc.AccountType = MySubscription.AccountType; Rc.AccountType = MySubscription.AccountType; Rc.AccountTypeId = MySubscription.AccountTypeId; Rc.AccountTypeYear = MySubscription.AccountTypeYear; Rc.Address = MySubscription.Address; Rc.BillingInPeriod = MySubscription.BillingInPeriod; Rc.CurrentReadDate = MySubscription.CurrentReadDate; Rc.CustomerId = MySubscription.CustomerId; Rc.CustomerYear = MySubscription.CustomerYear; Rc.Debt = MySubscription.Debt; Rc.deficit1000 = MySubscription.deficit1000; Rc.Description = MySubscription.Description; Rc.PostalCode = MySubscription.PostalCode; Rc.PreventTypeId = MySubscription.PreventTypeId; Rc.PreventTypeYear = MySubscription.PreventTypeYear; Rc.PrevNumber = MySubscription.PrevNumber; Rc.PrevReadDate = MySubscription.PrevReadDate; Rc.RecordDate = MySubscription.RecordDate; Rc.WaterMeterId = MySubscription.WaterMeterId; Rc.WaterMeterYear = MySubscription.WaterMeterYear; Rc.Year = MySubscription.Year; } } SearchAgain = true; DataGridView.Items.Refresh(); Msg = new MessageDialog(Messages.EditMessageTitleSubscriptions, Messages.EditMessageSuccessSubscriptions, MessageDialogButtons.Ok, MessageDialogType.Information, GridHeader.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); ButtonNew_Click(null, null); } catch (Exception Ex) { if (Ex.InnerException != null) { if (Ex.InnerException != null) { if (Ex.InnerException.InnerException != null && Ex.InnerException.InnerException is SqlException) { SqlException SEx = (SqlException)Ex.InnerException.InnerException; if (SEx.Message.Contains("IX_Unique_SubscriptionsTbs_PostalCode")) { Msg = new MessageDialog(Messages.SaveMessageTitleSubscriptions, Messages.PostalCodeIsRepetitive, MessageDialogButtons.Ok, MessageDialogType.Warning, GridHeader.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); TextBoxPostalCode.Focus(); TextBoxPostalCode.SelectAll(); return; } } } } Msg = new MessageDialog(Messages.EditMessageTitleSubscriptions, Messages.ErrorSendingDataToDatabase, MessageDialogButtons.Ok, MessageDialogType.Error, GridHeader.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); } } } } }
private void ButtonSave_Click(object sender, RoutedEventArgs e) { ControlsValidate?Vd = Commons.ValidateData(FirstControlNewAccountType, ControlsArray); MessageDialog Msg = null; if (Vd != null) { Msg = new MessageDialog(Messages.SaveMessageTitleAccountTypes, Vd.Value.Message, MessageDialogButtons.Ok, MessageDialogType.Warning, GridHeaderAccountTypes.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); Vd.Value.Control.Focus(); } else { DomainClasses.AccountTypesTb MyAccountType = null; if (AccountTypeId != -1) { MyAccountType = Commons.Db.AccountTypes.Find(AccountTypeId, Commons.CurrentYear); } if (MyAccountType == null) { Msg = new MessageDialog(Messages.SaveMessageTitleAccountTypes, Messages.SaveMessageAccountTypes, MessageDialogButtons.YesNo, MessageDialogType.Warning, GridHeaderAccountTypes.Background); Msg.Owner = Window.GetWindow(this); if (Msg.ShowDialog() == true) { try { int?MaxId = Commons.Db.AccountTypes.Where(x => x.Year == Commons.CurrentYear).Max(x => (int?)x.Id); if (MaxId == null) { MaxId = 0; } MaxId++; Commons.Db.AccountTypes.Add(new DomainClasses.AccountTypesTb { Id = Convert.ToInt32(MaxId), Name = TextBoxName.Text.Trim(), Year = Commons.CurrentYear, Formules = TextBoxFormules.Text.Trim(), Description = TextBoxComments.Text.Trim() }); Commons.Db.SaveChanges(); Commons.SetFromEdited("AccountTypes"); SearchAgain = true; DataGridAccountTypes.Items.Refresh(); DataGridAccountTypes.UpdateLayout(); Msg = new MessageDialog(Messages.SaveMessageTitleAccountTypes, Messages.SaveMessageSuccessAccountTypes, MessageDialogButtons.Ok, MessageDialogType.Information, GridHeaderAccountTypes.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); ButtonNew_Click(null, null); } catch { Msg = new MessageDialog(Messages.SaveMessageTitleAccountTypes, Messages.ErrorSendingDataToDatabase, MessageDialogButtons.Ok, MessageDialogType.Error, GridHeaderAccountTypes.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); } } } else { Msg = new MessageDialog(Messages.EditMessageTitleAccountTypes, Messages.EditMessageAccountTypes, MessageDialogButtons.YesNo, MessageDialogType.Warning, GridHeaderAccountTypes.Background); Msg.Owner = Window.GetWindow(this); if (Msg.ShowDialog() == true) { try { MyAccountType.Name = TextBoxName.Text.Trim(); MyAccountType.Formules = TextBoxFormules.Text.Trim(); MyAccountType.Description = TextBoxComments.Text.Trim(); Commons.Db.SaveChanges(); Commons.SetFromEdited("AccountTypes"); List <AccountTypesTb> Lc = (List <AccountTypesTb>)DataGridAccountTypes.ItemsSource; if (Lc != null) { AccountTypesTb Rc = Lc.Find(x => x.Id == MyAccountType.Id && x.Year == Commons.CurrentYear); if (Rc != null) { Rc.Description = MyAccountType.Description; Rc.Formules = MyAccountType.Formules; Rc.Name = MyAccountType.Name; Rc.RecordDate = MyAccountType.RecordDate; Rc.Year = MyAccountType.Year; } } DataGridAccountTypes.Items.Refresh(); DataGridAccountTypes.UpdateLayout(); SearchAgain = true; Msg = new MessageDialog(Messages.EditMessageTitleAccountTypes, Messages.EditMessageSuccessAccountTypes, MessageDialogButtons.Ok, MessageDialogType.Information, GridHeaderAccountTypes.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); ButtonNew_Click(null, null); } catch { Msg = new MessageDialog(Messages.EditMessageTitleAccountTypes, Messages.ErrorSendingDataToDatabase, MessageDialogButtons.Ok, MessageDialogType.Error, GridHeaderAccountTypes.Background); Msg.Owner = Window.GetWindow(this); Msg.ShowDialog(); } } } } }