i have a strange thing here, i have a WCF service that has an operation contract defined like this
as you can see this function accept "IList<EcashMenuSynchModel>" which is the Ilist of my model classCode:public bool SynchMenuItemsToCDB(IList<EcashMenuSynchModel> model) { con = new SqlConnection(strCon); cmdinsert = new SqlCommand("sp_Addmenuitems"); //needs to be created cmdinsert.CommandType = CommandType.StoredProcedure; cmdinsert.Connection = con; bool Error = false; try { con.Open(); foreach (EcashMenuSynchModel ecash in model) { Error = false; cmdinsert.Parameters.Add("@MENUITEMID", SqlDbType.Int).Value = ecash.MENUITEMID; cmdinsert.Parameters.Add("@PDC_ID", SqlDbType.Int).Value = ecash.PDC_ID; cmdinsert.Parameters.Add("@PRD_ID", SqlDbType.Int).Value = ecash.PRD_ID; cmdinsert.Parameters.Add("@PDC_DESCRIPTION", SqlDbType.Int).Value = ecash.PDC_DESCRIPTION; cmdinsert.Parameters.Add("@PRD_SELLINGPRICE", SqlDbType.Int).Value = ecash.PRD_SELLINGPRICE; cmdinsert.Parameters.Add("@BREAKID", SqlDbType.Int).Value = ecash.BreakID; cmdinsert.Parameters.Add("@CUTOFFDATE", SqlDbType.Int).Value = ecash.CUTOFFDATE; cmdinsert.Parameters.Add("@SCHOOLID", SqlDbType.Int).Value = ecash.SCHOOLID; cmdinsert.ExecuteNonQuery(); } } catch (Exception ex) { Error = true; Logger.LoggerClient logger = new Logger.LoggerClient(); //Collect Data Logger.LoggerModel modelS = new Logger.LoggerModel(); modelS.iTYPEID = Convert.ToInt32(GenericEnum.Logging_Type.ECASH_SYCH); modelS.sLOGGER_CLASS = "eCashDatalayer"; modelS.sLOGGER_DESCRIPTION = ex.Message; modelS.sLOGGER_FUNCTION = "SynchMenuItemsToCDB"; modelS.sLOGGER_LOGGEDINUSERID = ""; modelS.sLOGGER_PAGE = "NA"; modelS.sLOGGER_VALUE = "NA"; logger.LogIncident(modelS); } finally { con.Close(); } return Error; }
i have a WPF application that consumes this service. so i first prepare that list like this
and i use it like thisCode:public IList<EcashMenuSynchModel> LoadMenuItems() { FirebirdSql.Data.FirebirdClient.FbConnection con = new FbConnection(strCon); FbCommand cmdselectFDB = new FbCommand(); StringBuilder sb = new StringBuilder(); sb.Append("SELECT M.MENUITEMID, M.PDC_ID, m.PRD_ID, M.PRD_SELLINGPRICE, P.PRD_DESCRIPTION, M.BREAKID, M.CUTOFFDATE, M.SCHOOLID "); sb.Append("From MENUITEMSECASH M "); sb.Append("INNER JOIN PRODUCT P "); sb.Append("ON m.PRD_ID = p.PRD_ID"); cmdselectFDB.CommandText = sb.ToString(); cmdselectFDB.Connection = con; FbDataAdapter da = new FbDataAdapter(); da.SelectCommand = cmdselectFDB; DataTable dt = new DataTable(); List<EcashMenuSynchModel> m_Break = null; try { con.Open(); da.Fill(dt); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { EcashMenuSynchModel m = new EcashMenuSynchModel(); m.MENUITEMID = Convert.ToInt32(dt.Rows[i][0]); m.PDC_ID = Convert.ToInt32(dt.Rows[i][1]); m.PRD_ID = Convert.ToInt32(dt.Rows[i][2]); m.PRD_SELLINGPRICE = Convert.ToDecimal(dt.Rows[i][3]); m.PDC_DESCRIPTION= Convert.ToString(dt.Rows[i][4]); m.BreakID = Convert.ToInt32(dt.Rows[i][5]); m.CUTOFFDATE = Convert.ToDateTime(dt.Rows[i][6]); m.SCHOOLID = Convert.ToInt32(dt.Rows[i][7]); m_Break.Add(m); } } } catch (Exception ex) { //log to a file } finally { con.Close(); } return m_Break; }
now i get a VS exception before i even compile thisCode:IList<EcashMenuSynchModel> m_Transactions = null; m_Transactions = ecash.LoadMenuItems(); bool Resultsfailer = DataLayerDirect.SynchMenuItemsToCDB(m_Transactions);
and thisCode:Error 32 The best overloaded method match for 'Ecash_Money_Synch_Demo.DataLayer.IeCashDatalayerClient.SynchMenuItemsToCDB(System.Collections.Generic.List<Ecash_Money_Synch_Demo.DataLayer.EcashMenuSynchModel>)' has some invalid arguments G:\AvantEdgeDevelopment\Ecash_NewLocation\Sync App\Ecash_Money_Synch_Demo\Ecash_Money_Synch_Demo\SynchMeals.xaml.cs 115 34 Ecash_Money_Synch_Demo
Code:Error 33 Argument 1: cannot convert from 'System.Collections.Generic.IList<Ecash_Money_Synch_Demo.DataLayer.EcashMenuSynchModel>' to 'System.Collections.Generic.List<Ecash_Money_Synch_Demo.DataLayer.EcashMenuSynchModel>' G:\AvantEdgeDevelopment\Ecash_NewLocation\Sync App\Ecash_Money_Synch_Demo\Ecash_Money_Synch_Demo\SynchMeals.xaml.cs 115 70 Ecash_Money_Synch_Demo
I Followed the solution of this thread to overcome my problem, but still it does not help
http://forums.silverlight.net/forums/p/215142/509566.aspx


Reply With Quote