Пример #1
0
        public IHttpActionResult GetList(QuotationSearch search)
        {
            AuthDetails authdet = LoginUserDetails();
            var         filters = new List <MySqlParameter>
            {
                datatableService1.CreateSqlParameter("@pUserId", authdet.UserId, MySqlDbType.Int32)
            };
            var result = service1.GetList(search, filters);

            return(Ok(result));
        }
Пример #2
0
        public async Task <ActionResult> SearchAsync(QuotationSearch search)
        {
            var meta = await AppUsers.GetCurrentAsync().ConfigureAwait(true);

            try
            {
                var result = await Quotations.GetSearchViewAsync(this.Tenant, meta.OfficeId, search).ConfigureAwait(true);

                return(this.Ok(result));
            }
            catch (Exception ex)
            {
                return(this.Failed(ex.Message, HttpStatusCode.InternalServerError));
            }
        }
Пример #3
0
 public DataTable <QuotationDatatable> GetList(QuotationSearch search, List <MySqlParameter> filters)
 {
     try
     {
         using (var ctx = new AppDb())
         {
             var result = datatableService.GetDataTableResult <QuotationDatatable>("quotation_list_sp", search, filters);
             return(result);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #4
0
        public static async Task <IEnumerable <dynamic> > GetSearchViewAsync(string tenant, int officeId, QuotationSearch search)
        {
            using (var db = DbProvider.Get(FrapidDbServer.GetConnectionString(tenant), tenant).GetDatabase())
            {
                var sql = new Sql("SELECT * FROM purchase.quotation_search_view");
                sql.Where("value_date BETWEEN @0 AND @1", search.From, search.To);
                sql.And("expected_date BETWEEN @0 AND @1", search.ExpectedFrom, search.ExpectedTo);
                sql.And("quotation_id::text LIKE @0", search.Id.ToSqlLikeExpression().ToLower());
                sql.And("LOWER(reference_number) LIKE @0", search.ReferenceNumber.ToSqlLikeExpression().ToLower());
                sql.And("LOWER(supplier) LIKE @0", search.Supplier.ToSqlLikeExpression().ToLower());
                sql.And("LOWER(terms) LIKE @0", search.Terms.ToSqlLikeExpression().ToLower());
                sql.And("LOWER(memo) LIKE @0", search.Memo.ToSqlLikeExpression().ToLower());
                sql.And("LOWER(posted_by) LIKE @0", search.PostedBy.ToSqlLikeExpression().ToLower());
                sql.And("LOWER(office) LIKE @0", search.Office.ToSqlLikeExpression().ToLower());

                if (search.Amount > 0)
                {
                    sql.And("total_amount = @0", search.Amount);
                }

                sql.And("office_id IN(SELECT * FROM core.get_office_ids(@0))", officeId);

                return(await db.SelectAsync <dynamic>(sql).ConfigureAwait(false));
            }
        }