private StatisticMenuSearchDto CreateSearchDto() { var dto = new StatisticMenuSearchDto(); if (ngayRadioButton.Checked) { dto.FromDate = txtFromDate.Text.Trim(); dto.ToDate = txtToDate.Text.Trim(); } if (thangRadioButton.Checked) { dto.Thang = thangComboBox.Text.Trim(); } if (quyRadioButton.Checked) { dto.Quy = quyComboBox.Text.Trim(); } if (namRadioButton.Checked) { dto.Nam = namComboBox.Text.Trim(); } return(dto); }
public List <ResOrderDto> GetAllResOrderDto(StatisticMenuSearchDto dto) { return(_controller.GetAllResOrderDto(dto)); }
public List <ResOrderDto> GetAllResOrderDto(StatisticMenuSearchDto dto) { return(m_PersistenceManager.GetAllResOrderDto(dto)); }
public List <ResOrderDto> GetAllResOrderDto(StatisticMenuSearchDto dto) { using (ISession session = m_SessionFactory.OpenSession()) { string sqlQuery = "select new ResOrder(o.Id, m.Name, o.Amount, o.Discount, u.Name, m.Price)" + " from ResOrder o, Menu m, Unit u where o.MenuId = m.Id and m.UnitId = u.Id"; var mapParams = new Hashtable(); if (!String.IsNullOrEmpty(dto.FromDate)) { sqlQuery += " and o.CreatedDate >= :fromDate"; mapParams.Add("fromDate", DateUtil.GetDateTime(dto.FromDate)); } if (!String.IsNullOrEmpty(dto.ToDate)) { sqlQuery += " and o.CreatedDate < :toDate"; mapParams.Add("toDate", ((DateTime)DateUtil.GetDateTime(dto.ToDate)).AddDays(1)); } if (!String.IsNullOrEmpty(dto.Thang)) { DateTime fromDate = (DateTime)DateUtil.GetDateTime("01/" + dto.Thang); sqlQuery += " and o.CreatedDate >= :fromDate"; mapParams.Add("fromDate", fromDate); DateTime toDate = fromDate.AddMonths(1); sqlQuery += " and o.CreatedDate < :toDate"; mapParams.Add("toDate", toDate); } if (!String.IsNullOrEmpty(dto.Nam)) { DateTime fromDate = (DateTime)DateUtil.GetDateTime("01/01/" + dto.Nam); sqlQuery += " and o.CreatedDate >= :fromDate"; mapParams.Add("fromDate", fromDate); DateTime toDate = fromDate.AddYears(1); sqlQuery += " and o.CreatedDate < :toDate"; mapParams.Add("toDate", toDate); } if (!String.IsNullOrEmpty(dto.Quy)) { var quater = int.Parse(dto.Quy.Substring(0, 1)); var year = dto.Quy.Substring(2); DateTime fromDate; switch (quater) { case 1: fromDate = (DateTime)DateUtil.GetDateTime("01/01/" + year); break; case 2: fromDate = (DateTime)DateUtil.GetDateTime("01/04/" + year); break; case 3: fromDate = (DateTime)DateUtil.GetDateTime("01/07/" + year); break; default: fromDate = (DateTime)DateUtil.GetDateTime("01/10/" + year); break; } sqlQuery += " and o.CreatedDate >= :fromDate"; mapParams.Add("fromDate", fromDate); DateTime toDate = fromDate.AddMonths(3); sqlQuery += " and o.CreatedDate < :toDate"; mapParams.Add("toDate", toDate); } var query = session.CreateQuery(sqlQuery); foreach (DictionaryEntry param in mapParams) { query.SetParameter(param.Key.ToString(), param.Value); } // Get the matching objects var allResOrders = query.List(); // Update Role info var listResOrderDtos = new List <ResOrderDto>(); var mapResOrder = new Hashtable(); foreach (ResOrder resOrder in allResOrders) { var total = resOrder.Amount * resOrder.MenuPrice * (1 - resOrder.Discount); string key = resOrder.MenuName + "|" + resOrder.UnitName; if (mapResOrder.ContainsKey(key)) { var resOrderdto = (ResOrderDto)mapResOrder[key]; resOrderdto.Amount += resOrder.Amount; resOrderdto.Total += total; } else { var resOrderdto = new ResOrderDto() { MenuName = resOrder.MenuName, UnitName = resOrder.UnitName, Amount = resOrder.Amount, Total = total }; listResOrderDtos.Add(resOrderdto); mapResOrder.Add(key, resOrderdto); } } return(listResOrderDtos); } }