Beispiel #1
0
        public void InsertCrimeLocalizationItem(Guid crimeId, CrimeLocalization crimeLocalization)
        {
            var crime = _col.Find(c => c.Id == crimeId).FirstOrDefault();

            if (crime == null)
            {
                crime = new Crime {
                    Id = crimeId, ListCrimeLocalizations = new List <CrimeLocalization> {
                        crimeLocalization
                    }
                };
                _col.InsertOne(crime);
            }
            else
            {
                var cartItemFromDb = crime.ListCrimeLocalizations.FirstOrDefault(ci => ci.Id == crimeLocalization.Id);
                if (cartItemFromDb == null)
                {
                    crime.ListCrimeLocalizations.Add(crimeLocalization);
                }
                else
                {
                    cartItemFromDb.Quantity = cartItemFromDb.Quantity + crimeLocalization.Quantity;
                }
                var update = Builders <Crime> .Update
                             .Set(c => c.ListCrimeLocalizations, crime.ListCrimeLocalizations);

                _col.UpdateOne(c => c.Id == crimeId, update);
            }
        }
Beispiel #2
0
        public void UpdateCrimeLocalizationItem(Guid crimeId, CrimeLocalization catalogItem)
        {
            var cart = _col.Find(c => c.Id == crimeId).FirstOrDefault();

            if (cart != null)
            {
                cart.ListCrimeLocalizations.RemoveAll(ci => ci.Id == catalogItem.Id);
                cart.ListCrimeLocalizations.Add(catalogItem);
                var update = Builders <Crime> .Update
                             .Set(c => c.ListCrimeLocalizations, cart.ListCrimeLocalizations);

                _col.UpdateOne(c => c.Id == crimeId, update);
            }
        }
Beispiel #3
0
 public ActionResult Put([FromQuery(Name = "crimeId")] Guid crimeId, [FromBody] CrimeLocalization cartItem)
 {
     _crimeRepository.UpdateCrimeLocalizationItem(crimeId, cartItem);
     return(Ok());
 }