public static string InsertCostSql(NewOffer offer, FormLog stat)
        {
            if (offer.Costs == null)
            {
                return("");
            }

            var costs = offer.Costs.Where(c => c.Value > 0).ToArray();

            if (costs.Length == 0)
            {
                return("");
            }

            stat.InsertCostCount += costs.Length;

            var command = new StringBuilder()
                          .AppendFormat("insert into farm.CoreCosts (Core_ID, PC_CostCode, {0}) values ", Mapping.CostMapping.Select(m => m.Name).Implode())
                          .Append(costs.Select(c => String.Format("(@LastCoreID, {0}, {1})",
                                                                  c.Description.Id,
                                                                  Mapping.CostMapping.Select(m => ToSql(m.GetValue(c))).Implode()))
                                  .Implode())
                          .AppendLine(";");

            return(command.ToString());
        }
Exemple #2
0
 private void CheckForReceivedOfferChanges(List <Offer> offers)
 {
     if (offers != null)
     {
         foreach (var newOffer in offers)
         {
             var isOld = false;
             foreach (var oldsOffer in LastReceivedOffersData)
             {
                 if (newOffer.TradeOfferId == oldsOffer.TradeOfferId)
                 {
                     isOld = true;
                     break;
                 }
             }
             if (!isOld)
             {
                 if (AutoAccepting)
                 {
                     NewOffer?.Invoke(this, newOffer);
                     AcceptOffer(newOffer);
                 }
             }
         }
         LastReceivedOffersData = new List <Offer>(offers);
     }
 }
 public async Task <ActionResult> NewOffer([FromBody] NewOffer newOffer)
 {
     if (ModelState.IsValid)
     {
         await _dataRepo.AddAsync(newOffer);                //_service.AddNewOfferAsync(newOffer);
     }
     return(Created($"api/offers/{newOffer.Title}", null)); //location header , don't return the model
 }
Exemple #4
0
        public async Task AddAsync(NewOffer element)        //create new
        {
            if (element == null)
            {
                throw new Exception("Blad danych!");
            }
            var new_offer = _mapper.Map <Offer>(element);
            await _dbContext.Offer.AddAsync(new_offer);

            await _dbContext.SaveChangesAsync();
        }
        public async Task AddNewOfferAsync(NewOffer offer)
        {
            if (offer == null)
            {
                throw new Exception("Blad danych!");
            }
            var new_offer = _mapper.Map <NewOffer, Offer>(offer);
            await _dbContext.Offer.AddAsync(new_offer);

            await _dbContext.SaveChangesAsync();
        }
        public static string UpdateOfferSql(NewOffer offer, FormLog stat)
        {
            var fields = BuildSetSql(offer, offer.ExistsOffer, Mapping.OfferMapping);

            if (fields.Length == 0)
            {
                return("");
            }
            stat.UpdateCoreCount++;
            return(String.Format("update farm.Core0 set {0} where Id = {1};\r\n", fields, offer.ExistsOffer.Id));
        }
        public static string InsertOfferSql(PriceFormalizationInfo info, NewOffer offer)
        {
            var command = new StringBuilder();

            command.Append("insert into farm.Core0(PriceCode,")
            .Append(Mapping.OfferMapping.Select(m => m.Name).Implode())
            .Append(") values (")
            .Append(info.PriceCode + ",")
            .Append(Mapping.OfferMapping.Select(m => ToSql(m.GetValue(offer))).Implode())
            .Append(");")
            .Append("set @LastCoreID = last_insert_id();");
            return(command.ToString());
        }
        public static string UpdateCostsCommand(NewOffer offer, FormLog stat)
        {
            var command = new StringBuilder();
            var costs   = (offer.Costs ?? new Cost[0]).Where(c => c.Value > 0).ToArray();

            foreach (var cost in costs)
            {
                Cost existsCost = null;
                if (offer.ExistsOffer.Costs != null)
                {
                    existsCost = offer.ExistsOffer.Costs.FirstOrDefault(c => c.Description.Id == cost.Description.Id);
                }
                if (existsCost == null)
                {
                    stat.InsertCostCount++;
                    command.AppendFormat("insert into farm.CoreCosts (Core_ID, PC_CostCode, ")
                    .Append(Mapping.CostMapping.Select(m => m.Name).Implode())
                    .Append(") values (")
                    .AppendFormat("{0}, {1},", offer.ExistsOffer.Id, cost.Description.Id)
                    .Append(Mapping.CostMapping.Select(m => ToSql(m.GetValue(cost))).Implode())
                    .Append(");");
                }
                else
                {
                    var cmd = UpdateCostSql(offer.ExistsOffer, cost, existsCost);
                    if (!String.IsNullOrEmpty(cmd))
                    {
                        stat.UpdateCostCount++;
                        command.Append(cmd);
                    }
                }
            }

            if (offer.ExistsOffer.Costs != null)
            {
                var costsToDelete = offer.ExistsOffer.Costs
                                    .Where(c => costs.All(nc => nc.Description.Id != c.Description.Id))
                                    .Select(c => c.Description.Id.ToString()).ToArray();
                if (costsToDelete.Length > 0)
                {
                    stat.DeleteCostCount += costsToDelete.Length;
                    command.AppendFormat("delete from farm.CoreCosts where Core_Id = {0} and PC_CostCode in ({1});", offer.ExistsOffer.Id, String.Join(", ", costsToDelete));
                }
            }

            return(command.ToString());
        }
 private async Task NewOfferClick() => await NewOffer.InvokeAsync();
Exemple #10
0
 public Task AddAsync(NewOffer element)
 {
     throw new System.NotImplementedException();
 }