#include "StdAfx.h"
#include "GenGridContacts.h"
#include "../../BasicAdmin2_Database/Managers/ManContact.h"
#include "../../BasicAdmin2_Database/Managers/ManArrays.h"
#include "../../BasicAdmin2_Database/Cursors/DbContacts.h"
#include "../../Librerias/GraphParser/Globals.h"
#include "../../BasicAdmin2_Utils/GenView/GenLeftTreeView.h"
#include "../../BasicAdmin2_Utils/GenDialog/GenTreeDialogView.h"
#include "../../BasicAdmin2_Model/CustMessages.h"
void CGenGridContacts::LoadGrid(CGridCtrl* grid)
{
ManArrays arrman;
arrman.dbAdmin = ¶m->dbAdmin;
arrman.LoadArrGroups(param->arrays);
CDbContacts dbcon;
dbcon.param = param;
dbcon.Open();
int irow = 0;
while (!dbcon.EndOfCursor())
{
irow ++;
dbcon.LoadItem();
grid->SetRowCount(irow + 1);
RefreshRowGrid(irow,grid,&(dbcon.con));
dbcon.MoveNext();
}
}
void CGenGridContacts::RefreshRow(CGridCtrl* grid, int irow, DWORD object)
{
ClsContact* con = (ClsContact*)object;
if (irow == 0) irow = grid->GetSelectedCellRange().GetMinRow();
RefreshRowGrid(irow, grid,con);
}
void CGenGridContacts::AddRow(CGridCtrl* grid, DWORD object)
{
int rowcount = grid->GetRowCount();
grid->SetRowCount(rowcount + 1);
ClsContact* con = (ClsContact*)object;
RefreshRowGrid(rowcount, grid,con);
}
void CGenGridContacts::RefreshRowGrid(int row, CGridCtrl* grid,ClsContact* con)
{
CString cad;
cad.Format(L"%d", con->Id);
grid->GetCell(row, 0)->SetText(cad);
grid->GetCell(row, 1)->SetText(con->Name);
grid->GetCell(row, 2)->SetText(con->SurName);
grid->GetCell(row, 3)->SetText(con->Phone);
grid->GetCell(row, 4)->SetText(con->Address);
grid->GetCell(row, 5)->SetText(con->Mails);
grid->GetCell(row, 6)->SetText(con->Observations);
CString strid;
strid.Format(L"%d", con->IdGroup);
grid->GetCell(row, 7)->SetText(strid);
}
void CGenGridContacts::FormatGrid(CGridCtrl* grid)
{
grid->SetColumnCount(8);
GRIDCOLFORMAT(0,L"ID",0);
GRIDCOLFORMAT(1,param->langdata.Item(L"Contact.Grid.ColumnName"),35);
GRIDCOLFORMAT(2,param->langdata.Item(L"Contact.Grid.ColumnSurname"),35);
GRIDCOLFORMAT(3,param->langdata.Item(L"Contact.Grid.ColumnPhone"),35);
GRIDCOLFORMAT(4,param->langdata.Item(L"Contact.Grid.ColumnAddress"),35);
GRIDCOLFORMAT(5,param->langdata.Item(L"Contact.Grid.ColumnMails"),35);
GRIDCOLFORMAT(6,param->langdata.Item(L"Contact.Grid.ColumnObservations"),35);
GRIDCOLFORMAT(7,L"FullGroup",0);
}
int CGenGridContacts::GetGridWidth()
{
return 55+80+GWidthScroll;
}
void CGenGridContacts::Delete(int ID)
{
ManContact mancon;
mancon.dbAdmin = &(param->dbAdmin);
mancon.DeleteContact(ID);
}