public ActionResult LeaveDeliveryBoy([Bind(Include = "Id")] GroupedOrder groupedOrder) { if (ModelState.IsValid) { var dbGroupedOrder = db.GroupedOrders.Single(go => go.Id == groupedOrder.Id); dbGroupedOrder.DeliveryBoy_Id = null; dbGroupedOrder.DeliveryBoy = null; dbGroupedOrder.LimitDate = null; db.Entry(dbGroupedOrder).State = EntityState.Modified; var leaveDeliveryBoyEvent = new GroupedOrderEvent { CreateUserId = User.Identity.GetUserId(), CreationDate = DateTime.UtcNow, Description = "{0} has leave the delivery boy function", EventType = EventType.LeaveDeliveryBoyFunction, Users = dbGroupedOrder.Orders.Select(o => o.CreateUser).ToList(), EventStatus = GroupedOrderEventStatus.Accepted, GroupedOrderId = groupedOrder.Id }; db.Entry(leaveDeliveryBoyEvent).State = EntityState.Added; db.SaveChanges(); return(RedirectToAction("Index", "GroupedOrders")); } return(View(groupedOrder)); }
public static ArrayList GetGroupedOrders(DateTime currentDate, DateTime endDate, Boolean shipped) { const string query = @"SELECT client, date, SUM(total) as total FROM ( SELECT client, date, (amount * price) AS total FROM [CoffeeDB].[dbo].[orders] WHERE date >= @date1 AND date <= @date2 AND orderShipped = @shipped )as result GROUP BY client, date"; ArrayList orderList = new ArrayList(); int lastDay; //Check if current date.month == enddate.month if (currentDate.Month == endDate.Month && currentDate.Year == endDate.Year) { //Yes, Last day to be displayed is the selected date in txtOpenOrders2. (Orders page) lastDay = endDate.Day; } else { //No, Other months will be displayed after this one. Last day = Last day of the month. lastDay = DateTime.DaysInMonth(currentDate.Year, currentDate.Month); } DateTime date2 = new DateTime(currentDate.Year, currentDate.Month, lastDay); try { conn.Open(); command.CommandText = query; command.Parameters.Add(new SqlParameter("@date1", currentDate)); command.Parameters.Add(new SqlParameter("@date2", date2)); command.Parameters.Add(new SqlParameter("@shipped", shipped)); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { string client = reader.GetString(0); DateTime date = reader.GetDateTime(1); double total = reader.GetDouble(2); GroupedOrder groupedOrder = new GroupedOrder(client, date, total); orderList.Add(groupedOrder); } } catch (SqlException ex) { MessageBox.Show(ex.ToString()); } finally { conn.Close(); command.Parameters.Clear(); } return(orderList); }
public static ArrayList GetGroupedOrders(DateTime currentDate, DateTime endDate, Boolean shipped) { string query = @"SELECT client, date, SUM(total) FROM ( SELECT client, date, (amount * price) AS total FROM [Coffee_DB].[dbo].[orders] WHERE date >= @date1 AND date <= @date2 AND orderShipped = @orderShipped ) AS result GROUP BY client, date"; ArrayList orderList = new ArrayList(); int lastDay; //if current date.month == enddate.month if (currentDate.Month == endDate.Month && currentDate.Year == endDate.Year) { lastDay = endDate.Day; } else { lastDay = DateTime.DaysInMonth(currentDate.Year, currentDate.Month); } DateTime date2 = new DateTime(currentDate.Year, currentDate.Month, lastDay); try { conn.Open(); command.CommandText = query; command.Parameters.Add(new SqlParameter("@date1", currentDate)); command.Parameters.Add(new SqlParameter("@date2", date2)); command.Parameters.Add(new SqlParameter("@orderShipped", shipped)); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { string client = reader.GetString(0); DateTime date = reader.GetDateTime(1); double total = reader.GetDouble(2); GroupedOrder groupedOrder = new GroupedOrder(client, date, total); orderList.Add(groupedOrder); } } catch (Exception e) { } finally { conn.Close(); command.Parameters.Clear(); } return(orderList); }
public static ArrayList GetGroupedOrders(String name) { string query = @"SELECT date, SUM(total), orderShipped FROM ( SELECT date, (amount * price) AS total, orderShipped FROM orders WHERE clientName = @date1 )as result GROUP BY date, orderShipped"; ArrayList orderList = new ArrayList(); try { conn.Open(); command.CommandText = query; command.Parameters.Add(new SqlParameter("@date1", name)); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { DateTime date = reader.GetDateTime(0); double total = reader.GetDouble(1); bool shipped = reader.GetBoolean(2); GroupedOrder groupedOrder = new GroupedOrder(name, date, total, shipped); orderList.Add(groupedOrder); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { conn.Close(); command.Parameters.Clear(); } return(orderList); }
// GET: Orders/Create public ActionResult Create(Guid?shopId, Guid?groupedOrderId) { if (!shopId.HasValue) { return(RedirectToAction("ChooseShop")); } var currentUser = UserManager.FindById(User.Identity.GetUserId()); GroupedOrder groupedOrder; if (groupedOrderId.HasValue) { groupedOrder = db.GroupedOrders.Single(go => go.Id == groupedOrderId.Value); } else { groupedOrder = new GroupedOrder { LinkedShop = db.Shops.Single(s => s.Id == shopId) }; } var order = new Order { CreationDate = DateTime.UtcNow, CreateUser = currentUser, OrderDate = DateTime.UtcNow, GroupedOrder = groupedOrder, OrderLines = new List <OrderLine> { new OrderLine { Description = string.Format("je suis partant pour une commande au {0}", groupedOrder.LinkedShop.Name) } } }; return(View(order)); }
public ActionResult BecomingDeliveryBoy([Bind(Include = "Id,CreateUser,CreationDate,LimitDate,LinkedShop")] GroupedOrder groupedOrder) { var dbGroupedOrder = db.GroupedOrders.Single(go => go.Id == groupedOrder.Id); var currentUserId = User.Identity.GetUserId(); if (dbGroupedOrder.Orders.All(o => o.CreateUser_Id != currentUserId)) { ModelState.AddModelError("DeliveryBoy", "You have to join this order before becoming delivery boy."); } if (ModelState.IsValid) { dbGroupedOrder.DeliveryBoy_Id = currentUserId; dbGroupedOrder.LimitDate = groupedOrder.LimitDate; db.Entry(dbGroupedOrder).State = EntityState.Modified; var newGroupedOrderEvent = new GroupedOrderEvent { CreateUserId = User.Identity.GetUserId(), CreationDate = DateTime.UtcNow, Description = "{0} became delivery boy by its own.", EventStatus = GroupedOrderEventStatus.Accepted, EventType = EventType.BecomingDeliveryBoy, GroupedOrderId = groupedOrder.Id, Users = dbGroupedOrder.Orders.Select(o => o.CreateUser).ToList() }; db.Entry(newGroupedOrderEvent).State = EntityState.Added; db.SaveChanges(); return(RedirectToAction("Index", "GroupedOrders")); } return(View(groupedOrder)); }