Added possibilities for owners and there addresses
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
using DataDomain;
|
||||
using Helpers;
|
||||
using StockDAL.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -16,6 +17,7 @@ namespace StockInfo
|
||||
{
|
||||
private readonly IPersonRepository _personRepository;
|
||||
private readonly IAddressRepository _addressRepository;
|
||||
private bool radioOk = false;
|
||||
|
||||
public frmPerson(IPersonRepository personRepository, IAddressRepository addressRepository)
|
||||
{
|
||||
@ -32,6 +34,66 @@ namespace StockInfo
|
||||
private void btnAddSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
(Person person, bool OK) = validatePerson();
|
||||
if (OK)
|
||||
{
|
||||
person = _personRepository.SavePerson(person);
|
||||
PersonId = person.Id;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private (Person person, bool OK) validatePerson()
|
||||
{
|
||||
var person = new Person();
|
||||
person.Id = PersonId;
|
||||
person.FirstName = txtFirstName.Text;
|
||||
person.LastName = txtLastName.Text;
|
||||
person.NickName = txtNickName.Text;
|
||||
person.ClearingNo = txtClearingNo.Text.IsNumeric()?int.Parse(txtClearingNo.Text):0;
|
||||
person.AccountNo = txtAccountNr.Text.IsNumeric() ? int.Parse(txtAccountNr.Text) : 0;
|
||||
person.Born = txtPersonNr.Text;
|
||||
person.Comments = txtComment.Text;
|
||||
HomeAddressId = AddressSave();
|
||||
person.HomeAddress = HomeAddressId;
|
||||
person.InvoiceAddress = InvoiceAddressId;
|
||||
return (person, true);
|
||||
}
|
||||
|
||||
private int AddressSave()
|
||||
{
|
||||
var retval = 0;
|
||||
bool changed = false;
|
||||
Address address = new Address();
|
||||
(address.Street, changed) = checkString(txtStreet.Text);
|
||||
(address.Street2, changed) = checkString(txtStreet2.Text);
|
||||
(address.Zipcode, changed) = checkInt(txtZipCode.Text);
|
||||
(address.Destination, changed) = checkString(txtDestination.Text);
|
||||
(address.Nation, changed) = checkString(txtNation.Text);
|
||||
if (changed)
|
||||
{
|
||||
retval =_addressRepository.SaveAddress(address).Id;
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
private (string, bool ) checkString(string text)
|
||||
{
|
||||
bool chgd = !string.IsNullOrWhiteSpace(text);
|
||||
return (text, chgd);
|
||||
}
|
||||
private (int, bool) checkInt(string text)
|
||||
{
|
||||
bool chgd = false;
|
||||
if(!string.IsNullOrWhiteSpace(text))
|
||||
{
|
||||
chgd = int.Parse(text) > 0;
|
||||
}
|
||||
return (chgd?int.Parse(text):0, chgd);
|
||||
}
|
||||
|
||||
private void frmPerson_Load(object sender, EventArgs e)
|
||||
@ -55,7 +117,12 @@ namespace StockInfo
|
||||
txtComment.Text = person.Comments;
|
||||
txtClearingNo.Text = person.ClearingNo.ToString();
|
||||
txtAccountNr.Text = person.AccountNo.ToString();
|
||||
var address = _addressRepository.GetAddressById(HomeAddressId);
|
||||
ShowAddressFrom(HomeAddressId);
|
||||
}
|
||||
|
||||
private void ShowAddressFrom(int AddrId)
|
||||
{
|
||||
var address = _addressRepository.GetAddressById(AddrId);
|
||||
if (address != null)
|
||||
{
|
||||
txtStreet.Text = address.Street;
|
||||
@ -75,11 +142,44 @@ namespace StockInfo
|
||||
txtComment.Text = "";
|
||||
txtClearingNo.Text = "";
|
||||
txtAccountNr.Text = "";
|
||||
ClearAddress();
|
||||
HomeAddressId = 0;
|
||||
InvoiceAddressId = 0;
|
||||
rdbHome.Checked = true;
|
||||
}
|
||||
|
||||
private void ClearAddress()
|
||||
{
|
||||
txtStreet.Text = "";
|
||||
txtStreet2.Text = "";
|
||||
txtZipCode.Text = "";
|
||||
txtDestination.Text = "";
|
||||
txtNation.Text = "";
|
||||
}
|
||||
|
||||
private void rdbInvoiceAddr_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (!radioOk)
|
||||
{
|
||||
if (rdbInvoiceAddr.Checked)
|
||||
{
|
||||
HomeAddressId = AddressSave();
|
||||
ClearAddress();
|
||||
ShowAddressFrom(InvoiceAddressId);
|
||||
radioOk = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
InvoiceAddressId = AddressSave();
|
||||
ClearAddress();
|
||||
ShowAddressFrom(HomeAddressId);
|
||||
radioOk = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
radioOk = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user