Пример #1
0
        public async Task <ActionResult> ViewAsync(QuotationQueryModel query)
        {
            try
            {
                var meta = await AppUsers.GetCurrentAsync().ConfigureAwait(false);

                query.UserId   = meta.UserId;
                query.OfficeId = meta.OfficeId;

                var model = await Quotations.GetQuotationResultViewAsync(this.Tenant, query).ConfigureAwait(true);

                return(this.Ok(model));
            }
            catch (Exception ex)
            {
                return(this.Failed(ex.Message, HttpStatusCode.InternalServerError));
            }
        }
Пример #2
0
        public static async Task <List <QuotationResultview> > GetQuotationResultViewAsync(string tenant, QuotationQueryModel query)
        {
            string sql = "SELECT * FROM sales.get_quotation_view(@0::integer,@1::integer,@2,@3::date,@4::date,@5::date,@6::date,@7::bigint,@8,@9,@10,@11,@12);";

            if (DbProvider.GetDbType(DbProvider.GetProviderName(tenant)) == DatabaseType.SqlServer)
            {
                sql = "SELECT * FROM sales.get_quotation_view(@0,@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12);";
            }

            var awaiter = await
                          Factory.GetAsync <QuotationResultview>(tenant, sql, query.UserId, query.OfficeId, query.Customer.Or(""), query.From, query.To,
                                                                 query.ExpectedFrom, query.ExpectedTo, query.Id, query.ReferenceNumber.Or(""),
                                                                 query.InternalMemo.Or(""), query.Terms.Or(""), query.PostedBy.Or(""), query.Office.Or("")).ConfigureAwait(false);

            return(awaiter.OrderBy(x => x.ValueDate).ThenBy(x => x.Supplier).ToList());
        }