public void ServiceOptionDetails(ICorierServiceContext dbContext, int serviceId) { var serviceOptions = from serOp in dbContext.ServiceOptions join servTy in dbContext.ServicesTypes on serOp.ServicesTypeId equals servTy.Id select new { Id = serOp.Id, Weight = serOp.Weight, Price = serOp.Price, TimeDuration = serOp.TimeDuration, ServiceType = servTy.ServiceType }; Console.WriteLine("Num | Weight | TimeDuration | ServicesType"); foreach (var item in serviceOptions) { if (item.Id == serviceId) { Console.WriteLine($" {item.Id} {item.Weight} {item.TimeDuration} {item.ServiceType}"); } } }
public void CloseDistribution(ICorierServiceContext dbContext, IQueriesFixer distributions, ICommandParser comandParser, int userId) { var notClosedItemsId = new List <int>(); Console.OutputEncoding = System.Text.Encoding.Unicode; Console.InputEncoding = System.Text.Encoding.Unicode; var distribClose = dbContext.Services .Where(g => g.UserFixerId == userId).Where(t => t.IsCompleted == false) .Select(s => new { s.Id, s.Details, s.City.CityName, s.ServiceOption, s.City }).ToList(); foreach (var item in distribClose) { Console.WriteLine(" {0} {1} --> {2}", item.Id, item.Details, item.CityName); notClosedItemsId.Add(item.Id); } Console.WriteLine(); Console.WriteLine(" Please enter distribution to close"); Console.WriteLine("------------------------------------------"); var serviceItemToClose = comandParser.CommandParse(notClosedItemsId, "Destribution"); int servOptId = 0; int citiIdd = 0; foreach (var item in distribClose) { if (serviceItemToClose == item.Id) { Console.WriteLine(" You want to close distribution --> Y / N"); Console.WriteLine("-------------------------------------------"); Console.WriteLine(" | {0} --> {1} |", item.Details, item.CityName); servOptId = item.ServiceOption.Id; citiIdd = item.City.Id; } } if (Console.ReadLine().ToLower() == "y") { var n = dbContext.Services.Find(serviceItemToClose); n.IsCompleted = true; n.ServiceOption = dbContext.ServiceOptions.Find(servOptId); n.City = dbContext.Cities.Find(citiIdd); dbContext.SaveChanges(); Console.WriteLine(" Your order is processed"); Console.WriteLine(); } else { Console.WriteLine(" If you what to exit this service type \" EXIT \" "); if (Console.ReadLine().ToLower() == "exit") { return; } } }
public IList <string> AddOfficeToForm(ICorierServiceContext dbContext) { var result = new List <string>(); string cityNameOffice = null; string addressOffice = null; int officeId = 0; var allOffices = from offis in dbContext.Offices join citi in dbContext.Cities on offis.CityId equals citi.Id select new { offceId = offis.Id, address = offis.Address, cityName = citi.CityName }; var officeIdList = new List <int>(); foreach (var item in allOffices.OrderBy(t => t.cityName).ThenBy(f => f.offceId)) { ConsoleOutput.PrintLine($" {item.offceId} {item.cityName} {item.address}"); officeIdList.Add(item.offceId); } var officeChosen = commandParser.CommandParse(officeIdList, "Offices"); if (officeChosen == 0) { return(null); } foreach (var item in allOffices) { if (item.offceId == officeChosen) { officeId = item.offceId; cityNameOffice = item.cityName; addressOffice = item.address; break; } } result.Add(officeId.ToString()); result.Add(cityNameOffice); result.Add(addressOffice); return(result); }
// ---------------------------------------------------------------- public IList <string> AddCityToForm(ICorierServiceContext dbContext) { var result = new List <string>(); var destinationCity = ConsoleInput.ReadLine(); var cityName = dbContext.Cities.Select(t => t.CityName).ToList(); cityName.Sort(); var cityNameLower = cityName.ConvertAll(d => d.ToLower()); var searchCity = cityNameLower.FirstOrDefault <string>(n => n.Equals(destinationCity.ToLower())); if (searchCity == null) { ConsoleOutput.PrintLine(" There is no such a city name \n (Please type one from the list) "); ConsoleOutput.PrintLine("-----------------------------------------------"); foreach (var item in cityName) { Console.WriteLine(" {0}", item); } bool chekk = true; while (chekk) { destinationCity = Console.ReadLine(); searchCity = cityNameLower.FirstOrDefault <string>(n => n.Equals(destinationCity.ToLower())); if (searchCity != null) { chekk = false; } else { Console.WriteLine(" Please choose a city from the list above"); } } } var citiId = dbContext.Cities.Where(c => c.CityName == destinationCity).Select(c => c.Id).ToList(); result.Add(citiId[0].ToString()); destinationCity = char.ToUpper(destinationCity[0]) + destinationCity.Substring(1); result.Add(destinationCity); return(result); }
// ---------------------------------------------------------------- public void QueryAllServicesOfGivenUser(ICorierServiceContext dbContext, int userId) { Console.OutputEncoding = System.Text.Encoding.Unicode; Console.InputEncoding = System.Text.Encoding.Unicode; var res = dbContext.Services .Where(s => s.UserId == userId) .Select(t => new { t.Id, t.Details, t.CreateDate, t.City, t.IsCompleted, t.IsTaken }) .ToList(); foreach (var item in res) { string taken = item.IsTaken ? "on the way" : "in the office"; string status = item.IsCompleted ? "delivered" : "not delivered"; Console.WriteLine(" * {0} --> {1} | {2}", item.Details, taken, status); Console.WriteLine(); } Console.WriteLine("-----------------------------------------------------"); }
public void PickUpDistribution(ICorierServiceContext dbContext, IQueriesFixer distributions, ICommandParser comandParser, int userId) { var serviceIdList = distributions.AvailableDistributionItems(dbContext); if (serviceIdList.Count == 0) { Console.WriteLine("There is not available items for distribution"); return; } else { Console.WriteLine("Get more detail by number"); } var serviceId = comandParser.CommandParse(serviceIdList, "Service Options"); var serviceAll = dbContext.Services .Where(s => s.Id == serviceId) .Select(t => new { t.ServiceOption, t.City }) .ToList(); distributions.ServiceOptionDetails(dbContext, serviceAll[0].ServiceOption.Id); Console.WriteLine("Commit to Distribution --> Y / N"); if (Console.ReadLine().ToLower() == "y") { var n = dbContext.Services.Find(serviceId); n.IsTaken = true; n.UserFixerId = userId; n.ServiceOption = dbContext.ServiceOptions.Find(serviceAll[0].ServiceOption.Id); n.City = dbContext.Cities.Find(serviceAll[0].City.Id); dbContext.SaveChanges(); Console.WriteLine(" Your order is processed"); Console.WriteLine(); } else { Console.WriteLine(" If you what to exit this service type \" EXIT \" "); if (Console.ReadLine().ToLower() == "exit") { return; } } }
// ------------------------------------------------------------------------- public ServiceOptionQuery AddOptionsToForm(ICorierServiceContext dbContext) { var helpQuery = new ServiceOptionQuery(); var serviceOptions = from serOp in dbContext.ServiceOptions join servTy in dbContext.ServicesTypes on serOp.ServicesTypeId equals servTy.Id select new { Id = serOp.Id, Weight = serOp.Weight, Price = serOp.Price, TimeDuration = serOp.TimeDuration, ServiceType = servTy.ServiceType }; ConsoleOutput.PrintLine("Num | Weight | Price | TimeDuration | ServicesType"); var serviceOptionsIdList = new List <int>(); foreach (var item in serviceOptions) { ConsoleOutput.PrintLine($" {item.Id} {item.Weight} {item.Price} {item.TimeDuration} {item.ServiceType}"); serviceOptionsIdList.Add(item.Id); } ConsoleOutput.PrintLine("-----"); var typeChosen = commandParser.CommandParse(serviceOptionsIdList, "ServiceOption"); foreach (var item in serviceOptions) { if (typeChosen == item.Id) { helpQuery.ServOptionId = item.Id; helpQuery.Weight = item.Weight; helpQuery.Price = item.Price; helpQuery.TimeDuration = item.TimeDuration; helpQuery.ServiceType = item.ServiceType; break; } } return(helpQuery); }
public IList <int> AvailableDistributionItems(ICorierServiceContext dbContext) { Console.OutputEncoding = System.Text.Encoding.Unicode; Console.InputEncoding = System.Text.Encoding.Unicode; var dict = new Dictionary <string, string>(); var serviceId = new List <int>(); var allOffices = from offis in dbContext.Offices join citi in dbContext.Cities on offis.CityId equals citi.Id select new { offceId = offis.Id, address = offis.Address, cityName = citi.CityName }; foreach (var item in allOffices) { // Console.WriteLine($" {item.offceId} {item.cityName} {item.address}"); dict.Add(item.offceId.ToString(), item.cityName); } var res = dbContext.Services .Where(s => s.IsTaken == false) .Select(t => new { t.Id, t.Details, t.OfficeId, t.City, }) .ToList(); foreach (var item in res) { Console.WriteLine(" * {0} | {1} | {2} --> {3} ", item.Id, dict[item.OfficeId.ToString()], item.Details, item.City.CityName); Console.WriteLine(); serviceId.Add(item.Id); } Console.WriteLine("-----------------------------------------------------"); return(serviceId); }
public DeliveryItemCreator(ICorierServiceContext dbContext, IQueriesDeliveryItem QueriesDeliveryItem, int userId) { this.QueriesDeliveryItem = QueriesDeliveryItem; this.dbContext = dbContext; this.userId = userId; }
public EntryPointToSQL(ICorierServiceContext dbContext, ICommandParser comandParser) { this.comandParser = comandParser; this.dbContext = dbContext; }