public OrderSheet OpenOrderSheet(OrderSheet orderSheet) { OrderSheet reference = Database.GetOrderSheet(o => o.Status == OrderSheetStatus.open && o.Client.Cpf == orderSheet.Client.Cpf); if (reference != null) { throw new OrderSheetAlreadyExistsException("Esse cliente já possui uma comanda em aberto"); } var customerRef = CustomerDatabase.GetCustomer(r => r.Cpf == orderSheet.Client.Cpf); if (customerRef == null) { throw new CustomerNotFoundException($"Client com CPF {orderSheet.Client.Cpf} não existe"); } orderSheet.ReferenceCode = Base64Encode(orderSheet.Client.Cpf + DateTime.Now.ToString()); orderSheet.CreatedDate = DateTime.Now; orderSheet.Status = OrderSheetStatus.open; orderSheet.FinishedDate = null; orderSheet.Products = new List <OrderProduct>(); orderSheet.Client = customerRef; orderSheet.ClientCpf = orderSheet.Client.Cpf; return(Database.UpsertOrderSheet(orderSheet)); }
public OrderSheet AddProducts(string referenceCode, IEnumerable <AddOrderProduct> products) { OrderSheet reference = Database.GetOrderSheet(r => r.ReferenceCode == referenceCode);; if (reference == null) { throw new OrderSheetNotFoundException("Comanda não encontrada"); } if (reference.Status == OrderSheetStatus.closed) { throw new OrderSheetInconsistencyException("Não é possível adicionar produtos a uma comanda fechada"); } foreach (var product in products) { var pdRef = ProductDatabase.GetProduct(product.ProductReferenceCode); if (pdRef == null) { throw new ProductNotFoundException($"O produto {product.ProductReferenceCode} não existe"); } reference.Products.Add(new OrderProduct() { ReferenceCode = product.ProductReferenceCode, Quantity = product.Quantity, Name = pdRef.Name, Price = pdRef.Price, DateTime = DateTime.Now }); } return(Database.UpsertOrderSheet(reference)); }
public override global::System.Data.DataSet Clone() { OrderSheet cln = ((OrderSheet)(base.Clone())); cln.InitVars(); cln.SchemaSerializationMode = this.SchemaSerializationMode; return(cln); }
public void Serve() { OrderSheet.Customer.TakeFood(); OrderSheet.ChangeState(OerderState.Served); GetComponent <BehaviorTree>().SetVariableValue("customerObj", null); animator.SetBool("isServing", false); }
public OrderSheet GetOrderSheet(string referenceCode) { OrderSheet reference = Database.GetOrderSheet(r => r.ReferenceCode == referenceCode); if (reference == null) { throw new OrderSheetNotFoundException("Comanada não encontrada"); } return(reference); }
public void TakeOrder(OrderSheet orderSheet) { OrderSheet = orderSheet; CurrentState = WaitingStaffState.TakenOrder; GetComponent <BehaviorTree>().SetVariableValue("customerObj", orderSheet.Customer.gameObject); Inventory.Instance.IncreaseFoodAmount(OrderSheet.OrderedFood.FoodData.name, -1); animator.SetBool("isServing", true); }
public OrderSheet UpsertOrderSheet(OrderSheet orderSheet) { var filter = Builders <OrderSheet> .Filter.Eq(p => p.ReferenceCode, orderSheet.ReferenceCode); return(GetOrderSheetsCollection().FindOneAndReplace <OrderSheet>(filter, orderSheet, new FindOneAndReplaceOptions <OrderSheet, OrderSheet>() { IsUpsert = true, ReturnDocument = ReturnDocument.After })); }
public OrderSheet CloseOrderSheet(string referenceCode) { OrderSheet reference = Database.GetOrderSheet(r => r.ReferenceCode == referenceCode); if (reference == null) { throw new OrderSheetNotFoundException("Comanada não encontrada"); } reference.FinishedDate = DateTime.Now; reference.Status = OrderSheetStatus.closed; return(Database.UpsertOrderSheet(reference)); }
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) { OrderSheet ds = new OrderSheet(); global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny(); any.Namespace = ds.Namespace; sequence.Items.Add(any); type.Particle = sequence; global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); if (xs.Contains(dsSchema.TargetNamespace)) { global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); try { global::System.Xml.Schema.XmlSchema schema = null; dsSchema.Write(s1); for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();) { schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); s2.SetLength(0); schema.Write(s2); if ((s1.Length == s2.Length)) { s1.Position = 0; s2.Position = 0; for (; ((s1.Position != s1.Length) && (s1.ReadByte() == s2.ReadByte()));) { ; } if ((s1.Position == s1.Length)) { return(type); } } } } finally { if ((s1 != null)) { s1.Close(); } if ((s2 != null)) { s2.Close(); } } } xs.Add(dsSchema); return(type); }
public ActionResult <OrderSheet> Post([FromBody] OrderSheetCreate orderSheetCpf) { try { var orderSheet = new OrderSheet { Client = new Customer { Cpf = orderSheetCpf.ClientCpf } }; return(Ok(OrderSheetService.OpenOrderSheet(orderSheet))); } catch (OrderSheetAlreadyExistsException e) { return(StatusCode(400, new ErrorResult(e.Message))); } catch (Exception e) { return(StatusCode(500, new ErrorResult(e.Message))); } }
public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); OrderSheet ds = new OrderSheet(); global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); any1.Namespace = "http://www.w3.org/2001/XMLSchema"; any1.MinOccurs = new decimal(0); any1.MaxOccurs = decimal.MaxValue; any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; sequence.Items.Add(any1); global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; any2.MinOccurs = new decimal(1); any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; sequence.Items.Add(any2); global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); attribute1.Name = "namespace"; attribute1.FixedValue = ds.Namespace; type.Attributes.Add(attribute1); global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); attribute2.Name = "tableTypeName"; attribute2.FixedValue = "OrderSheetDataTable"; type.Attributes.Add(attribute2); type.Particle = sequence; global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); if (xs.Contains(dsSchema.TargetNamespace)) { global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); try { global::System.Xml.Schema.XmlSchema schema = null; dsSchema.Write(s1); for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();) { schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); s2.SetLength(0); schema.Write(s2); if ((s1.Length == s2.Length)) { s1.Position = 0; s2.Position = 0; for (; ((s1.Position != s1.Length) && (s1.ReadByte() == s2.ReadByte()));) { ; } if ((s1.Position == s1.Length)) { return(type); } } } } finally { if ((s1 != null)) { s1.Close(); } if ((s2 != null)) { s2.Close(); } } } xs.Add(dsSchema); return(type); }
public void RemoveOrderSheet(OrderSheet orderSheet) { orderSheets.Remove(orderSheet); }
public void AddOrderSheet(OrderSheet orderSheet) { orderSheets.Add(orderSheet); }