Ejemplo n.º 1
0
        /// <summary>
        /// 获取可操作的账套列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ResponseOPAccountListGet WX_GetAccountList(RequestOPAccountListGet request)
        {
            ResponseOPAccountListGet response = new ResponseOPAccountListGet();

            using (cnn = this.GetConnection())
            {
                var ts = cnn.BeginTransaction();
                try
                {
                    //var user = this.UserInfoGetButAccount(request.Token, ts);
                    var user = this.UserInfoGet(request.Token, ts);
                    List <TKS_FAS_AccountInfoExt> data = new List <TKS_FAS_AccountInfoExt>();
                    string sql = string.Empty;
                    sql  = @"SELECT b.*
                            FROM TKS_FAS_Account2User a
	                            INNER JOIN TKS_FAS_AccountInfo b ON a.AccountId = b.Id
                            WHERE a.UserId = @UserId";
                    data = cnn.Query <TKS_FAS_AccountInfoExt>(sql, new { UserId = user.User.Id }, ts).ToList();

                    sql = @"select * from TKS_FAS_UserCurrentAccount where userid=@UserId";
                    var curAccount = cnn.Query <TKS_FAS_UserCurrentAccount>(sql, new { UserId = user.User.Id }, ts).ToList();
                    if (curAccount.Count() == 0 && data.Count() > 0)
                    {
                        data[0].Active = 0;
                        //TKS_FAS_MonthPeriodInfo period = GetActivePeriod(data[0].Id, ts);
                        response.IsSelected = false;
                        //response.Year = period.Year;
                        //response.Month = period.Month;
                    }
                    else if (curAccount.Count() > 0)
                    {
                        for (int i = 0; i < data.Count(); i++)
                        {
                            if (data[i].Id == curAccount[0].AccountId)
                            {
                                data[i].Active = 1;
                                //var period = GetActivePeriod(data[i].Id, ts);
                                response.IsSelected = true;
                                //response.Year = period.Year;
                                //response.Month = period.Month;
                                break;
                            }
                        }
                    }

                    ts.Commit();

                    response.IsSuccess = true;
                    response.Data      = data;
                    //response.SelectAccount = data.Where(x => x.Active == 1).FirstOrDefault();
                    //response.UserCreditCode = user.Node.CreditCode;
                    return(response);
                }
                catch (Exception ex)
                {
                    ts.Rollback();
                    return(this.DealException(response, ex) as ResponseOPAccountListGet);
                }
            }
        }
Ejemplo n.º 2
0
 public ResponseOPAccountListGet OPAccountListGet([FromBody] RequestOPAccountListGet request)
 {
     try
     {
         AccountSetBLL bll = new AccountSetBLL();
         return(bll.OPAccountListGet(request));
     }
     catch (Exception ex)
     {
         throw new HttpResponseException(
                   Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }