Exemple #1
0
        public override bool addAdditional(Additionals additional)
        {
            if (additionals.Contains(additional))
            {
                Console.WriteLine($"Additional {additional.ToString()} is already on hamburger");
                return(false);
            }

            if (additional == Additionals.DoubleMeat)       // Verifies for double meat
            {
                if (Storage.removeStock(this.meat, 1) != 0) // there is meat on stock
                {
                    price += priceTable[meat];              // add the meat price
                    additionals.Add(additional);
                    return(true);
                }
            }
            else
            {
                if (Storage.removeStock(additional, 1) != 0) // there is items on the stock
                {
                    price += priceTable[additional];
                    additionals.Add(additional);
                    return(true);
                }
            }
            return(false);
        }
Exemple #2
0
        public async Task DeleteAdditional(string symbol)
        {
            var additionalToDelete = Additionals.FirstOrDefault(x => x.Symbol == symbol);

            additionalToDelete.QuantityInStock = 0;
            await UpdateAdditional(additionalToDelete);
        }
Exemple #3
0
        public void Deserialize(BinaryReader reader)
        {
            ID    = NetworkHelper.Nthos(reader.ReadUInt16());
            Flags = (DnsPacketFlags)NetworkHelper.Nthos(reader.ReadUInt16());
            ushort questionCount      = NetworkHelper.Nthos(reader.ReadUInt16());
            ushort answerCount        = NetworkHelper.Nthos(reader.ReadUInt16());
            ushort authoritativeCount = NetworkHelper.Nthos(reader.ReadUInt16());
            ushort additionalCount    = NetworkHelper.Nthos(reader.ReadUInt16());

            for (int i = 0; i < questionCount; i++)
            {
                DnsQuestion question = new DnsQuestion();
                question.Deserialize(reader);
                Questions.Add(question);
            }

            for (int i = 0; i < answerCount; i++)
            {
                DnsResourceRecord record = DnsResourceRecord.DeserializeResourceRecord(reader);
                Answers.Add(record);
            }

            for (int i = 0; i < authoritativeCount; i++)
            {
                DnsResourceRecord record = DnsResourceRecord.DeserializeResourceRecord(reader);
                Authoritatives.Add(record);
            }

            for (int i = 0; i < additionalCount; i++)
            {
                DnsResourceRecord record = DnsResourceRecord.DeserializeResourceRecord(reader);
                Additionals.Add(record);
            }
        }
 public override SmsOptions Clone()
 {
     return(new QueryBalanceOptions()
     {
         Tag = Tag,
         Additionals = Additionals?.ToDictionary(c => c.Key, c => c.Value) ?? new Dictionary <string, string>(0)
     });
 }
Exemple #5
0
 public override SmsOptions Clone()
 {
     return(new CheckBlackOptions()
     {
         Tag = Tag,
         Additionals = Additionals?.ToDictionary(c => c.Key, c => c.Value) ?? new Dictionary <string, string>(0),
     });
 }
Exemple #6
0
        public void AddAdditional(DnsResourceRecord record)
        {
            if (record == null)
            {
                throw new ArgumentNullException(nameof(record));
            }

            Additionals.Add(record);
        }
        public async Task UpdateAdditional(AdditionalEquipment additional)
        {
            var additionalToUpdate = Additionals.FirstOrDefault(x => x.Symbol == additional.Symbol);

            additionalToUpdate.QuantityInStock = additional.QuantityInStock;
            additionalToUpdate.Price           = additional.Price;
            additionalToUpdate.Name            = additional.Name;

            context.AdditionalEquipment.Update(additionalToUpdate);
            await context.SaveChangesAsync();
        }
 public async Task DeleteAdditional(string symbol)
 {
     try
     {
         var additionalToDelete = Additionals.FirstOrDefault(x => x.Symbol == symbol);
         context.AdditionalEquipment.Remove(additionalToDelete);
         await context.SaveChangesAsync();
     }
     catch (Microsoft.EntityFrameworkCore.DbUpdateException)
     {
         return;
     }
 }
 public override SmsOptions Clone()
 {
     return(new GetSmsReportOptions()
     {
         Tag = Tag,
         Additionals = Additionals?.ToDictionary(c => c.Key, c => c.Value) ?? new Dictionary <string, string>(0),
         Mobile = Mobile,
         SendDate = SendDate,
         MessageId = MessageId,
         Page = Page,
         PageSize = PageSize
     });
 }
Exemple #10
0
 public T GetAdditional <T>(string key)
 {
     if (Additionals.ContainsKey(key))
     {
         try
         {
             return((T)Convert.ChangeType(Additionals[key], typeof(T)));
         }
         catch
         {
             return(default(T));
         }
     }
     return(default(T));
 }
Exemple #11
0
 internal SendEmailOptions Clone()
 {
     return(new SendEmailOptions()
     {
         Id = Id,
         Asynchronously = Asynchronously,
         BodyEncoding = BodyEncoding,
         BodyIsHtml = BodyIsHtml,
         Category = Category,
         Content = Content,
         Emails = Emails.Select(c => c).ToList(),
         Subject = Subject,
         SubjectEncoding = SubjectEncoding,
         Additionals = Additionals?.ToDictionary(c => c.Key, c => c.Value) ?? new Dictionary <string, string>(0)
     });
 }
Exemple #12
0
 public override SmsOptions Clone()
 {
     return(new SendSmsOptions()
     {
         Tag = Tag,
         SendTime = SendTime,
         Additionals = Additionals?.ToDictionary(c => c.Key, c => c.Value) ?? new Dictionary <string, string>(0),
         Asynchronously = Asynchronously,
         CallbackData = CallbackData,
         Content = Content,
         ContentFormat = ContentFormat,
         Id = Id,
         Mobiles = Mobiles?.Select(c => c).ToList() ?? new List <string>(0),
         Parameters = Parameters?.ToDictionary(c => c.Key, c => c.Value) ?? new Dictionary <string, string>(0),
         Subcode = Subcode
     });
 }
Exemple #13
0
 /// <summary>
 /// True iff the two objects are equal Layers.
 /// </summary>
 public bool Equals(DnsLayer other)
 {
     return(other != null &&
            Id.Equals(other.Id) &&
            IsQuery.Equals(other.IsQuery) &&
            OpCode.Equals(other.OpCode) &&
            IsAuthoritativeAnswer.Equals(other.IsAuthoritativeAnswer) &&
            IsTruncated.Equals(other.IsTruncated) &&
            IsRecursionDesired.Equals(other.IsRecursionDesired) &&
            IsRecursionAvailable.Equals(other.IsRecursionAvailable) &&
            FutureUse.Equals(other.FutureUse) &&
            IsAuthenticData.Equals(other.IsAuthenticData) &&
            IsCheckingDisabled.Equals(other.IsCheckingDisabled) &&
            ResponseCode.Equals(other.ResponseCode) &&
            (Queries.IsNullOrEmpty() && other.Queries.IsNullOrEmpty() || Queries.SequenceEqual(other.Queries)) &&
            (Answers.IsNullOrEmpty() && other.Answers.IsNullOrEmpty() || Answers.SequenceEqual(other.Answers)) &&
            (Authorities.IsNullOrEmpty() && other.Authorities.IsNullOrEmpty() || Authorities.SequenceEqual(other.Authorities)) &&
            (Additionals.IsNullOrEmpty() && other.Additionals.IsNullOrEmpty() || Additionals.SequenceEqual(other.Additionals)));
 }
Exemple #14
0
        public override bool removeAdditional(Additionals additional)
        {
            if (!additionals.Contains(additional))
            {
                Console.WriteLine($"Additional {additional.ToString()} isn't on the hamburger");
                return(false);
            }

            additionals.Remove(additional);
            if (additional == Additionals.DoubleMeat)
            {
                price -= priceTable[meat]; // subtract the meat price
                Storage.addStock(this.meat, 1);
            }
            else
            {
                price -= priceTable[additional];
                Storage.addStock(additional, 1);
            }
            return(true);
        }
Exemple #15
0
 /// <summary>
 /// Creates a Layer that represents the datagram to be used with PacketBuilder.
 /// </summary>
 public override ILayer ExtractLayer()
 {
     return(new DnsLayer
     {
         Id = Id,
         IsQuery = IsQuery,
         OpCode = OpCode,
         IsAuthoritativeAnswer = IsAuthoritativeAnswer,
         IsTruncated = IsTruncated,
         IsRecursionDesired = IsRecursionDesired,
         IsRecursionAvailable = IsRecursionAvailable,
         FutureUse = FutureUse,
         IsAuthenticData = IsAuthenticData,
         IsCheckingDisabled = IsCheckingDisabled,
         ResponseCode = ResponseCode,
         Queries = Queries.ToList(),
         Answers = Answers.ToList(),
         Authorities = Authorities.ToList(),
         Additionals = Additionals.ToList(),
     });
 }
Exemple #16
0
        public decimal CalculateValue(Fridge fridge)
        {
            decimal value = Compressors.Where(x => x.Symbol == fridge.CompressorSymbol).SingleOrDefault().Price +
                            Bodies.Where(x => x.Symbol == fridge.BodySymbol).SingleOrDefault().Price;

            if (fridge.ShelfSet != null && fridge.ShelfSet.Count > 0)
            {
                foreach (var shelfSet in fridge.ShelfSet)
                {
                    value += Shelves.Where(x => x.Symbol == shelfSet.ShelfSymbol)
                             .SingleOrDefault().Price *shelfSet.Quantity;
                }
            }
            if (fridge.HandleSet != null && fridge.HandleSet.Count > 0)
            {
                foreach (var handleSet in fridge.HandleSet)
                {
                    value += Handles.Where(x => x.Symbol == handleSet.HandleSymbol)
                             .SingleOrDefault().Price *handleSet.Quantity;
                }
            }
            if (fridge.BalconySet != null && fridge.BalconySet.Count > 0)
            {
                foreach (var balconySet in fridge.BalconySet)
                {
                    value += Balconies.Where(x => x.Symbol == balconySet.BalconySymbol)
                             .SingleOrDefault().Price *balconySet.Quantity;
                }
            }
            if (fridge.AdditionalSet != null && fridge.AdditionalSet.Count > 0)
            {
                foreach (var additionalSet in fridge.AdditionalSet)
                {
                    value += Additionals.Where(x => x.Symbol == additionalSet.AdditionalEqSymbol)
                             .SingleOrDefault().Price;
                }
            }
            return(value * 1.25M);
        }
Exemple #17
0
 public IQueryable <AdditionalEquipment> GetAvailableAdditionals()
 {
     return(Additionals.Where(x => x.QuantityInStock > 0));
 }
Exemple #18
0
 public abstract bool addAdditional(Additionals additional);
Exemple #19
0
 public abstract bool removeAdditional(Additionals additional);
Exemple #20
0
 public AdditionalEquipment GetAdditional(string symbol)
 {
     return(Additionals.FirstOrDefault(x => x.Symbol == symbol));
 }
Exemple #21
0
 public IEnumerable <AdditionalEquipment> GetAdditionals()
 {
     return(Additionals.AsEnumerable());
 }