private void AddCuponHelper() { var cupon = _common.PrepareCupon(this.CuponSearch); //var item = this.PromocionesCupones.OfType<Common.Entities.PromocionCupon>().Where(i => i.Cupon == cupon).SingleOrDefault(); var item = this.Cupones.Where(i => i.Folio == cupon).SingleOrDefault(); if (item != null) { var res = MessageBox.Show("Este cupón ya ha sido agregado, desea removerlo?", "AVISO", MessageBoxButton.YesNo, MessageBoxImage.Question); if (res == MessageBoxResult.Yes) { var remove = this.PromocionesCupones.OfType <Common.Entities.PromocionCupon>().Where(i => i.Cupon == cupon).ToList(); remove.ForEach(i => this.PromocionesCupones.Remove(i)); this.Cupones.Remove(item); //_ls.RemoveCupon(cupon); this.CuponSearch = null; } } else { var rcup = _proxy.FindCupon(cupon); if (rcup.Status != CuponStatus.Activo) { MessageBox.Show($"cupon {cupon} {rcup.Status}"); return; } var cps = rcup?.Promociones; if (cps != null && cps.Any()) { this.Cupones.Add(rcup); var added = false; foreach (var cup in cps) { if (!cup.Cliente.HasValue || (cup.Cliente.HasValue && cup.Cliente == this.Cliente?.Id)) { added = true; cup.Enabled = true; this.PromocionesCupones.Add(cup); } } if (added) { //_ls.AddCupon(cupon); } this.CuponSearch = null; } } }