/// <summary>
 /// get all accotherreceivable
 /// <summary>
 /// <param name=out emsg>return error message</param>
 ///<returns>details of all accotherreceivable</returns>
 public BindingCollection <modAccOtherReceivable> GetIList(string accname, string objectname, out string emsg)
 {
     try
     {
         BindingCollection <modAccOtherReceivable> modellist = new BindingCollection <modAccOtherReceivable>();
         //Execute a query to read the categories
         string  sql         = string.Format("select id,acc_name,seq,acc_date,object_name,currency,exchange_rate,start_mny,adding_mny,paid_mny,form_id,form_type,remark,update_user,update_time from acc_other_receivable where acc_name='{0}' and object_name='{1}' order by id", accname, objectname);
         decimal totalstart  = 0;
         decimal totaladding = 0;
         decimal totalpaid   = 0;
         modAccOtherReceivable model;
         using (SqlDataReader rdr = SqlHelper.ExecuteReader(sql))
         {
             while (rdr.Read())
             {
                 model              = new modAccOtherReceivable();
                 model.Id           = dalUtility.ConvertToInt(rdr["id"]);
                 model.AccName      = dalUtility.ConvertToString(rdr["acc_name"]);
                 model.Seq          = dalUtility.ConvertToInt(rdr["seq"]);
                 model.AccDate      = dalUtility.ConvertToDateTime(rdr["acc_date"]);
                 model.ObjectName   = dalUtility.ConvertToString(rdr["object_name"]);
                 model.Currency     = dalUtility.ConvertToString(rdr["currency"]);
                 model.ExchangeRate = dalUtility.ConvertToDecimal(rdr["exchange_rate"]);
                 model.StartMny     = dalUtility.ConvertToDecimal(rdr["start_mny"]);
                 model.AddingMny    = dalUtility.ConvertToDecimal(rdr["adding_mny"]);
                 model.PaidMny      = dalUtility.ConvertToDecimal(rdr["paid_mny"]);
                 model.FormId       = dalUtility.ConvertToString(rdr["form_id"]);
                 model.FormType     = dalUtility.ConvertToString(rdr["form_type"]);
                 model.Remark       = dalUtility.ConvertToString(rdr["remark"]);
                 model.UpdateUser   = dalUtility.ConvertToString(rdr["update_user"]);
                 model.UpdateTime   = dalUtility.ConvertToDateTime(rdr["update_time"]);
                 modellist.Add(model);
             }
         }
         model              = new modAccOtherReceivable();
         model.AccName      = accname;
         model.ObjectName   = "合计";
         model.Currency     = "人民币";
         model.ExchangeRate = 1;
         model.StartMny     = totalstart;
         model.AddingMny    = totaladding;
         model.PaidMny      = totalpaid;
         model.EndMny       = totalstart + totaladding - totalpaid;
         modellist.Add(model);
         emsg = null;
         return(modellist);
     }
     catch (Exception ex)
     {
         emsg = dalUtility.ErrorMessage(ex.Message);
         return(null);
     }
 }
 /// <summary>
 /// get table record
 /// <summary>
 /// <param name=id>id</param>
 /// <param name=out emsg>return error message</param>
 ///<returns>get a record detail of accotherreceivable</returns>
 public modAccOtherReceivable GetItem(int?id, out string emsg)
 {
     try
     {
         //Execute a query to read the categories
         string sql = string.Format("select id,acc_name,seq,acc_date,object_name,currency,exchange_rate,start_mny,adding_mny,paid_mny,form_id,form_type,remark,update_user,update_time from acc_other_receivable where ID={0} order by id", id);
         using (SqlDataReader rdr = SqlHelper.ExecuteReader(sql))
         {
             if (rdr.Read())
             {
                 modAccOtherReceivable model = new modAccOtherReceivable();
                 model.Id           = dalUtility.ConvertToInt(rdr["id"]);
                 model.AccName      = dalUtility.ConvertToString(rdr["acc_name"]);
                 model.Seq          = dalUtility.ConvertToInt(rdr["seq"]);
                 model.AccDate      = dalUtility.ConvertToDateTime(rdr["acc_date"]);
                 model.ObjectName   = dalUtility.ConvertToString(rdr["object_name"]);
                 model.Currency     = dalUtility.ConvertToString(rdr["currency"]);
                 model.ExchangeRate = dalUtility.ConvertToDecimal(rdr["exchange_rate"]);
                 model.StartMny     = dalUtility.ConvertToDecimal(rdr["start_mny"]);
                 model.AddingMny    = dalUtility.ConvertToDecimal(rdr["adding_mny"]);
                 model.PaidMny      = dalUtility.ConvertToDecimal(rdr["paid_mny"]);
                 model.FormId       = dalUtility.ConvertToString(rdr["form_id"]);
                 model.FormType     = dalUtility.ConvertToString(rdr["form_type"]);
                 model.Remark       = dalUtility.ConvertToString(rdr["remark"]);
                 model.UpdateUser   = dalUtility.ConvertToString(rdr["update_user"]);
                 model.UpdateTime   = dalUtility.ConvertToDateTime(rdr["update_time"]);
                 emsg = null;
                 return(model);
             }
             else
             {
                 emsg = "Error on read data";
                 return(null);
             }
         }
     }
     catch (Exception ex)
     {
         emsg = dalUtility.ErrorMessage(ex.Message);
         return(null);
     }
 }
 /// <summary>
 /// update a accotherreceivable
 /// <summary>
 /// <param name=id>id</param>
 /// <param name=mod>model object of accotherreceivable</param>
 /// <param name=out emsg>return error message</param>
 /// <returns>true/false</returns>
 public bool Update(int?id, modAccOtherReceivable mod, out string emsg)
 {
     try
     {
         string sql = string.Format("update acc_other_receivable set acc_name='{0}',seq={1},acc_date='{2}',object_name='{3}',currency='{4}',exchange_rate={5},start_mny={6},adding_mny={7},paid_mny={8},form_id='{9}',form_type='{10}',remark='{11}',update_user='******',update_time=getdate() where id={13}", mod.AccName, mod.Seq, mod.AccDate, mod.ObjectName, mod.Currency, mod.ExchangeRate, mod.StartMny, mod.AddingMny, mod.PaidMny, mod.FormId, mod.FormType, mod.Remark, mod.UpdateUser, id);
         int    i   = SqlHelper.ExecuteNonQuery(sql);
         if (i > 0)
         {
             emsg = null;
             return(true);
         }
         else
         {
             emsg = "Unknown error when ExecuteNonQuery!";
             return(false);
         }
     }
     catch (Exception ex)
     {
         emsg = dalUtility.ErrorMessage(ex.Message);
         return(false);
     }
 }
 /// <summary>
 /// insert a accotherreceivable
 /// <summary>
 /// <param name=mod>model object of accotherreceivable</param>
 /// <param name=out emsg>return error message</param>
 /// <returns>true/false</returns>
 public bool Insert(modAccOtherReceivable mod, out string emsg)
 {
     try
     {
         string sql = string.Format("insert into acc_other_receivable(acc_name,seq,acc_date,object_name,currency,exchange_rate,start_mny,adding_mny,paid_mny,form_id,form_type,remark,update_user,update_time)values('{0}',{1},'{2}','{3}','{4}',{5},{6},{7},{8},'{9}','{10}','{11}','{12}',getdate())", mod.AccName, mod.Seq, mod.AccDate, mod.ObjectName, mod.Currency, mod.ExchangeRate, mod.StartMny, mod.AddingMny, mod.PaidMny, mod.FormId, mod.FormType, mod.Remark, mod.UpdateUser);
         int    i   = SqlHelper.ExecuteNonQuery(sql);
         if (i > 0)
         {
             emsg = null;
             return(true);
         }
         else
         {
             emsg = "Unknown error when ExecuteNonQuery!";
             return(false);
         }
     }
     catch (Exception ex)
     {
         emsg = dalUtility.ErrorMessage(ex.Message);
         return(false);
     }
 }