public libcis.DataAccessLogic.AuthenticationResult Get(int marker_id) { var context = new libcis.Models.CISDatabaseEntities(); var result = from provider_hotspots in context.ProviderHotspots where provider_hotspots.MarkerId == marker_id select provider_hotspots; var provider_hotspot = result.ToList(); var return_message = new libcis.DataAccessLogic.AuthenticationResult(); if(provider_hotspot.Count == 0) { return_message.Success = false; //TODO: do not keep static strings here return_message.ErrorMessage = string.Format("Invalid marker id: {0}", marker_id); } else { var hotspot = provider_hotspot.First(); libcis.Models.Order customer_order = new libcis.Models.Order(); customer_order.ProviderHotspotId = hotspot.Id; context.Orders.Add(customer_order); context.SaveChanges(); return_message.OrderId = customer_order.Id; return_message.Success = true; return_message.ProviderId = hotspot.ProviderId; return_message.HotspotId = hotspot.Id; } context.Dispose(); return return_message; }
public IList<Models.Service> Get(int provider_id) { var context = new libcis.Models.CISDatabaseEntities(); var result = from services in context.Services where services.ProviderId == provider_id select services; var all_services = result.ToList(); context.Dispose(); return all_services; }
public libcis.DataAccessLogic.CheckoutResult Checkout(int order_id) { libcis.DataAccessLogic.CheckoutResult checkout_result = new DataAccessLogic.CheckoutResult(); var context = new libcis.Models.CISDatabaseEntities(); var hotspot_result = from hotspots in context.Orders where hotspots.Id == order_id select hotspots.ProviderHotspotId; var hotspot_id = hotspot_result.First(); var provider_result = from data in context.ProviderHotspots where data.Id == hotspot_id select data.ProviderId; var provider_id = provider_result.First(); var result = from orders in context.OrderContents where orders.OrderId == order_id select orders; var checkout_orders = result; foreach (var current_order in checkout_orders) { var service_name_result = from services in context.Services where services.Id == current_order.ServiceId select services.Name; string service_name = service_name_result.First(); var new_log = new libcis.Models.Log(); new_log.ServiceId = current_order.ServiceId; new_log.ProviderHotspotId = hotspot_id; new_log.ProviderId = provider_id; new_log.Quantity = current_order.Quantity; new_log.OrderId = order_id; if (current_order.Time.HasValue) new_log.Time = current_order.Time.Value; else new_log.Time = DateTime.Now; context.Logs.Add(new_log); //Removes order_content from Database context.OrderContents.Remove(current_order); } //Removes Order var order_result = from orders in context.Orders where orders.Id == order_id select orders; context.Orders.Remove(order_result.First()); context.SaveChanges(); context.Dispose(); checkout_result.Success = true; return checkout_result; }
public DataAccessLogic.ActiveProviderHotspotsResult GetActiveProviderHotspots(int provider_id) { DataAccessLogic.ActiveProviderHotspotsResult result = new DataAccessLogic.ActiveProviderHotspotsResult(); var context = new libcis.Models.CISDatabaseEntities(); var active_hotspots_result = from hotspots in context.ProviderHotspots where hotspots.ProviderId == provider_id select hotspots; var active_hotspots = active_hotspots_result.ToList(); foreach (var hotspot in active_hotspots) { float total_hotspot_cost = 0; var order_pair = new DataAccessLogic.ActiveProviderHotspotOrderItemsPair(); order_pair.ProviderHotspotId = hotspot.Id; var active_orders_for_hotspot_result = from orders in context.Orders where orders.ProviderHotspotId == hotspot.Id select orders; var active_orders_for_hotspot = active_orders_for_hotspot_result.ToList(); foreach (var order in active_orders_for_hotspot) { var order_contents_result = from order_contents in context.OrderContents where order_contents.OrderId == order.Id join service in context.Services on order_contents.ServiceId equals service.Id select new { service_id = service.Id, serivce_name = service.Name, service_price = service.Price, quantity = order_contents.Quantity }; var order_items = order_contents_result.ToList(); foreach (var order_item in order_items) { var order_item_object = new DataAccessLogic.OrderItem(); order_item_object.ServiceId = order_item.service_id; order_item_object.Name = order_item.serivce_name; order_item_object.Price = order_item.service_price; order_item_object.Quantity = order_item.quantity; order_pair.OrderItems.Add(order_item_object); total_hotspot_cost += order_item_object.Price; } } order_pair.TotalCost = total_hotspot_cost; result.ActiveProviderHotspotsAndOrderItems.Add(order_pair); } context.Dispose(); return result; }
public IList<int> GetPendingProviderHotspots(int provider_id) { var context = new libcis.Models.CISDatabaseEntities(); var pending_hotspots_result = (from hotspots in context.ProviderHotspots where hotspots.ProviderId == provider_id join order in context.Orders on hotspots.Id equals order.ProviderHotspotId where order.MarkedForChekout == 1 select new { hotspot_id = hotspots.Id }); var pending_hotspots = pending_hotspots_result.Select(selector => selector.hotspot_id).ToList(); return pending_hotspots; }
public IList<libcis.DataAccessLogic.ServiceObject> GetPendingServices(int provider_id) { var service_objects = new List<libcis.DataAccessLogic.ServiceObject>(); var context = new libcis.Models.CISDatabaseEntities(); var pending_hotspots = (from hotspots in context.ProviderHotspots where hotspots.ProviderId == provider_id select hotspots).ToList(); foreach (var hotspot in pending_hotspots) { var order_result = from orders in context.Orders where orders.ProviderHotspotId == hotspot.Id select orders.Id; if (order_result.Count() != 0) { var current_order_id = order_result.First(); var order_content_result = from contents in context.OrderContents where contents.OrderId == current_order_id && contents.Viewed == 0 join services in context.Services on contents.ServiceId equals services.Id select new { service_name = services.Name, service_price = services.Price, service_quantity = contents.Quantity, service_id = services.Id, }; foreach (var item in order_content_result) { var service_object = new libcis.DataAccessLogic.ServiceObject(); service_object.ServiceName = item.service_name; service_object.Quantity = item.service_quantity; service_object.Price = item.service_price; service_object.HotSpotId = hotspot.Id; service_object.ServiceId = item.service_id; service_objects.Add(service_object); } } } context.Dispose(); return service_objects; }
public libcis.DataAccessLogic.MarkAsViewedResult MarkAsViewed(IList<int> order_content_ids) { libcis.DataAccessLogic.MarkAsViewedResult viewed_result = new DataAccessLogic.MarkAsViewedResult(); var context = new libcis.Models.CISDatabaseEntities(); foreach(var order_content_id in order_content_ids) { var result = from contents in context.OrderContents where contents.Id == order_content_id select contents; var current_order_content = result.First(); current_order_content.Viewed = 1; } context.SaveChanges(); viewed_result.Success = true; return viewed_result; }
public libcis.DataAccessLogic.MarkForCheckoutResult MarkForCheckout(int order_id) { libcis.DataAccessLogic.MarkForCheckoutResult checkout_result = new DataAccessLogic.MarkForCheckoutResult(); var context = new libcis.Models.CISDatabaseEntities(); var order_result = from orders in context.Orders where orders.Id == order_id select orders; var current_order = order_result.First(); current_order.MarkedForChekout = 1; checkout_result.Success = true; context.SaveChanges(); context.Dispose(); return checkout_result; }