public virtual async Task <T> UpdateAsync(T item)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            //item.Datestamp = DateTime.Now;
            //_dbContext.Set(item.GetType()).Attach(item);

            _dbContext.Entry(item).State = EntityState.Modified;
            if (UpdatingRecord != null)
            {
                UpdatingRecord.Invoke(this, new EntitySavingEventArgs <T>()
                {
                    SavedEntity = item
                });
            }

            await _dbContext.SaveChangesAsync();

            if (RecordUpdated != null)
            {
                RecordUpdated.Invoke(this, new EntitySavingEventArgs <T>()
                {
                    SavedEntity = item
                });
            }

            return(item);
        }
Exemplo n.º 2
0
        public virtual void Update(T item)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            _dbContext.Entry(item).State = EntityState.Modified;
            if (UpdatingRecord != null)
            {
                UpdatingRecord.Invoke(this, new EntitySavingEventArgs <T>()
                {
                    SavedEntity = item
                });
            }

            _dbContext.SaveChanges();
            if (RecordUpdated != null)
            {
                RecordUpdated.Invoke(this, new EntitySavingEventArgs <T>()
                {
                    SavedEntity = item
                });
            }
        }
Exemplo n.º 3
0
        internal UpdatingRecord GetUpdatingRecord()
        {
            UpdatingRecord record = new UpdatingRecord()
            {
                fields = new Dictionary <string, object>()
            };

            if (Lead.Source != null)
            {
                record.fields.Add("Источник", Lead.Source);
            }
            if (Lead.SOURCE_DESCRIPTION != null)
            {
                record.fields.Add("Точка контакта", Lead.SOURCE_DESCRIPTION);
            }
            if (Lead.DATE_CREATE.HasValue && Lead.DATE_CREATE.Value != DateTime.MinValue)
            {
                record.fields.Add("Дата обращения", Lead.DATE_CREATE.Value.ToString("yyyy-MM-dd"));
            }
            if (Lead.COMMENTS != null)
            {
                record.fields.Add("Основная информация", Regex.Replace(Lead.COMMENTS, "<[^>]+>|&nbsp;", " "));
            }
            if (!string.IsNullOrEmpty(Lead.AirTableClientString))
            {
                record.fields.Add("Клиент", Lead.AirTableClientString);
            }
            if (Lead.URL != null)
            {
                record.fields.Add("Клиент - Bitrix24", Lead.URL);
            }
            if (Lead.PeopleCount != -1)
            {
                record.fields.Add("Кол-во человек", Lead.PeopleCount);
            }
            if (Lead.CheckIn.HasValue && Lead.CheckIn.Value != DateTime.MinValue)
            {
                record.fields.Add("Заезд", Lead.CheckIn.Value.ToString("yyyy-MM-dd"));
            }
            if (Lead.LivingDaysCount != -1)
            {
                record.fields.Add("Срок заселения / дней", Lead.LivingDaysCount);
            }
            if (Lead.City != null)
            {
                record.fields.Add("Город", Lead.City);
            }
            if (Lead.ClientType != null)
            {
                record.fields.Add("Тип клиента", Lead.ClientType);
            }
            if (Lead.TypeName != null)
            {
                record.fields.Add("Тип Лида/Сделки", Lead.TypeName);
            }
            if (Lead.TimeLine != null && Lead.TimeLine.LastComment != null)
            {
                record.fields.Add("Комментарий по результату", Lead.TimeLine.LastComment);
            }

            return(record);
        }