/// <summary>
 /// Get contract data for search
 /// </summary>
 /// <param name="cond"></param>
 /// <returns></returns>
 public List <dtContractData> GetContractDataForSearch(doContractSearchCondition cond)
 {
     try
     {
         return(base.GetContractDataForSearch(cond.CustomerCode,
                                              cond.CustomerName,
                                              cond.BranchName,
                                              cond.Address,
                                              cond.Alley,
                                              cond.Road,
                                              cond.SubDistrict,
                                              cond.ProvinceCode,
                                              cond.DistrictCode,
                                              cond.ZipCode,
                                              SaleChangeType.C_SALE_CHANGE_TYPE_NEW_SALE,
                                              SECOM_AJIS.Common.Util.ConstantValue.CurrencyUtil.C_CURRENCY_LOCAL,
                                              SECOM_AJIS.Common.Util.ConstantValue.CurrencyUtil.C_CURRENCY_US));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        /// <summary>
        /// Get contract data list by search condition
        /// </summary>
        /// <param name="cond"></param>
        /// <returns></returns>
        public ActionResult CMS310_SearchResponse(doContractSearchCondition cond)
        {
            ObjectResultData res = new ObjectResultData();

            List <View_dtContractData> nlst = new List <View_dtContractData>();

            CommonUtil c = new CommonUtil();

            try
            {
                cond.CustomerCode = c.ConvertCustCode(cond.CustomerCode, CommonUtil.CONVERT_TYPE.TO_LONG);

                string[] strs = { "Counter" };
                if (CommonUtil.IsNullAllField(cond, strs))
                {
                    res.MessageType = MessageModel.MESSAGE_TYPE.WARNING;
                    res.AddErrorMessage(MessageUtil.MODULE_COMMON, MessageUtil.MessageList.MSG0006);
                }
                else
                {
                    //if (cond.Counter == 0)
                    //{
                    //    res.ResultData = CommonUtil.ConvertToXml<View_dtContractData>(nlst, "Common\\CMS310", CommonUtil.GRID_EMPTY_TYPE.SEARCH);
                    //    return Json(res);
                    //}

                    IViewContractHandler  handler       = ServiceContainer.GetService <IViewContractHandler>() as IViewContractHandler;
                    ICommonHandler        comHand       = ServiceContainer.GetService <ICommonHandler>() as ICommonHandler;
                    List <doMiscTypeCode> tmpCurrencies = comHand.GetMiscTypeCodeList(new List <doMiscTypeCode>()
                    {
                        new doMiscTypeCode()
                        {
                            FieldName = MiscType.C_CURRENCT,
                            ValueCode = "%"
                        }
                    }).ToList();

                    List <dtContractData> list = handler.GetContractDataForSearch(cond);
                    //Add Currency
                    for (int i = 0; i < list.Count(); i++)
                    {
                        list[i].Currencies = new List <doMiscTypeCode>(tmpCurrencies);
                    }

                    foreach (dtContractData l in list)
                    {
                        nlst.Add(CommonUtil.CloneObject <dtContractData, View_dtContractData>(l));
                    }

                    // Select OfficeName_Extra by language
                    nlst = CommonUtil.ConvertObjectbyLanguage <View_dtContractData, View_dtContractData>(nlst, "OfficeName_Extra");
                }
            }
            catch (Exception ex)
            {
                nlst            = new List <View_dtContractData>();
                res.MessageType = MessageModel.MESSAGE_TYPE.INFORMATION;
                res.AddErrorMessage(ex);
            }

            res.ResultData = CommonUtil.ConvertToXml <View_dtContractData>(nlst, "Common\\CMS310", CommonUtil.GRID_EMPTY_TYPE.SEARCH);
            return(Json(res));
        }