public List <Orders> SearchOrder(SearchOrderViewModel model, int page, int pageSize) { List <Orders> returnData = new List <Orders>(); bool modelValidation = false; if (model.CompletionDte != null) { if (model.MSA > 0 && model.Status > 0) { modelValidation = true; } else if (model.OrderId > 0) { modelValidation = true; } } if (modelValidation) { var data = GetJsondata(); if (data?.Any() ?? false) { returnData = data .Where(x => (x.OrderId == model.OrderId || (x.MSA == model.MSA && x.Status == model.Status)) && x.CompletionDte.Date == model.CompletionDte.Date)? .Skip(page * pageSize).Take(pageSize).ToList(); } } return(returnData); }
public static void Main(string[] args) { OrderSearchServiceSoapClient service = new OrderSearchServiceSoapClient(); SearchOrderViewModel model = new SearchOrderViewModel(); Console.Write("Enter OrderId:"); int orderId; int msa; int status; if (int.TryParse(Console.ReadLine(), out orderId)) { model.OrderId = orderId; } Console.Write("Enter MSA:"); if (int.TryParse(Console.ReadLine(), out msa)) { model.MSA = msa; } Console.Write("Enter Status:"); if (int.TryParse(Console.ReadLine(), out status)) { model.Status = status; } Console.Write("Enter Completion Date(YYYY-MM-DD):"); DateTime dt = new DateTime(); if (DateTime.TryParse(Console.ReadLine().ToString(), out dt)) { model.CompletionDte = dt; } int page = 0; int pageSize = 25; if (IsValidCriteria(model)) { var data = service.SearchOrder(model, page, pageSize); if (data?.Any() ?? false) { Console.WriteLine("Your Orders: "); data.ToList().ForEach(x => { Console.WriteLine("OrderID: {0},ShipperID: {1},DriverID: {2},CompletionDte: {3},Status: {4},Code: {5},MSA: {6},Duration: {7},OfferType: {8}", x.OrderId, x.ShipperId, x.DriverId, x.CompletionDte, x.Status, x.Code, x.MSA, x.Duration, x.OfferType); }); } else { Console.WriteLine("No data "); } } else { Console.WriteLine("Please provide valid criteria"); } Console.ReadKey(); }
public SearchOrder() { InitializeComponent(); if (viewModel == null) { viewModel = new SearchOrderViewModel(this); } BindingContext = viewModel; }
public async Task <IActionResult> Search(SearchOrderParams searchParams) { var searchSpecification = new OrderSpecification(); var isPrimaryKeyUsed = false; if (searchParams.OrderId is not null) { searchSpecification.WhereId(searchParams.OrderId.Value); isPrimaryKeyUsed = true; } if (!isPrimaryKeyUsed) { if (searchParams.Name is not null) { searchSpecification.WhereName(searchParams.Name); } if (searchParams.LastName is not null) { searchSpecification.WhereLastName(searchParams.LastName); } if (searchParams.Email is not null) { searchSpecification.WhereEmail(searchParams.Email); } if (searchParams.PhoneNumber is not null) { searchSpecification.WherePhone(searchParams.PhoneNumber); } } if (searchParams.IsSortByDateRequired) { searchSpecification.SortByDate(); } searchSpecification.WhereActive(searchParams.IsOrderActive).WithoutTracking(); var viewModel = new SearchOrderViewModel() { Orders = await _orderRepository.GetAll(searchSpecification), SearchParams = searchParams }; ViewBag.Title = "Поиск по товарам"; return(View(viewModel)); }
private static bool IsValidCriteria(SearchOrderViewModel model) { bool bValid = false; if (model.CompletionDte != null) { if (model.OrderId > 0) { bValid = true; } else if (model.MSA > 0 && model.Status > 0) { bValid = true; } } return(bValid); }
public async Task <IActionResult> ViewOrders() { ViewBag.Title = "Вывод заказов"; var orders = await _orderRepository.GetAll( new OrderSpecification() .IncludeDetails() .SortByTotalPrice() .WithoutTracking() ); var viewModel = new SearchOrderViewModel() { Orders = orders, SearchParams = new SearchOrderParams(), }; return(View(viewModel)); }
// GET: SearchOrderController public async Task <IActionResult> Index() { string selectedOrderId = null; string selectedChannel = ""; int selectedChannelId = 0; string selectedDate = DateTime.Today.AddDays(-5).ToString("yyyy-MM-dd"); // get params or set defaults if (Request.Method == "POST") { selectedOrderId = Request.Form["tbClOrderId"]; selectedDate = Request.Form["tbDate"]; selectedChannel = Request.Form["ddlChannels"]; //The value of the enumeration is returned and not the display text if (selectedChannel != "") { selectedChannelId = Convert.ToInt32(selectedChannel); } } // convert string date to DateTime if (!DateTime.TryParse(selectedDate, out DateTime messDate)) { selectedDate = DateTime.Today.ToString("yyyy-MM-dd"); messDate = DateTime.Today.Date; } ViewData["tbDate"] = selectedDate; ViewData["tbClOrderId"] = selectedOrderId; ViewData["clOrderId"] = selectedOrderId; IEnumerable <domain.Models.Channel> servicechannels = await _searchFixMessageService.GetChannels(); var channels = servicechannels.Select(x => { return(new SelectListItem { Value = x.Id.ToString(), Text = x.Description }); }); ViewData["Channels"] = channels; SearchOrderViewModel data = new SearchOrderViewModel { FixMessage = await _searchFixMessageService.SearchOrderAsync(messDate, selectedOrderId, selectedChannelId) }; // get commandId and tag values // replace SOH characters with carriage returns //TODO: Can one clordid have multiple commandids? var registId = ""; foreach (var message in data.FixMessage) { var buffer = message.Raw.Split(Constants.SOH + Constants.TAG513); if (buffer.Length > 1) { registId = buffer[1].Split(Constants.SOH)[0]; } } ViewData["registId"] = registId; data.FixMessage = await _searchFixMessageService.SearchOrderAndRegistIdAsync(messDate, selectedOrderId, registId, selectedChannelId); var commandId = new List <long>(); foreach (var message in data.FixMessage) { commandId.Add(message.Commandid); message.Raw = message.Raw.Replace(Constants.SOH, Constants.NEWLINE); } // populate apiRequest data.ApiRequest = await _apiRequestRepository.SearchOrderAsync(commandId); foreach (var message in data.ApiRequest) { message.Raw = JSONIndented(message.Raw); } // populate apiResponse data.ApiResponse = await _apiResponseRepository.SearchOrderAsync(commandId); foreach (var message in data.ApiResponse) { message.Raw = JSONIndented(message.Raw); } return(View(data)); // pretty print json string JSONIndented(string json) { try { dynamic parsedJson = JsonConvert.DeserializeObject(json); return(JsonConvert.SerializeObject(parsedJson, Formatting.Indented)); } catch { return(json); } } }