예제 #1
0
 public ProcessCommand(FarmerBuyingCalendarViewModel buyingCalendar)
 {
     BuyingCalendar = buyingCalendar;
 }
예제 #2
0
        public async Task <FarmerBuyingCalendarViewModel> Get(long id)
        {
            FarmerBuyingCalendarViewModel result = null;
            string cmd = $@"SELECT * FROM `farmer_buying_calendar` o
                            LEFT JOIN `farmer` f ON o.farmer_id = f.id AND f.is_used = 1 AND f.is_deleted = 0
                            LEFT JOIN `farmer_buying_calendar_item` i ON i.farmer_buying_calendar_id = o.id
                            LEFT JOIN `product` p ON p.id = i.product_id AND p.is_used = 1 AND p.is_deleted = 0
                            LEFT JOIN `uom` u ON u.id = i.uom_id AND u.is_used = 1 AND u.is_deleted = 0
                            WHERE o.`id` = {id} AND o.is_deleted = 0";

            if (DbConnection != null)
            {
                var rd = await DbConnection.QueryMultipleAsync(cmd, transaction : DbTransaction);

                rd.Read <FarmerBuyingCalendar, Farmer, FarmerBuyingCalendarItem, Product, UoM, FarmerBuyingCalendarViewModel>(
                    (orderRs, fRs, itemRs, pRs, uRs) =>
                {
                    if (result == null)
                    {
                        result = CommonHelper.Mapper <FarmerBuyingCalendar, FarmerBuyingCalendarViewModel>(orderRs);
                    }

                    if (result.Farmer == null)
                    {
                        result.Farmer = fRs;
                    }

                    var item = result.Items.FirstOrDefault(i => i.Id == itemRs.Id);
                    if (item == null)
                    {
                        item = CommonHelper.Mapper <FarmerBuyingCalendarItem, FarmerBuyingCalendarItemViewModel>(itemRs);
                        result.Items.Add(item);
                    }

                    item.Product = pRs;
                    item.UoM     = uRs;

                    return(result);
                }
                    );

                return(result);
            }
            else
            {
                using (var conn = DALHelper.GetConnection())
                {
                    var rd = await conn.QueryMultipleAsync(cmd, transaction : DbTransaction);

                    rd.Read <FarmerBuyingCalendar, Farmer, FarmerBuyingCalendarItem, Product, UoM, FarmerBuyingCalendarViewModel>(
                        (orderRs, fRs, itemRs, pRs, uRs) =>
                    {
                        if (result == null)
                        {
                            result = CommonHelper.Mapper <FarmerBuyingCalendar, FarmerBuyingCalendarViewModel>(orderRs);
                        }

                        if (result.Farmer == null)
                        {
                            result.Farmer = fRs;
                        }

                        var item = result.Items.FirstOrDefault(i => i.Id == itemRs.Id);
                        if (item == null)
                        {
                            item = CommonHelper.Mapper <FarmerBuyingCalendarItem, FarmerBuyingCalendarItemViewModel>(itemRs);
                            result.Items.Add(item);
                        }

                        item.Product = pRs;
                        item.UoM     = uRs;

                        return(result);
                    }
                        );

                    return(result);
                }
            }
        }