private void btnCheckIn_Click(object sender, EventArgs e) { string cardNumber = this.tbxCheckInCardNumber.Text; if (string.IsNullOrEmpty(cardNumber)) { MessageBox.Show(this, "Card number can not be empty."); return; } bool isCardNotReturned = this.mCheckIns.Any(checkInInfo => checkInInfo.CheckedIn && checkInInfo.CardNumber == cardNumber); bool cardExist = false; CCFTCentralDb.CCFTCentral ccftCentralDb = new CCFTCentralDb.CCFTCentral(); cardExist = ccftCentralDb.Cardholders.Any(card => card.LastName == cardNumber); CardHolderInfo cardHolderInfo = this.mCardHolderInfo; if (cardExist && !isCardNotReturned) { var cardAlreadyIssued = (from checkin in EFERTDbUtility.mEFERTDb.CheckedInInfos where checkin != null && checkin.CheckedIn && checkin.CardNumber == cardNumber select new { checkin.CheckedIn, checkin.CNICNumber }).FirstOrDefault(); if (cardAlreadyIssued != null && cardAlreadyIssued.CheckedIn) { MessageBox.Show(this, "This card is already issue to the person with CNIC number: " + cardAlreadyIssued.CNICNumber); return; } if (cardHolderInfo == null) { MessageBox.Show(this, "Unable to Issue Card. Some error occured in getting cardholder information."); return; } CheckInAndOutInfo checkedInInfo = new CheckInAndOutInfo(); checkedInInfo.CheckInToPlant = SearchForm.mIsPlant; checkedInInfo.CheckInToColony = !SearchForm.mIsPlant; checkedInInfo.FirstName = cardHolderInfo.FirstName; checkedInInfo.CardHolderInfos = cardHolderInfo; checkedInInfo.CNICNumber = this.mCNICNumber; checkedInInfo.CardNumber = cardNumber; checkedInInfo.VehicleNmuber = this.tbxCheckInVehicleNumber.Text; checkedInInfo.DateTimeIn = Convert.ToDateTime(this.tbxCheckInDateTimeIn.Text); checkedInInfo.DateTimeOut = DateTime.MaxValue; checkedInInfo.CheckedIn = true; try { EFERTDbUtility.mEFERTDb.CheckedInInfos.Add(checkedInInfo); EFERTDbUtility.mEFERTDb.SaveChanges(); } catch (Exception ex) { EFERTDbUtility.RollBack(); MessageBox.Show(this, "Some error occurred in issuing card.\n\n" + EFERTDbUtility.GetInnerExceptionMessage(ex)); return; } this.btnCheckIn.Enabled = false; this.btnCheckOut.Enabled = true; this.Close(); } else { if (!cardExist) { MessageBox.Show(this, "Please enter valid card number."); } else if (isCardNotReturned) { MessageBox.Show(this, "Card is already issued to some one else."); } } }
private void setCarholderInfo(CardHolderInfo cardHolderInfo, DepartmentInfo departmentInfo, CadreInfo cadreInfo, CrewInfo crewInfo, DesignationInfo designationInfo, SectionInfo sectionInfo, CompanyInfo companyInfo) { if (departmentInfo == null) { cardHolderInfo.DepartmentId = null; } else if (departmentInfo.DepartmentId > 0) { cardHolderInfo.DepartmentId = departmentInfo.DepartmentId; } else { cardHolderInfo.Department = departmentInfo; } if (cadreInfo == null) { cardHolderInfo.CadreId = null; } else if (cadreInfo.CadreId > 0) { cardHolderInfo.CadreId = cadreInfo.CadreId; } else { cardHolderInfo.Cadre = cadreInfo; } if (crewInfo == null) { cardHolderInfo.CrewId = null; } else if (crewInfo.CrewId > 0) { cardHolderInfo.CrewId = crewInfo.CrewId; } else { cardHolderInfo.Crew = crewInfo; } if (designationInfo == null) { cardHolderInfo.DesignationId = null; } else if (designationInfo.DesignationId > 0) { cardHolderInfo.DesignationId = designationInfo.DesignationId; } else { cardHolderInfo.Designation = designationInfo; } if (sectionInfo == null) { cardHolderInfo.SectionId = null; } else if (sectionInfo.SectionId > 0) { cardHolderInfo.SectionId = sectionInfo.SectionId; } else { cardHolderInfo.Section = sectionInfo; } if (companyInfo == null) { cardHolderInfo.CompanyId = null; } else if (companyInfo.CompanyId > 0) { cardHolderInfo.CompanyId = companyInfo.CompanyId; } else { cardHolderInfo.Company = companyInfo; } }
public PermanentChForm(CardHolderInfo cardHolderInfo) { PermamentCardHolder permanentCh = null; if (cardHolderInfo != null) { this.mCardHolderInfo = cardHolderInfo; string strPNumber = string.IsNullOrEmpty(cardHolderInfo.PNumber) ? "P-Number not found." : cardHolderInfo.PNumber; string strDOB = string.IsNullOrEmpty(cardHolderInfo.DateOfBirth) ? "Date of birth not found." : cardHolderInfo.DateOfBirth; string bloodGroup = cardHolderInfo.BloodGroup; string CNICNumber = cardHolderInfo.CNICNumber; string crew = cardHolderInfo.Crew == null ? "" : cardHolderInfo.Crew.CrewName; string cadre = cardHolderInfo.Cadre == null ? "" : cardHolderInfo.Cadre.CadreName; string department = cardHolderInfo.Department == null ? "" : cardHolderInfo.Department.DepartmentName; string designation = cardHolderInfo.Designation == null ? "" : cardHolderInfo.Designation.Designation; string contactNumber = cardHolderInfo.EmergancyContactNumber; string section = cardHolderInfo.Section == null ? "" : cardHolderInfo.Section.SectionName; permanentCh = new PermamentCardHolder() { FirstName = cardHolderInfo.FirstName, LastName = cardHolderInfo.LastName, BloodGroup = string.IsNullOrEmpty(bloodGroup) ? "Blood Group Not Found." : bloodGroup, Cadre = cadre, CardNumber = cardHolderInfo.LastName, CNICNumber = string.IsNullOrEmpty(CNICNumber) ? "CINC Not Found." : CNICNumber, Crew = string.IsNullOrEmpty(crew) ? "Crew Not Found." : crew, Department = string.IsNullOrEmpty(department) ? "Department Not Found." : department, Designation = string.IsNullOrEmpty(designation) ? "Designation Not Found." : designation, EmergancyContactNumber = string.IsNullOrEmpty(contactNumber) ? "Contact Number Not Found." : contactNumber, Section = string.IsNullOrEmpty(section) ? "Section Not Found." : section, PNumber = strPNumber, DateOfBirth = strDOB, CheckInInfos = cardHolderInfo.CheckInInfos ?? new List <CheckInAndOutInfo>(), BlockedInfos = cardHolderInfo.BlockingInfos ?? new List <BlockedPersonInfo>() }; } InitializeComponent(); if (permanentCh != null) { PersonalDataImageID pdii = (from pdi in EFERTDbUtility.mCCFTCentral.PersonalDataImageIDs where pdi != null && pdi.CardholderID == cardHolderInfo.FTItemId select pdi).FirstOrDefault(); this.tbxCardNumber.Text = permanentCh.CardNumber; this.tbxFirstName.Text = permanentCh.FirstName; this.tbxBloodGroup.Text = permanentCh.BloodGroup; this.tbxCadre.Text = permanentCh.Cadre; this.tbxCrew.Text = permanentCh.Crew; this.tbxDob.Text = permanentCh.DateOfBirth; this.tbxDepartment.Text = permanentCh.Department; this.tbxDesignation.Text = permanentCh.Designation; this.tbxContactNumber.Text = permanentCh.EmergancyContactNumber; this.tbxCNICNumber.Text = permanentCh.CNICNumber; this.tbxPNumber.Text = permanentCh.PNumber; this.tbxSection.Text = permanentCh.Section; this.tbxLastName.Text = permanentCh.LastName; //this.tbxCardNumber.Text = permanentCh.CardNumber; this.mCheckIns = permanentCh.CheckInInfos; this.mBlocks = permanentCh.BlockedInfos; this.mCNICNumber = permanentCh.CNICNumber; } this.UpdateStatus(this.mCNICNumber); }
private void SearchCardHolderCore(string searchString, bool isNicNumber, bool isTempCard = false, bool isVisitorCard = false) { EFERTDbUtility.InitializeDatabases(false); CCFTCentral ccftCentral = EFERTDbUtility.mCCFTCentral; Cardholder cardHolder = null; CardHolderInfo cardHolderInfo = null; VisitorCardHolder visitor = null; DailyCardHolder dailyCardHolder = null; bool updatedCardExist = true; if (isNicNumber) { Task <Cardholder> cardHolderByNicTask = new Task <Cardholder>(() => { Cardholder cardHolderByNic = (from pds in ccftCentral.PersonalDataStrings where pds != null && pds.PersonalDataFieldID == 5051 && pds.Value != null && pds.Value == searchString select pds.Cardholder).FirstOrDefault(); return(cardHolderByNic); }); cardHolderByNicTask.Start(); cardHolderInfo = (from card in EFERTDbUtility.mEFERTDb.CardHolders where card != null && card.CNICNumber == searchString select card).FirstOrDefault(); if (cardHolderInfo == null) { cardHolder = cardHolderByNicTask.Result; if (cardHolder == null) { dailyCardHolder = (from daily in EFERTDbUtility.mEFERTDb.DailyCardHolders where daily != null && daily.CNICNumber == searchString select daily).FirstOrDefault(); if (dailyCardHolder == null) { visitor = (from visit in EFERTDbUtility.mEFERTDb.Visitors where visit != null && visit.CNICNumber == searchString select visit).FirstOrDefault(); } } } else { if (cardHolderInfo.IsTemp) { cardHolder = cardHolderByNicTask.Result; if (cardHolder == null) { updatedCardExist = false; } } } } else { Task <Cardholder> cardHolderByCardNumberTask = new Task <Cardholder>(() => { Cardholder cardHolderByCardNumber = (from c in ccftCentral.Cardholders where c != null && c.LastName == searchString select c).FirstOrDefault(); return(cardHolderByCardNumber); }); cardHolderByCardNumberTask.Start(); cardHolderInfo = (from card in EFERTDbUtility.mEFERTDb.CardHolders where card != null && card.CardNumber == searchString select card).FirstOrDefault(); if (cardHolderInfo == null) { CheckInAndOutInfo cardIssued = (from checkIn in EFERTDbUtility.mEFERTDb.CheckedInInfos where checkIn != null && checkIn.CheckedIn && checkIn.CardNumber == searchString select checkIn).FirstOrDefault(); if (cardIssued != null) { dailyCardHolder = cardIssued.DailyCardHolders; if (dailyCardHolder == null) { visitor = cardIssued.Visitors; if (visitor == null) { cardHolderInfo = cardIssued.CardHolderInfos; if (cardHolderInfo != null && cardHolderInfo.IsTemp) { cardHolder = (from pds in ccftCentral.PersonalDataStrings where pds != null && pds.PersonalDataFieldID == 5051 && pds.Value != null && pds.Value == cardIssued.CNICNumber select pds.Cardholder).FirstOrDefault(); if (cardHolder != null) { updatedCardExist = true; } else { updatedCardExist = false; } } } } } if (visitor == null && dailyCardHolder == null && cardHolderInfo == null) { if (!isTempCard && !isVisitorCard) { cardHolder = cardHolderByCardNumberTask.Result; } } if (visitor == null && dailyCardHolder == null && cardHolder == null && cardHolderInfo == null) { if (Form.ActiveForm != null) { bool found = false; if (Form.ActiveForm is VisitorForm) { found = true; (Form.ActiveForm as VisitorForm).SetCardNumber(searchString); } else if (Form.ActiveForm is PermanentChForm) { found = true; (Form.ActiveForm as PermanentChForm).SetCardNumber(searchString); } else if (Form.ActiveForm is ContractorChForm) { found = true; (Form.ActiveForm as ContractorChForm).SetCardNumber(searchString); } if (found) { return; } } if (isTempCard) { MessageBox.Show(this, "This temporary card is not issued to any person."); } else if (isVisitorCard) { MessageBox.Show(this, "This visitor card is not issued to any visitor."); } else { MessageBox.Show(this, "Cardholder with " + searchString + " card number is not found."); } return; } } //else //{ // if (!cardHolderInfo.GallagherCardHolder) // { // cardHolder = cardHolderByNicTask.Result; // if (cardHolder == null) // { // updatedCardExist = false; // } // } //} //bool isDigitOnly = this.IsDigitsOnly(searchString); //if (isDigitOnly) //{ //cardHolder = (from c in ccftCentral.Cardholders // where c != null && c.LastName == searchString // select c).FirstOrDefault(); //} //else //{ // cardHolder = (from c in ccftCentral.Cardholders // where c != null && c.FirstName == searchString // select c).FirstOrDefault(); //} } if (cardHolder == null && cardHolderInfo == null && visitor == null && dailyCardHolder == null) { ContractorChForm npchf = new ContractorChForm(searchString); npchf.ShowDialog(this); } else { if (cardHolderInfo != null && !cardHolderInfo.IsTemp) { string cadre = cardHolderInfo.Cadre == null ? "" : cardHolderInfo.Cadre.CadreName; bool isPermanent = cadre.ToLower() == "nmpt" || cadre.ToLower() == "mpt"; if (isPermanent) { PermanentChForm permanentForm = new PermanentChForm(cardHolderInfo); permanentForm.Show(); } else { ContractorChForm contractorForm = new ContractorChForm(cardHolderInfo); contractorForm.Show(); } } else if (cardHolder != null) { Dictionary <int, string> chPds = new Dictionary <int, string>(); foreach (PersonalDataString pds in cardHolder.PersonalDataStrings) { if (pds != null) { chPds.Add(pds.PersonalDataFieldID, pds.Value); } } string cadre = (from c in chPds where c.Key == 12952 && c.Value != null select c.Value).FirstOrDefault(); if (string.IsNullOrEmpty(cadre)) { MessageBox.Show(this, "No Cadre found."); } else { bool isPermanent = cadre.ToLower() == "nmpt" || cadre.ToLower() == "mpt"; if (isPermanent) { int? pNumber = cardHolder.PersonalDataIntegers == null || cardHolder.PersonalDataIntegers.Count == 0 ? null : cardHolder.PersonalDataIntegers.ElementAt(0).Value; string strPNumber = pNumber == null ? "P-Number not found." : pNumber.ToString(); DateTime?dateOfBirth = cardHolder.PersonalDataDates == null || cardHolder.PersonalDataDates.Count == 0 ? null : cardHolder.PersonalDataDates.ElementAt(0).Value; string strDOB = dateOfBirth == null ? "Date of birth not found." : dateOfBirth.ToString(); string bloodGroup = chPds.ContainsKey(5047) && chPds[5047] != null ? chPds[5047] : string.Empty; string CNICNumber = chPds.ContainsKey(5051) && chPds[5051] != null ? chPds[5051] : string.Empty; string crew = chPds.ContainsKey(12869) && chPds[12869] != null ? chPds[12869] : string.Empty; string department = chPds.ContainsKey(5043) && chPds[5043] != null ? chPds[5043] : string.Empty; string designation = chPds.ContainsKey(5042) && chPds[5042] != null ? chPds[5042] : string.Empty; string contactNumber = chPds.ContainsKey(5053) && chPds[5053] != null ? chPds[5053] : string.Empty; string section = chPds.ContainsKey(12951) && chPds[12951] != null ? chPds[12951] : string.Empty; int cardHolderId = cardHolder.FTItemID; string companyName = chPds.ContainsKey(5059) && chPds[5059] != null ? chPds[5059] : string.Empty; CadreInfo cadreInfo = (from c in EFERTDbUtility.mEFERTDb.Cadres where c != null && c.CadreName == cadre select c).FirstOrDefault() ?? new CadreInfo() { CadreName = cadre }; CrewInfo crewInfo = string.IsNullOrEmpty(crew) ? null : ((from c in EFERTDbUtility.mEFERTDb.Crews where c != null && c.CrewName == crew select c).FirstOrDefault() ?? new CrewInfo() { CrewName = crew }); DepartmentInfo departmentInfo = string.IsNullOrEmpty(department) ? null : ((from c in EFERTDbUtility.mEFERTDb.Departments where c != null && c.DepartmentName == department select c).FirstOrDefault() ?? new DepartmentInfo() { DepartmentName = department }); DesignationInfo designationInfo = string.IsNullOrEmpty(designation) ? null : ((from c in EFERTDbUtility.mEFERTDb.Designations where c != null && c.Designation == designation select c).FirstOrDefault() ?? new DesignationInfo() { Designation = designation }); SectionInfo sectionInfo = string.IsNullOrEmpty(section) ? null : ((from c in EFERTDbUtility.mEFERTDb.Sections where c != null && c.SectionName == section select c).FirstOrDefault() ?? new SectionInfo() { SectionName = section }); CompanyInfo companyInfo = string.IsNullOrEmpty(companyName) ? null : ((from c in EFERTDbUtility.mEFERTDb.Companies where c != null && c.CompanyName == companyName select c).FirstOrDefault() ?? new CompanyInfo() { CompanyName = companyName }); if (cardHolderInfo != null && cardHolderInfo.IsTemp) { cardHolderInfo.FTItemId = cardHolderId; cardHolderInfo.FirstName = cardHolder.FirstName; cardHolderInfo.LastName = cardHolder.LastName; cardHolderInfo.BloodGroup = string.IsNullOrEmpty(bloodGroup) ? null : bloodGroup; cardHolderInfo.CardNumber = cardHolder.LastName; cardHolderInfo.CNICNumber = string.IsNullOrEmpty(CNICNumber) ? null : CNICNumber; cardHolderInfo.EmergancyContactNumber = string.IsNullOrEmpty(contactNumber) ? null : contactNumber; cardHolderInfo.PNumber = pNumber == null ? null : pNumber.ToString(); cardHolderInfo.DateOfBirth = dateOfBirth == null ? null : dateOfBirth.ToString(); cardHolderInfo.IsTemp = false; setCarholderInfo(cardHolderInfo, departmentInfo, cadreInfo, crewInfo, designationInfo, sectionInfo, companyInfo); EFERTDbUtility.mEFERTDb.Entry(cardHolderInfo).State = System.Data.Entity.EntityState.Modified; } else { cardHolderInfo = new CardHolderInfo() { FTItemId = cardHolderId, FirstName = cardHolder.FirstName, LastName = cardHolder.LastName, BloodGroup = string.IsNullOrEmpty(bloodGroup) ? null : bloodGroup, CardNumber = cardHolder.LastName, CNICNumber = string.IsNullOrEmpty(CNICNumber) ? null : CNICNumber, EmergancyContactNumber = string.IsNullOrEmpty(contactNumber) ? null : contactNumber, PNumber = pNumber == null ? null : pNumber.ToString(), DateOfBirth = dateOfBirth == null ? null : dateOfBirth.ToString(), IsTemp = false }; setCarholderInfo(cardHolderInfo, departmentInfo, cadreInfo, crewInfo, designationInfo, sectionInfo, companyInfo); EFERTDbUtility.mEFERTDb.CardHolders.Add(cardHolderInfo); } EFERTDbUtility.mEFERTDb.SaveChanges(); PermanentChForm permanentForm = new PermanentChForm(cardHolderInfo); permanentForm.Show(); } else { string companyName = chPds.ContainsKey(5059) && chPds[5059] != null ? chPds[5059] : string.Empty; string CNICNumber = chPds.ContainsKey(5051) && chPds[5051] != null ? chPds[5051] : string.Empty; string department = chPds.ContainsKey(5043) && chPds[5043] != null ? chPds[5043] : string.Empty; string designation = chPds.ContainsKey(5042) && chPds[5042] != null ? chPds[5042] : string.Empty; string emergancyContactNumber = chPds.ContainsKey(5053) && chPds[5053] != null ? chPds[5053] : string.Empty; string section = chPds.ContainsKey(12951) && chPds[12951] != null ? chPds[12951] : string.Empty; string wONumber = chPds.ContainsKey(5344) && chPds[5344] != null ? chPds[5344] : string.Empty; int cardHolderId = cardHolder.FTItemID; CadreInfo cadreInfo = (from c in EFERTDbUtility.mEFERTDb.Cadres where c != null && c.CadreName == cadre select c).FirstOrDefault() ?? new CadreInfo() { CadreName = cadre }; CrewInfo crewInfo = null; DepartmentInfo departmentInfo = string.IsNullOrEmpty(department) ? null : ((from c in EFERTDbUtility.mEFERTDb.Departments where c != null && c.DepartmentName == department select c).FirstOrDefault() ?? new DepartmentInfo() { DepartmentName = department }); DesignationInfo designationInfo = string.IsNullOrEmpty(designation) ? null : ((from c in EFERTDbUtility.mEFERTDb.Designations where c != null && c.Designation == designation select c).FirstOrDefault() ?? new DesignationInfo() { Designation = designation }); SectionInfo sectionInfo = string.IsNullOrEmpty(section) ? null : ((from c in EFERTDbUtility.mEFERTDb.Sections where c != null && c.SectionName == section select c).FirstOrDefault() ?? new SectionInfo() { SectionName = section }); CompanyInfo companyInfo = string.IsNullOrEmpty(companyName) ? null : ((from c in EFERTDbUtility.mEFERTDb.Companies where c != null && c.CompanyName == companyName select c).FirstOrDefault() ?? new CompanyInfo() { CompanyName = companyName }); if (cardHolderInfo != null && cardHolderInfo.IsTemp) { cardHolderInfo.FTItemId = cardHolderId; cardHolderInfo.FirstName = cardHolder.FirstName; cardHolderInfo.LastName = cardHolder.LastName; cardHolderInfo.CardNumber = cardHolder.LastName; cardHolderInfo.CNICNumber = string.IsNullOrEmpty(CNICNumber) ? null : CNICNumber; cardHolderInfo.EmergancyContactNumber = string.IsNullOrEmpty(emergancyContactNumber) ? null : emergancyContactNumber; cardHolderInfo.WONumber = string.IsNullOrEmpty(wONumber) ? null : wONumber; cardHolderInfo.IsTemp = false; setCarholderInfo(cardHolderInfo, departmentInfo, cadreInfo, crewInfo, designationInfo, sectionInfo, companyInfo); EFERTDbUtility.mEFERTDb.Entry(cardHolderInfo).State = System.Data.Entity.EntityState.Modified; } else { cardHolderInfo = new CardHolderInfo() { FTItemId = cardHolderId, FirstName = cardHolder.FirstName, LastName = cardHolder.LastName, CardNumber = cardHolder.LastName, CNICNumber = string.IsNullOrEmpty(CNICNumber) ? null : CNICNumber, EmergancyContactNumber = string.IsNullOrEmpty(emergancyContactNumber) ? null : emergancyContactNumber, WONumber = string.IsNullOrEmpty(wONumber) ? null : wONumber, IsTemp = false }; setCarholderInfo(cardHolderInfo, departmentInfo, cadreInfo, crewInfo, designationInfo, sectionInfo, companyInfo); EFERTDbUtility.mEFERTDb.CardHolders.Add(cardHolderInfo); } EFERTDbUtility.mEFERTDb.SaveChanges(); ContractorChForm contractorForm = new ContractorChForm(cardHolderInfo); contractorForm.Show(); } } } else if (!updatedCardExist) { ContractorChForm contractorForm = new ContractorChForm(cardHolderInfo, true); contractorForm.Show(); } else if (visitor != null) { VisitorForm vistorForm = new VisitorForm(visitor); vistorForm.Show(); } else if (dailyCardHolder != null) { ContractorChForm contractorForm = new ContractorChForm(dailyCardHolder); contractorForm.Show(); } } }