Example #1
0
        private void CreateClaim() // Создание заявки и отправка
        {
            BClaim claim = new BClaim();
            User   user  = new User();

            #region Claim
            while (true)
            {
                claim.Id = BClaim.GenerateID(6);
                if (!BaseDataLite.CheckLoanID(claim.Id))
                {
                    break;
                }
            }
            claim.SumLoan   = Convert.ToInt32(textBoxSumLoan.Text);
            claim.Days      = Convert.ToInt32(textBoxDays.Text);
            claim.FirstDate = DateTime.Parse(maskedTextBoxFirstDay.Text);
            if (radioButtonCard.Checked)
            {
                claim.CardNumber = maskedCardNumber.Text;
            }
            else
            {
                claim.CardNumber = "-";
            }
            claim.SumPaid  = Convert.ToInt32(labelPaidSum.Text);
            claim.LastDate = claim.FirstDate.AddDays(claim.Days);
            claim.Fine     = 0;
            claim.PaidOut  = 0;
            if (radioButtonCard.Checked)
            {
                claim.type = "карта";
            }
            else
            {
                claim.type = "наличка";
            }
            claim.status = "открыто";
            #endregion
            #region User
            if (!BaseDataLite.CheckUserExist(textBoxUserPassport.Text))
            {
                while (true)
                {
                    user.Id = BClaim.GenerateID(4);
                    if (!BaseDataLite.CheckUsersID(user.Id))
                    {
                        break;
                    }
                }
                user.Name        = textBoxUserName.Text;
                user.SecoundName = textBoxUserSecName.Text;
                user.MiddleName  = textBoxUserMidName.Text;
                user.BirthDay    = DateTime.Parse(maskedUserBirthDay.Text);
                user.Phone       = maskedUserPhone.Text;
                user.Email       = maskedEmail.Text;
                user.Passport    = textBoxUserPassport.Text;
                LoadingScreen(true);
                BaseDataLite.CreateNewUser(user.Id, user.Name, user.SecoundName, user.MiddleName, user.BirthDay, user.Phone, user.Email, user.Passport);
                LoadingScreen(false);
            }
            else
            {
                user.Id = BaseDataLite.GetUserID(textBoxUserPassport.Text);
                BaseDataLite.SendUserDataUpdate(user.Id, maskedEmail.Text, maskedUserPhone.Text);
            }

            #endregion
            #region Docs
            int docid;
            while (true)
            {
                docid = BClaim.GenerateID(5);
                if (!BaseDataLite.CheckDocID(claim.Id))
                {
                    break;
                }
            }
            #endregion
            if (!BaseDataLite.CheckSeveralLoan(user.Id))
            {
                try
                {
                    LoadingScreen(true);
                    BaseDataLite.SendClaim(claim.Id, claim.SumPaid / claim.Days, claim.SumLoan, claim.Days, claim.FirstDate, user.Id, docid, claim.CardNumber, claim.SumPaid, claim.Fine, claim.PaidOut, claim.type, claim.status);
                    BaseDataLite.SendFile(FileAddres, docid);
                    GeneralMessages.SendEmailNewLoan(user.Email, $"{user.Name} {user.SecoundName} {user.MiddleName} ", claim);
                    LoadingScreen(false);
                    NotificationWindow f      = new NotificationWindow($"{claim.Id}", claim.SumLoan, claim.Days, $"{claim.SumPaid}");
                    DialogResult       result = f.ShowDialog();
                    if (result == DialogResult.OK)
                    {
                        if (panelCreateClaim.Visible == true)
                        {
                            panelMain.Visible        = false;
                            panelCheckClaim.Visible  = true;
                            panelCreateClaim.Visible = false;
                            panelAbout.Visible       = false;
                        }
                        else
                        {
                            panelMain.Visible       = false;
                            panelCheckClaim.Visible = true;
                            panelAbout.Visible      = false;
                        }
                    }
                }
                catch (Exception)
                {
                    LoadingScreen(false);
                    MessageBox.Show("Ой, что-то пошло не так ;(", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show($"Похоже что у вас уже есть принятые или новые заявки.\nЗавершите предыдущий займ, для того чтобы взять новый.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }