private void UpdateSearchCardMasterData(CategoryWiseSearchResult fractionResult, string catId)
 {
     if ((fractionResult != null) && (fractionResult.CardSearchResult != null) && (fractionResult.CardSearchResult.Count > 0))
     {
         if (catId != null)
         {
             CategoryWiseSearchResult cardListOfThatCat = MasterData.CategoryWiseSearchResult.Data.FirstOrDefault(i => (i.CategoryOfCard.Cat_Id == catId));
             if (cardListOfThatCat != null)
             {
                 cardListOfThatCat.CardSearchResult.AddRange(fractionResult.CardSearchResult);
                 cardListOfThatCat.CardCountOfCategory += fractionResult.CardCountOfCategory;
             }
         }
         else
         {
             foreach (RationCardDetail card in fractionResult.CardSearchResult)
             {
                 CategoryWiseSearchResult cardListOfThatCat = MasterData.CategoryWiseSearchResult.Data.FirstOrDefault(i => (i.CategoryOfCard.Cat_Id == card.Cat_Id));
                 if (cardListOfThatCat != null)
                 {
                     cardListOfThatCat.CardSearchResult.Add(card);
                     cardListOfThatCat.CardCountOfCategory++;
                 }
             }
         }
     }
 }
        private void btnSearch_Click(object sender, EventArgs e)
        {
            try
            {
                //lblSearchBy.Text = (txtSearch.Text != "") ? lblSearchBy.Text : "";
                _searchedCards       = new List <RationCardDetail>();
                lblSearchResult.Text = "";
                lblCriteria.Text     = "";

                //if fetching from masterdata then updated or newly entered record must be updated into search result
                CategoryWiseSearchResult cards = null;
                if (string.IsNullOrEmpty(txtSearch.Text.Trim()) && (MasterData.MasterDataFetchComplete) && (MasterData.CategoryWiseSearchResult != null))
                {
                    cards = new CategoryWiseSearchResult();
                    CategoryWiseSearchResult fractionResult = MasterDataHelper.SearchCard(lblSearchBy.Text, txtSearch.Text, cmbCardCat.SelectedValue as string, true);
                    UpdateSearchCardMasterData(fractionResult, cmbCardCat.SelectedValue as string);
                    if ((cmbCardCat.SelectedValue != null) && (MasterData.CategoryWiseSearchResult != null))
                    {
                        cards = MasterData.CategoryWiseSearchResult.Data.FirstOrDefault(i =>
                                                                                        (i.CategoryOfCard != null) && (i.CategoryOfCard.Cat_Id == cmbCardCat.SelectedValue.ToString()));
                    }
                    else
                    {
                        cards.CardSearchResult = new List <RationCardDetail>();
                        MasterData.CategoryWiseSearchResult.Data.ForEach(i =>
                        {
                            cards.CardSearchResult.AddRange(i.CardSearchResult);
                            cards.CardCountOfCategory += i.CardCountOfCategory;
                        });
                    }
                }
                if (cards == null)
                {
                    cards = MasterDataHelper.SearchCard(lblSearchBy.Text, txtSearch.Text, cmbCardCat.SelectedValue as string);
                }
                if ((cards != null) && (cards.CardCountOfCategory > 0))
                {
                    lblCriteria.Text = "Searched For "
                                       + ((txtSearch.Text != "") ? ("\"" + txtSearch.Text + "\""): "Blank")
                                       + ((lblSearchBy.Text != "") ? (" in \"" + lblSearchBy.Text + "\"") : "")
                                       + ((cmbCardCat.Text != "") ? (" within RationCard Category \"" + cmbCardCat.Text + "\"") : "");

                    grpBoxSearchCriteria.Visible = true;
                    lblSearchResult.Text         = "Total Result " + cards.CardCountOfCategory;
                }

                _searchedCards = cards.CardSearchResult;
                grdVwSearchResult.DataSource = null;
                grdVwSearchResult.DataSource = _searchedCards;
                grdVwSearchResult.Refresh();
                btnPrint.Visible = true;
            }
            catch (Exception ex)
            {
                Logger.LogError(ex);
            }
        }
        public static CategoryWiseSearchResult SearchCard(string searchBy, string searchText, string searchCatId, bool fetchOnlyRecentData = false)
        {
            ErrorEnum errType      = ErrorEnum.Other;
            string    errMsg       = string.Empty;
            bool      isSuccess    = false;
            Exception errObj       = new Exception();
            int       convertedNum = 0;
            var       result       = new CategoryWiseSearchResult();

            result.CardSearchResult = new List <RationCardDetail>();
            try
            {
                DataSet ds = DBoperationsManager.SearchCard(searchBy, searchText, searchCatId, out errType, out errMsg, out isSuccess, out errObj);

                if ((ds != null) && (ds.Tables.Count > 0) && (ds.Tables[0].Rows.Count > 0))
                {
                    int count = 1;
                    result.CardCountOfCategory = int.TryParse(ds.Tables[1].Rows[0]["RECORD_COUNT"].ToString(), out convertedNum) ? convertedNum : 0;
                    result.CategoryOfCard      = MasterData.Categories.Data.FirstOrDefault(i => i.Cat_Id == searchCatId);
                    foreach (DataRow r in ds.Tables[0].Rows)
                    {
                        result.CardSearchResult.Add(new RationCardDetail
                        {
                            SlNo              = count,
                            Number            = r["RATIONCARD_NO"].ToString(),
                            Adhar_No          = r["Adhar_No"].ToString(),
                            Mobile_No         = r["Mobile_No"].ToString(),
                            Hof_Name          = r["HOF_NAME"].ToString(),
                            Name              = r["Name"].ToString(),
                            Age               = r["Age"].ToString(),
                            Address           = r["Address"].ToString(),
                            CardStatus        = (r["STATUS"].ToString() == "True") ? "Active" : "",
                            ActiveCard        = r["STATUS"].ToString() == "True",
                            Card_Created_Date = r["Created_Date"].ToString(),
                            Cat_Desc          = r["Cat_Desc"].ToString(),
                            Customer_Id       = r["Customer_Id"].ToString(),
                            Hof_Flag          = r["Hof_Flag"].ToString(),
                            Hof_Id            = r["Hof_Id"].ToString(),
                            RationCard_Id     = r["RationCard_Id"].ToString(),
                            Cat_Id            = r["Cat_Id"].ToString(),
                            Card_Category_Id  = r["Cat_Id"].ToString(),
                            Remarks           = r["Remarks"].ToString(),
                            Relation_With_Hof = r["Relation_With_Hof"].ToString(),
                            Gaurdian_Relation = r["Gaurdian_Relation"].ToString(),
                            Gaurdian_Name     = r["Gaurdian_Name"].ToString(),
                            FamilyCount       = ds.Tables[0].AsEnumerable().Count(
                                i => i["Hof_Id"].ToString() == r["Hof_Id"].ToString()).ToString(),
                            CardCount = ds.Tables[0].AsEnumerable().Count(
                                i => i["Hof_Id"].ToString() == r["Hof_Id"].ToString() &&
                                (r["STATUS"].ToString() == "True")).ToString()
                        });
                        count++;
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.LogError(ex);
            }
            return(result);
        }
예제 #4
0
        private void txtRationcardNumber_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
            {
                try
                {
                    CategoryWiseSearchResult searchedCards = MasterDataHelper.SearchCard("RATIONCARD", txtRationcardNumber.Text, null);
                    if (searchedCards != null)
                    {
                        foreach (RationCardDetailExtended card in searchedCards.CardSearchResult)
                        {
                            card.IsSelected = true;
                            _searchedCards.Add(card);
                        }
                    }

                    grdVwSearchResult.DataSource = null;
                    grdVwSearchResult.DataSource = _searchedCards;

                    //making card number complete
                    var searchedCardNumber = _searchedCards.FirstOrDefault(i => i.Number.Contains(txtRationcardNumber.Text)).Number;
                    txtRationcardNumber.Text = "";

                    //make unneccesary fileds hidden
                    grdVwSearchResult.Columns["Cat_Key"].Visible               = false;
                    grdVwSearchResult.Columns["Cat_Desc"].Visible              = false;
                    grdVwSearchResult.Columns["RationCard_Id"].Visible         = false;
                    grdVwSearchResult.Columns["Card_Category_Id"].Visible      = false;
                    grdVwSearchResult.Columns["Customer_Created_Date"].Visible = false;
                    grdVwSearchResult.Columns["Customer_Id"].Visible           = false;
                    grdVwSearchResult.Columns["Hof_Id"].Visible         = false;
                    grdVwSearchResult.Columns["Dist_Id"].Visible        = false;
                    grdVwSearchResult.Columns["ActiveCustomer"].Visible = false;
                    grdVwSearchResult.Columns["Cat_Id"].Visible         = false;
                    //grdVwSearchResult.Columns["CardCount"].Visible = false;
                    //grdVwSearchResult.Columns["FamilyCount"].Visible = false;
                    grdVwSearchResult.Columns["ActiveCard"].Visible = true;
                    //grdVwSearchResult.Columns["Hof_Flag"].Visible = false;
                    grdVwSearchResult.Columns["CardStatus"].Visible        = false;
                    grdVwSearchResult.Columns["Gaurdian_Relation"].Visible = false;
                    grdVwSearchResult.Columns["SlNo"].Visible = false;
                    //grdVwSearchResult.Columns["Number"].Visible = false;
                    grdVwSearchResult.Columns["Adhar_No"].Visible = false;
                    //grdVwSearchResult.Columns["Mobile_No"].Visible = false;
                    grdVwSearchResult.Columns["Hof_Name"].Visible          = false;
                    grdVwSearchResult.Columns["Relation_With_Hof"].Visible = false;
                    //grdVwSearchResult.Columns["Name"].Visible = false;
                    grdVwSearchResult.Columns["Age"].Visible               = false;
                    grdVwSearchResult.Columns["Address"].Visible           = false;
                    grdVwSearchResult.Columns["Card_Created_Date"].Visible = false;
                    grdVwSearchResult.Columns["Gaurdian_Name"].Visible     = false;
                    grdVwSearchResult.Columns["Remarks"].Visible           = false;

                    grdVwSearchResult.Columns["IsSelected"].HeaderText   = "";
                    grdVwSearchResult.Columns["IsSelected"].DisplayIndex = 0;
                    grdVwSearchResult.Columns["IsSelected"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    grdVwSearchResult.Columns["IsSelected"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);

                    grdVwSearchResult.Columns["Number"].HeaderText   = "Card No.";
                    grdVwSearchResult.Columns["Number"].DisplayIndex = 1;
                    grdVwSearchResult.Columns["Number"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    grdVwSearchResult.Columns["Number"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);

                    grdVwSearchResult.Columns["Name"].HeaderText   = "Name";
                    grdVwSearchResult.Columns["Name"].DisplayIndex = 2;
                    grdVwSearchResult.Columns["Name"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    grdVwSearchResult.Columns["Name"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);

                    grdVwSearchResult.Columns["Mobile_No"].HeaderText   = "Mobile No";
                    grdVwSearchResult.Columns["Mobile_No"].DisplayIndex = 3;
                    grdVwSearchResult.Columns["Mobile_No"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    grdVwSearchResult.Columns["Mobile_No"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);

                    grdVwSearchResult.Columns["FamilyCount"].HeaderText   = "FamilyCount";
                    grdVwSearchResult.Columns["FamilyCount"].DisplayIndex = 4;
                    grdVwSearchResult.Columns["FamilyCount"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    grdVwSearchResult.Columns["FamilyCount"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);

                    grdVwSearchResult.Columns["CardCount"].HeaderText   = "CardCount";
                    grdVwSearchResult.Columns["CardCount"].DisplayIndex = 5;
                    grdVwSearchResult.Columns["CardCount"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    grdVwSearchResult.Columns["CardCount"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);

                    grdVwSearchResult.Columns["Hof_Flag"].HeaderText   = "IsHof";
                    grdVwSearchResult.Columns["Hof_Flag"].DisplayIndex = 6;
                    grdVwSearchResult.Columns["Hof_Flag"].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
                    grdVwSearchResult.Columns["Hof_Flag"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.ColumnHeader, true);

                    grdVwSearchResult.Columns["ActiveCard"].HeaderText   = "Is Active";
                    grdVwSearchResult.Columns["ActiveCard"].DisplayIndex = 7;
                    grdVwSearchResult.Columns["ActiveCard"].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
                    grdVwSearchResult.Columns["ActiveCard"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.ColumnHeader, true);
                    //grdVwSearchResult.Columns.Add(new DataGridViewColumn { ValueType = typeof(bool), Name = "IsSelected", HeaderText = "Select"});

                    //grdVwSearchResult.Width = grdVwSearchResult.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) + 40;
                    //grdVwSearchResult.Height = grdVwSearchResult.Rows.GetRowsHeight(new DataGridViewElementStates());

                    btnCreateBill.Visible    = true;
                    txtRationcardNumber.Text = "";
                }
                catch (Exception ex)
                {
                    txtRationcardNumber.Text = "";
                    Logger.LogError(ex);
                }
            }
        }
예제 #5
0
        private void txtRationcardNumber_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
            {
                try
                {
                    CategoryWiseSearchResult searchedCards = MasterDataHelper.SearchCard("RATIONCARD", txtRationcardNumber.Text, null);
                    if (searchedCards != null)
                    {
                        List <RationCardDetail> cardWithRationThisFortnight = searchedCards.CardSearchResult.FindAll(i => MasterData.AllCardsOfThisFortnight.Data.Any(j => j.Equals(i.Number)));
                        if ((cardWithRationThisFortnight != null) && (cardWithRationThisFortnight.Count > 0))
                        {
                            MessageBox.Show("RationCard already given in this Fortnight for below cards :" + Environment.NewLine
                                            + string.Join(Environment.NewLine
                                                          , cardWithRationThisFortnight.Select(i => "Name : " + i.Name + "   CardNumber : " + i.Number).ToList()));
                        }
                        searchedCards.CardSearchResult.RemoveAll(i => cardWithRationThisFortnight.Any(j => j.Number.Equals(i.Number)));
                        searchedCards.CardCountOfCategory = searchedCards.CardSearchResult.Count;
                        _searchedCards.Clear();
                        foreach (RationCardDetail card in searchedCards.CardSearchResult)
                        {
                            if (card.ActiveCard)
                            {
                                var cardExtended = new RationCardDetailExtended();
                                cardExtended            = AutomapperHelper.ConvertAutoMapper <RationCardDetail, RationCardDetailExtended>(card);
                                cardExtended.IsSelected = true;
                                _searchedCards.Add(cardExtended);
                            }
                        }
                    }

                    grdVwSearchResult.DataSource = null;
                    grdVwSearchResult.DataSource = _searchedCards;

                    //making card number complete
                    //var searchedCardNumber = _searchedCards.FirstOrDefault(i => i.Number.Contains(txtRationcardNumber.Text)).Number;
                    txtRationcardNumber.Text = "";

                    //make unneccesary fileds hidden
                    grdVwSearchResult.Columns["Cat_Key"].Visible               = false;
                    grdVwSearchResult.Columns["Cat_Desc"].Visible              = false;
                    grdVwSearchResult.Columns["RationCard_Id"].Visible         = false;
                    grdVwSearchResult.Columns["Card_Category_Id"].Visible      = false;
                    grdVwSearchResult.Columns["Customer_Created_Date"].Visible = false;
                    grdVwSearchResult.Columns["Customer_Id"].Visible           = false;
                    grdVwSearchResult.Columns["Hof_Id"].Visible         = false;
                    grdVwSearchResult.Columns["Dist_Id"].Visible        = false;
                    grdVwSearchResult.Columns["ActiveCustomer"].Visible = false;
                    grdVwSearchResult.Columns["Cat_Id"].Visible         = false;
                    //grdVwSearchResult.Columns["CardCount"].Visible = false;
                    //grdVwSearchResult.Columns["FamilyCount"].Visible = false;
                    grdVwSearchResult.Columns["ActiveCard"].Visible = true;
                    //grdVwSearchResult.Columns["Hof_Flag"].Visible = false;
                    grdVwSearchResult.Columns["CardStatus"].Visible        = false;
                    grdVwSearchResult.Columns["Gaurdian_Relation"].Visible = false;
                    grdVwSearchResult.Columns["SlNo"].Visible = false;
                    //grdVwSearchResult.Columns["Number"].Visible = false;
                    grdVwSearchResult.Columns["Adhar_No"].Visible = false;
                    //grdVwSearchResult.Columns["Mobile_No"].Visible = false;
                    grdVwSearchResult.Columns["Hof_Name"].Visible          = false;
                    grdVwSearchResult.Columns["Relation_With_Hof"].Visible = false;
                    //grdVwSearchResult.Columns["Name"].Visible = false;
                    grdVwSearchResult.Columns["Age"].Visible               = false;
                    grdVwSearchResult.Columns["Address"].Visible           = false;
                    grdVwSearchResult.Columns["Card_Created_Date"].Visible = false;
                    grdVwSearchResult.Columns["Gaurdian_Name"].Visible     = false;
                    grdVwSearchResult.Columns["Remarks"].Visible           = false;
                    grdVwSearchResult.Columns["FamilyCount"].Visible       = false;
                    grdVwSearchResult.Columns["CardCount"].Visible         = false;

                    grdVwSearchResult.Columns["IsSelected"].HeaderText   = "";
                    grdVwSearchResult.Columns["IsSelected"].DisplayIndex = 0;
                    grdVwSearchResult.Columns["IsSelected"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    grdVwSearchResult.Columns["IsSelected"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);

                    grdVwSearchResult.Columns["Number"].HeaderText   = "Card No.";
                    grdVwSearchResult.Columns["Number"].DisplayIndex = 1;
                    grdVwSearchResult.Columns["Number"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    grdVwSearchResult.Columns["Number"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);

                    grdVwSearchResult.Columns["Name"].DisplayIndex = 2;
                    grdVwSearchResult.Columns["Name"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    grdVwSearchResult.Columns["Name"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);

                    grdVwSearchResult.Columns["Mobile_No"].HeaderText   = "Mobile No";
                    grdVwSearchResult.Columns["Mobile_No"].DisplayIndex = 3;
                    grdVwSearchResult.Columns["Mobile_No"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    grdVwSearchResult.Columns["Mobile_No"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true);

                    grdVwSearchResult.Columns["Hof_Flag"].HeaderText   = "IsHof";
                    grdVwSearchResult.Columns["Hof_Flag"].DisplayIndex = 6;
                    grdVwSearchResult.Columns["Hof_Flag"].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
                    grdVwSearchResult.Columns["Hof_Flag"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.ColumnHeader, true);

                    grdVwSearchResult.Columns["ActiveCard"].HeaderText   = "Is Active";
                    grdVwSearchResult.Columns["ActiveCard"].DisplayIndex = 7;
                    grdVwSearchResult.Columns["ActiveCard"].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
                    grdVwSearchResult.Columns["ActiveCard"].GetPreferredWidth(DataGridViewAutoSizeColumnMode.ColumnHeader, true);
                    //grdVwSearchResult.Columns.Add(new DataGridViewColumn { ValueType = typeof(bool), Name = "IsSelected", HeaderText = "Select"});

                    //grdVwSearchResult.Width = grdVwSearchResult.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) + 40;
                    //grdVwSearchResult.Height = grdVwSearchResult.Rows.GetRowsHeight(new DataGridViewElementStates());

                    btnCreateBill.Visible    = true;
                    txtRationcardNumber.Text = "";
                    CalculateCardCount();
                    grdVwSearchResult.Focus();
                }
                catch (Exception ex)
                {
                    txtRationcardNumber.Text = "";
                    Logger.LogError(ex);
                }
            }
        }