예제 #1
0
        /// <summary>
        /// Добавить агента недвижимости.
        /// </summary>
        /// <param name="newEntity">Новый агент недвижимости.</param>
        /// <returns>Добавленный агент недвижимости.</returns>
        public override IAgent Add(IAgent newEntity)
        {
            AgentWrap wrap = new AgentWrap(newEntity);

            if (this.Context.Agents.Any(a =>
                                        a.Name == newEntity.Name &&
                                        a.LastName == newEntity.LastName &&
                                        a.PhoneNumber == newEntity.PhoneNumber))
            {
                throw new InvalidOperationException(
                          "Агент с таким именем, фамилией и телефоном, уже существует.");
            }

            this.Context.Agents.Add(wrap.GetRealObject());
            return(wrap);
        }
예제 #2
0
        /// <summary>
        /// Обновить данные агента.
        /// </summary>
        /// <param name="changedEntity">Риэлтор,
        /// данные которого обновлены.</param>
        /// <returns>Обновленный агент.</returns>
        public override IAgent Update(IAgent changedEntity)
        {
            if (!this.Context.Agents.Any(f =>
                                         f.Id_agent == changedEntity.IdAgent))
            {
                throw new InvalidOperationException(
                          "Попытка обновления данных несуществующего агента"
                          + " (id = " + changedEntity.IdAgent + "). ");
            }

            AgentWrap wrap = new AgentWrap(changedEntity);

            Agent agent = wrap.GetRealObject();

            this.Context.Agents.Attach(agent);
            this.Context.Entry(agent).State = EntityState.Modified;
            return(wrap);
        }