private void AssignCourses(PosOrder posOrder, Order order) { order.CourseGroups = new ObservableCollection <Group>(); foreach (var servingCourse in posOrder.Courses) { var group = CreateGroup(servingCourse, GroupType.Course); group.Order = order; order.CourseGroups.Add(group); } }
public long?SavePosCheck(PosCheck model) { var entity = new PosOrder { CheckId = model.CheckId, FranchiseCode = model.FranchiseCode, GuidId = model.GuidId, OrderDatetime = DateTime.Now, Subtotal = (Decimal)model.SubTotal, Taxes = (Decimal)model.Tax, Total = (Decimal)model.Total, UserId = AccountRepository.GetIdByUsername(model.Username, DbEntities), }; DbEntities.PosOrder.Add(entity); DbEntities.SaveChanges(); foreach (var itemModel in model.LstItems) { var item = new PosOrderItem { CheckItemId = itemModel.CheckItemId, ItemId = itemModel.ItemId, Name = itemModel.RealName, Price = (Decimal)itemModel.Price, LevelItem = (int)itemModel.Level, ParentId = itemModel.Parent != null ? itemModel.Parent.CheckItemId : (long?)null, PosOrderId = entity.PosOrderId }; DbEntities.PosOrderItem.Add(item); DbEntities.SaveChanges(); itemModel.CheckItemId = item.PosOrderItemId; } if (model.Promos != null && model.Promos.Any()) { var lstPromos = model.Promos.Values.Select(promo => new PosOrderPromo { PosOrderId = entity.PosOrderId, EntriesIdsSelected = JsonConvert.SerializeObject(promo.LstEntries), PromoEntryId = promo.PromoEntryId, PromoTypeId = promo.PromoTypeId }).ToList(); DbEntities.PosOrderPromo.AddRange(lstPromos); DbEntities.SaveChanges(); } model.Id = entity.PosOrderId; DbEntities.Entry(entity).State = EntityState.Detached; return(model.Id); }
private Order ConvertToChefmateOrder(PosOrder posOrder) { var order = new Order(); order.ArrivalTime = DateTime.Now; order.SaleStartTime = posOrder.SaleStartTime.ToDateTime(); order.DeliveryTime = posOrder.DeliveryTime.ToDateTime(); order.SaleFinishTime = posOrder.SaleFinishTime.ToDateTime(); order.BeenSentToOutput = false; order.TableTabName = posOrder.TableTabName; int colonIndex = order.TableTabName.IndexOf(':'); if (colonIndex > 0) { order.TableTabName = order.TableTabName.Substring(0, colonIndex - 1); } order.SourceTableName = posOrder.SourceTableName; order.ChitValue = posOrder.ChitValue != "Chit Number" ? posOrder.ChitValue : ""; order.ServerName = posOrder.ServerName; order.CustomerName = posOrder.CustomerName; order.PartyName = posOrder.PartyName; order.OrderType = posOrder.OrderType; order.PatronCount = posOrder.PatronCount.ToInteger(); order.OrderNumber = posOrder.OrderNumber.ToInteger(); order.OrderPosKey = posOrder.DbKey.ToInteger(); order.OrderState = GetOrderState(posOrder.Action, posOrder.ActionType); if (order.OrderState == OrderState.Cancel) { AssignCancelGroups(order); } else { AssignServingCourses(posOrder, order); AssignCourses(posOrder, order); } GetAllItems(posOrder, order); return(order); }
private void GetAllItems(PosOrder posOrder, Order order) { foreach (var posItem in posOrder.Items.Items) { if (order.OrderState == OrderState.Cancel) { int quantity = posItem.Quantity.ToInteger(); if (quantity <= 0) { quantity = 1; } for (int i = 0; i < quantity; i++) { var item = CreateItem(posItem, order.OrderState); item.SCourseGroup = order.ServingCourseGroups.FirstOrDefault(); item.CourseGroup = order.CourseGroups.FirstOrDefault(); order.Items.Add(item); } } else { var item = CreateItem(posItem, order.OrderState); var servingCourse = order.ServingCourseGroups.FirstOrDefault(s => s.GroupPosKey == posItem.ServingCoursePosKey.ToInteger()); if (servingCourse != null) { item.SCourseGroup = servingCourse; //servingCourse.Items.Add(item); } var course = order.CourseGroups.FirstOrDefault(s => s.GroupPosKey == posItem.CoursePosKey.ToInteger()); if (course != null) { item.CourseGroup = course; //course.Items.Add(item); } order.Items.Add(item); } } }
public string BuildBody(string template) { return(string.Format(template, AtoOrderId, StoreName, Client.GetInfo(), PhoneNumber, Address.GetInfo(), GetInfo(), PosOrder.GetInfo())); }