Example #1
0
        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();
                        }
                    }
                }
            }
        }
Example #2
0
        private void ButtonSave_Click(object sender, RoutedEventArgs e)
        {
            ControlsValidate?Vd  = Commons.ValidateData(FirstControlNew, ControlsArray);
            MessageDialog    Msg = null;

            if (Vd != null)
            {
                Msg       = new MessageDialog(Messages.SaveMessageTitleCustomers, Vd.Value.Message, MessageDialogButtons.Ok, MessageDialogType.Warning, GridHeaderCustomers.Background);
                Msg.Owner = Window.GetWindow(this);
                Msg.ShowDialog();
                Vd.Value.Control.Focus();
            }
            else
            {
                DomainClasses.CustomersTb MyCustomer = null;
                if (CustomerId != -1)
                {
                    MyCustomer = Commons.Db.Customers.Find(CustomerId, Commons.CurrentYear);
                }

                if (MyCustomer == null)
                {
                    Msg       = new MessageDialog(Messages.SaveMessageTitleCustomers, Messages.SaveMessageCustomers, MessageDialogButtons.YesNo, MessageDialogType.Warning, GridHeaderCustomers.Background);
                    Msg.Owner = Window.GetWindow(this);
                    if (Msg.ShowDialog() == true)
                    {
                        try
                        {
                            int?MaxId = Commons.Db.Customers.Where(x => x.Year == Commons.CurrentYear).Max(x => (int?)x.Id);
                            if (MaxId == null)
                            {
                                MaxId = 0;
                            }
                            MaxId++;
                            Commons.Db.Customers.Add(new DomainClasses.CustomersTb
                            {
                                Id          = Convert.ToInt32(MaxId),
                                Year        = Commons.CurrentYear,
                                MeliCode    = TextBoxMeliCode.Text.Trim(),
                                Name        = TextBoxName.Text.Trim(),
                                Family      = TextBoxFamily.Text.Trim(),
                                Father      = TextBoxFather.Text.Trim(),
                                Search      = TextBoxName.Text.Trim() + " " + TextBoxFamily.Text.Trim() + " " + TextBoxFather.Text.Trim(),
                                IdCard      = TextBoxIdCard.Text.Trim(),
                                CityCard    = TextBoxCityCard.Text.Trim(),
                                Phone       = TextBoxPhone.Text.Trim(),
                                CellPhone   = TextBoxCellPhone.Text.Trim(),
                                PostalCode  = TextBoxPostalCode.Text.Trim(),
                                Address     = TextBoxAddress.Text.Trim(),
                                Description = TextBoxComments.Text.Trim()
                            });
                            Commons.Db.SaveChanges();
                            Commons.SetFromEdited("Customers");
                            DataGridCustomers.Items.Refresh();
                            SearchAgain = true;
                            Msg         = new MessageDialog(Messages.SaveMessageTitleCustomers, Messages.SaveMessageSuccessCustomers, MessageDialogButtons.Ok, MessageDialogType.Information, GridHeaderCustomers.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_CustomersTbs_MeliCode"))
                                    {
                                        Msg       = new MessageDialog(Messages.SaveMessageTitleCustomers, Messages.MeliCodeIsRepetitive, MessageDialogButtons.Ok, MessageDialogType.Warning, GridHeaderCustomers.Background);
                                        Msg.Owner = Window.GetWindow(this);
                                        Msg.ShowDialog();
                                        TextBoxMeliCode.Focus();
                                        TextBoxMeliCode.SelectAll();
                                    }
                                }
                            }
                            else
                            {
                                Msg       = new MessageDialog(Messages.SaveMessageTitleCustomers, Messages.ErrorSendingDataToDatabase, MessageDialogButtons.Ok, MessageDialogType.Error, GridHeaderCustomers.Background);
                                Msg.Owner = Window.GetWindow(this);
                                Msg.ShowDialog();
                            }
                        }
                    }
                }
                else
                {
                    Msg       = new MessageDialog(Messages.EditMessageTitleCustomers, Messages.EditMessageCustomers, MessageDialogButtons.YesNo, MessageDialogType.Warning, GridHeaderCustomers.Background);
                    Msg.Owner = Window.GetWindow(this);
                    if (Msg.ShowDialog() == true)
                    {
                        try
                        {
                            MyCustomer.MeliCode    = TextBoxMeliCode.Text.Trim();
                            MyCustomer.Name        = TextBoxName.Text.Trim();
                            MyCustomer.Family      = TextBoxFamily.Text.Trim();
                            MyCustomer.Father      = TextBoxFather.Text.Trim();
                            MyCustomer.Search      = TextBoxName.Text.Trim() + " " + TextBoxFamily.Text.Trim() + " " + TextBoxFather.Text.Trim();
                            MyCustomer.IdCard      = TextBoxIdCard.Text.Trim();
                            MyCustomer.CityCard    = TextBoxCityCard.Text.Trim();
                            MyCustomer.Phone       = TextBoxPhone.Text.Trim();
                            MyCustomer.CellPhone   = TextBoxCellPhone.Text.Trim();
                            MyCustomer.PostalCode  = TextBoxPostalCode.Text.Trim();
                            MyCustomer.Address     = TextBoxAddress.Text.Trim();
                            MyCustomer.Description = TextBoxComments.Text.Trim();
                            Commons.Db.SaveChanges();
                            Commons.SetFromEdited("Customers");
                            List <CustomersTb> Lc = (List <CustomersTb>)DataGridCustomers.ItemsSource;
                            if (Lc != null)
                            {
                                CustomersTb Rc = Lc.Find(x => x.Id == CustomerId && x.Year == Commons.CurrentYear);
                                if (Rc != null)
                                {
                                    Rc.MeliCode    = TextBoxMeliCode.Text.Trim();
                                    Rc.Name        = TextBoxName.Text.Trim();
                                    Rc.Family      = TextBoxFamily.Text.Trim();
                                    Rc.Father      = TextBoxFather.Text.Trim();
                                    Rc.Search      = TextBoxName.Text.Trim() + " " + TextBoxFamily.Text.Trim() + " " + TextBoxFather.Text.Trim();
                                    Rc.IdCard      = TextBoxIdCard.Text.Trim();
                                    Rc.CityCard    = TextBoxCityCard.Text.Trim();
                                    Rc.Phone       = TextBoxPhone.Text.Trim();
                                    Rc.CellPhone   = TextBoxCellPhone.Text.Trim();
                                    Rc.PostalCode  = TextBoxPostalCode.Text.Trim();
                                    Rc.Address     = TextBoxAddress.Text.Trim();
                                    Rc.Description = TextBoxComments.Text.Trim();
                                }
                            }
                            DataGridCustomers.Items.Refresh();
                            SearchAgain = true;
                            Msg         = new MessageDialog(Messages.EditMessageTitleCustomers, Messages.EditMessageSuccessCustomers, MessageDialogButtons.Ok, MessageDialogType.Information, GridHeaderCustomers.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_CustomersTbs_MeliCode"))
                                    {
                                        Msg       = new MessageDialog(Messages.SaveMessageTitleCustomers, Messages.MeliCodeIsRepetitive, MessageDialogButtons.Ok, MessageDialogType.Warning, GridHeaderCustomers.Background);
                                        Msg.Owner = Window.GetWindow(this);
                                        Msg.ShowDialog();
                                        TextBoxMeliCode.Focus();
                                        TextBoxMeliCode.SelectAll();
                                    }
                                }
                            }
                            else
                            {
                                Msg       = new MessageDialog(Messages.SaveMessageTitleCustomers, Messages.ErrorSendingDataToDatabase, MessageDialogButtons.Ok, MessageDialogType.Error, GridHeaderCustomers.Background);
                                Msg.Owner = Window.GetWindow(this);
                                Msg.ShowDialog();
                            }
                        }
                    }
                }
            }
        }