Skip to content

Commit

Permalink
Major updates to workorder details handling
Browse files Browse the repository at this point in the history
- Added GNU Affero GPL info and headers to `CClosedWorkorderDetailsTabCtrl` files.
- Updated `CClosedWorkorderDetailsTabCtrl` class for enhanced tab control, including new methods for tab management and dynamic memory handling for tab pages.
- Modified `CPrintWorkorder` and `CReportWorkorderClosedView` classes for improved printing and reporting of closed workorders.
- Introduced new classes for detailed views of closed workorders: customer, work order, and invoice details tabs.
- Made various enhancements and bug fixes across the application, including typo corrections, namespace adjustments, and UI updates.
- Expanded application functionality with new features for asset and workorder management.
- Updated project files and resources to reflect new features and classes.
  • Loading branch information
artvabas committed Jun 18, 2024
1 parent 41122e7 commit ef024c3
Show file tree
Hide file tree
Showing 23 changed files with 999 additions and 59 deletions.
32 changes: 32 additions & 0 deletions RepairCafeCureApp/CClosedWorkOrderDetailsTab.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// CClosedWordorderDetailsTab.cpp : implementation file
//

#include "pch.h"
#include "RepairCafeCureApp.h"
#include "afxdialogex.h"
#include "CClosedWorkOrderDetailsTab.h"

IMPLEMENT_DYNAMIC(CClosedWorkOrderDetailsTab, CDialogEx)

CClosedWorkOrderDetailsTab::CClosedWorkOrderDetailsTab(CClosedWorkorderDetailsTabCtrl* pTabControl, unsigned int unID, CWnd* pParent)
: CDialogEx(IDD_CLOSED_WORKORDER_DETAILS_TAB, pParent)
, m_pTabControl{ pTabControl }
, m_unWorkorderID{ unID }
{

}

CClosedWorkOrderDetailsTab::~CClosedWorkOrderDetailsTab()
{
}

void CClosedWorkOrderDetailsTab::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(CClosedWorkOrderDetailsTab, CDialogEx)
END_MESSAGE_MAP()


26 changes: 26 additions & 0 deletions RepairCafeCureApp/CClosedWorkOrderDetailsTab.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#pragma once
#include "CClosedWorkorderDetailsTabCtrl.h"


using namespace artvabas::rcc::ui::controls;

class CClosedWorkOrderDetailsTab : public CDialogEx
{
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_CLOSED_WORKORDER_DETAILS_TAB };
#endif
DECLARE_DYNAMIC(CClosedWorkOrderDetailsTab)

private:
CClosedWorkorderDetailsTabCtrl* m_pTabControl;
unsigned int m_unWorkorderID;

public:
CClosedWorkOrderDetailsTab(CClosedWorkorderDetailsTabCtrl* pTabControl, unsigned int unID, CWnd* pParent = nullptr); // standard constructor
virtual ~CClosedWorkOrderDetailsTab();

protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

DECLARE_MESSAGE_MAP()
};
37 changes: 37 additions & 0 deletions RepairCafeCureApp/CClosedWorkorderAssetDetailsTab.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// CClosedWorkorderAssetDetailsTab.cpp : implementation file
//

#include "pch.h"
#include "RepairCafeCureApp.h"
#include "afxdialogex.h"
#include "CClosedWorkorderAssetDetailsTab.h"


// CClosedWorkorderAssetDetailsTab dialog

IMPLEMENT_DYNAMIC(CClosedWorkorderAssetDetailsTab, CDialogEx)

CClosedWorkorderAssetDetailsTab::CClosedWorkorderAssetDetailsTab(CClosedWorkorderDetailsTabCtrl* pTabControl, unsigned int unID, CWnd* pParent /*=nullptr*/)
: CDialogEx(IDD_CLOSED_WORKORDER_ASSET_DETAILS_TAB, pParent)
, m_pTabControl{ pTabControl }
, m_unAssetID{ unID }

{

}

CClosedWorkorderAssetDetailsTab::~CClosedWorkorderAssetDetailsTab()
{
}

void CClosedWorkorderAssetDetailsTab::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(CClosedWorkorderAssetDetailsTab, CDialogEx)
END_MESSAGE_MAP()


// CClosedWorkorderAssetDetailsTab message handlers
28 changes: 28 additions & 0 deletions RepairCafeCureApp/CClosedWorkorderAssetDetailsTab.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#pragma once
#include "CClosedWorkorderDetailsTabCtrl.h"


using namespace artvabas::rcc::ui::controls;

class CClosedWorkorderAssetDetailsTab : public CDialogEx
{
DECLARE_DYNAMIC(CClosedWorkorderAssetDetailsTab)

private:
CClosedWorkorderDetailsTabCtrl* m_pTabControl;
unsigned int m_unAssetID;

public:
CClosedWorkorderAssetDetailsTab(CClosedWorkorderDetailsTabCtrl* pTabControl, unsigned int unID, CWnd* pParent = nullptr); // standard constructor
virtual ~CClosedWorkorderAssetDetailsTab();

// Dialog Data
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_CLOSED_WORKORDER_ASSET_DETAILS_TAB };
#endif

protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

DECLARE_MESSAGE_MAP()
};
36 changes: 36 additions & 0 deletions RepairCafeCureApp/CClosedWorkorderCustomerDetailsTab.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// CClosedWorkorderCustomerDetailsTab.cpp : implementation file
//

#include "pch.h"
#include "RepairCafeCureApp.h"
#include "afxdialogex.h"
#include "CClosedWorkorderCustomerDetailsTab.h"


// CClosedWorkorderCustomerDetailsTab dialog

IMPLEMENT_DYNAMIC(CClosedWorkorderCustomerDetailsTab, CDialogEx)

CClosedWorkorderCustomerDetailsTab::CClosedWorkorderCustomerDetailsTab(CClosedWorkorderDetailsTabCtrl* pTabControl, unsigned int unID, CWnd* pParent /*=nullptr*/)
: CDialogEx{ IDD_CLOSED_WORKORDER_CUSTOMER_DETAILS_TAB, pParent }
, m_pTabControl{ pTabControl }
, m_unCustomerID{ unID }
{

}

CClosedWorkorderCustomerDetailsTab::~CClosedWorkorderCustomerDetailsTab()
{
}

void CClosedWorkorderCustomerDetailsTab::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(CClosedWorkorderCustomerDetailsTab, CDialogEx)
END_MESSAGE_MAP()


// CClosedWorkorderCustomerDetailsTab message handlers
26 changes: 26 additions & 0 deletions RepairCafeCureApp/CClosedWorkorderCustomerDetailsTab.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#pragma once
#include "CClosedWorkorderDetailsTabCtrl.h"

using namespace artvabas::rcc::ui::controls;

class CClosedWorkorderCustomerDetailsTab : public CDialogEx
{
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_CLOSED_WORKORDER_CUSTOMER_DETAILS_TAB };
#endif
DECLARE_DYNAMIC(CClosedWorkorderCustomerDetailsTab)

private:
CClosedWorkorderDetailsTabCtrl* m_pTabControl;
unsigned int m_unCustomerID;

public:
CClosedWorkorderCustomerDetailsTab(CClosedWorkorderDetailsTabCtrl* pTabControl, unsigned int unID, CWnd* pParent = nullptr); // standard constructor
virtual ~CClosedWorkorderCustomerDetailsTab();


protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

DECLARE_MESSAGE_MAP()
};
82 changes: 82 additions & 0 deletions RepairCafeCureApp/CClosedWorkorderDetails.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/*
Copyright (C) 2023 artvabas
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>
To see the license for this source code, please visit:
<https://github.com/artvabas/RepairCafeCureApp/blob/master/LICENSE.txt>
For more information, please visit:
<https://artvabas.com>
<https://github.com/artvabas/RepairCafeCureApp>
For contacts, please use the contact form at:
<https://artvabas.com/contact>
*/

/*
* This file is part of RepairCafeCureApp.
* File: CClosedWorkorderDetails.cpp, implements of the class CClosedWorkorderDetails
*
* This class is the dialog of the closed workorder tab control
* it is the placeholder for the CClosedWorkorderDetailsTabCtrl class,
* which is the view of the CListCtrl created on the closed workorder details dialog
*
* Target: Windows 10/11 64bit
* Version: 1.0.0.2 (Alpha)
* Created: 17-06-2024, (dd-mm-yyyy)
* Updated: 18-06-2024, (dd-mm-yyyy)
* Creator: artvabasDev / artvabas
*
* Description: Database connection class
* License: GPLv3
*/
#include "pch.h"
#include "RepairCafeCureApp.h"
#include "afxdialogex.h"
#include "CClosedWorkorderDetails.h"

using namespace artvabas::rcc::ui::dialogs;

IMPLEMENT_DYNAMIC(CClosedWorkorderDetails, CDialogEx)

CClosedWorkorderDetails::CClosedWorkorderDetails(unsigned int& unCustomerID, unsigned int& unAssetID,
unsigned int& unWorkorderID, unsigned int& unInvoiceID, CWnd* pParent /*=nullptr*/)
: CDialogEx(IDD_CLOSED_WORKORDER_DIALOG, pParent),
m_ctrTabClosedWorkorderDetails(unCustomerID, unAssetID, unWorkorderID, unInvoiceID)
{}

CClosedWorkorderDetails::~CClosedWorkorderDetails()
{}

// DoDataExchange mothod is used for binding ID's with their controls
// - pDx
void CClosedWorkorderDetails::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_CLOSED_WORKORDER_DETAILS_TAB_CONTROL, m_ctrTabClosedWorkorderDetails);
}

// OnInitDialog method is called by the framework when dialog is buid and needs to be initialized
BOOL CClosedWorkorderDetails::OnInitDialog()
{
CDialogEx::OnInitDialog();
m_ctrTabClosedWorkorderDetails.Init();
return TRUE;
}

// Message maps, for handling app messages, int this case pass the message through to the Tab Control class
BEGIN_MESSAGE_MAP(CClosedWorkorderDetails, CDialogEx)
ON_NOTIFY(TCN_SELCHANGE, IDC_CLOSED_WORKORDER_DETAILS_TAB_CONTROL, &CClosedWorkorderDetailsTabCtrl::OnTcnSelChange)
END_MESSAGE_MAP()
72 changes: 72 additions & 0 deletions RepairCafeCureApp/CClosedWorkorderDetails.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/*
Copyright (C) 2023 artvabas
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>
To see the license for this source code, please visit:
<https://github.com/artvabas/RepairCafeCureApp/blob/master/LICENSE.txt>
For more information, please visit:
<https://artvabas.com>
<https://github.com/artvabas/RepairCafeCureApp>
For contacts, please use the contact form at:
<https://artvabas.com/contact>
*/

/*
* This file is part of RepairCafeCureApp.
* File: CClosedWorkorderDetails.cpp, definition of the class CClosedWorkorderDetails
*
* This class is the dialog of the closed workorder tab control
* it is the placeholder for the CClosedWorkorderDetailsTabCtrl class,
* which is the view of the CListCtrl created on the closed workorder details dialog
*
* Target: Windows 10/11 64bit
* Version: 1.0.0.2 (Alpha)
* Created: 17-06-2024, (dd-mm-yyyy)
* Updated: 18-06-2024, (dd-mm-yyyy)
* Creator: artvabasDev / artvabas
*
* Description: Database connection class
* License: GPLv3
*/
#pragma once
#include "CClosedWorkorderDetailsTabCtrl.h"

namespace artvabas::rcc::ui::dialogs {

using namespace artvabas::rcc::ui::controls;

class CClosedWorkorderDetails : public CDialogEx
{
DECLARE_DYNAMIC(CClosedWorkorderDetails)
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_CLOSED_WORKORDER_DIALOG };
#endif
private:
CClosedWorkorderDetailsTabCtrl m_ctrTabClosedWorkorderDetails;

public:
CClosedWorkorderDetails(unsigned int& unCustomerID, unsigned int& unAssetID,
unsigned int& unWorkorderID, unsigned int& unInvoiceID, CWnd* pParent = nullptr);
virtual ~CClosedWorkorderDetails();

private:
void DoDataExchange(CDataExchange* pDX) override;
BOOL OnInitDialog() override;
DECLARE_MESSAGE_MAP()
};
}
Loading

0 comments on commit ef024c3

Please sign in to comment.