public override bool DeleteContract(ICoreContract contract)
        {
            try
            {
                foreach (var contractArticleGroup in contract.ArticleGroups)
                {
                    var deleteArticleGroup = DeleteArticleGroup(contractArticleGroup);
                    if (!deleteArticleGroup)
                    {
                        return(false);
                    }
                }

                using (var connection = CreateConnection(_connection))
                {
                    connection.Open();
                    var commandText = GetScript(ScriptsSection, ScriptsSqlPath + @"\Contract", "DeleteContract");
                    using (var command = CreateCommang(commandText, connection))
                    {
                        command.CommandTimeout = GetCommandTimeout();
                        command.Parameters.Add(CreateParameter("@id", contract.Id));
                        command.ExecuteNonQuery();
                        var result = command.ExecuteNonQuery();

                        return(result == 0);
                    }
                }
            }
            catch (Exception ex)
            {
                // тут хорошо бы задействовать логгер, например, NLog
                Trace.TraceError(ex.Message);
                throw;
            }
        }
Пример #2
0
        public override ICoreArticleGroup CreateArticleGroup(ICoreContract contract, string name)
        {
            try
            {
                using (var connection = CreateConnection(_connection))
                {
                    connection.Open();
                    var commandText = GetScript(ScriptsSection, ScriptsSqlPath + @"\ArticleGroup", "CreateArticleGroup");
                    using (var command = CreateCommang(commandText, connection))
                    {
                        command.CommandTimeout = GetCommandTimeout();
                        command.Parameters.Add(CreateParameter("@name", name));
                        command.Parameters.Add(CreateParameter("@ownerId", contract.Id));
                        var id = (int)command.ExecuteScalar();

                        return(new CoreArticleGroupImpl()
                        {
                            Id = id,
                            Name = name,
                            OwnerId = contract.Id
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                // тут хорошо бы задействовать логгер, например, NLog
                Trace.TraceError(ex.Message);
                throw;
            }
        }
        public override ICoreContract UpdateContract(ICoreContract contract)
        {
            try
            {
                using (var connection = CreateConnection(_connection))
                {
                    connection.Open();
                    var commandText = GetScript(ScriptsSection, ScriptsSqlPath + @"\Contract", "UpdateContract");
                    using (var command = CreateCommang(commandText, connection))
                    {
                        command.CommandTimeout = GetCommandTimeout();
                        command.Parameters.Add(CreateParameter("@id", contract.Id));
                        command.Parameters.Add(CreateParameter("@name", contract.Name));
                        command.Parameters.Add(CreateParameter("@startDate", contract.StartDate));
                        command.Parameters.Add(CreateParameter("@endDate", contract.EndDate));
                        command.ExecuteScalar();

                        return(contract);
                    }
                }
            }
            catch (Exception ex)
            {
                // тут хорошо бы задействовать логгер, например, NLog
                Trace.TraceError(ex.Message);
                throw;
            }
        }
Пример #4
0
        public ContractVm(ICoreContract coreContract)
        {
            Name      = coreContract.Name;
            StartDate = coreContract.StartDate;
            EndDate   = coreContract.EndDate;
            Id        = coreContract.Id;

            ArticleGroups = new ObservableCollection <ArticleGroupVm>();
            foreach (var coreArticleGroup in coreContract.ArticleGroups)
            {
                var articleGroup = new ArticleGroupVm(coreArticleGroup, Id)
                {
                    Name = coreArticleGroup.Name
                };

                ArticleGroups.Add(articleGroup);
            }
        }
Пример #5
0
        public override IEnumerable <ICoreArticleGroup> GetArticleGroups(ICoreContract contract)
        {
            try
            {
                var articleGroups = new List <ICoreArticleGroup>();
                using (var connection = CreateConnection(_connection))
                {
                    connection.Open();
                    var commandText = GetScript(ScriptsSection, ScriptsSqlPath + @"\ArticleGroup", "GetArticleGroups");
                    using (var command = CreateCommang(commandText, connection))
                    {
                        command.CommandTimeout = GetCommandTimeout();
                        command.Parameters.Add(CreateParameter("@ownerId", contract.Id));
                        var reader = command.ExecuteReader();
                        try
                        {
                            if (reader.HasRows)
                            {
                                while (reader.Read())
                                {
                                    var articleGroup = GetCoreArticleGroup(reader);

                                    articleGroups.Add(articleGroup);
                                }
                            }
                        }
                        finally
                        {
                            reader?.Close();
                        }
                    }
                }
                return(articleGroups);
            }
            catch (Exception ex)
            {
                // тут хорошо бы задействовать логгер, например, NLog
                Trace.TraceError(ex.Message);
                throw;
            }
        }
Пример #6
0
 public ICoreArticleGroup CreateArticleGroup(ICoreContract contract, string name)
 {
     throw new NotImplementedException();
 }
Пример #7
0
 public IEnumerable <ICoreArticleGroup> GetArticleGroups(ICoreContract contract)
 {
     throw new NotImplementedException();
 }
Пример #8
0
 public bool DeleteContract(ICoreContract contract)
 {
     throw new System.NotImplementedException();
 }
Пример #9
0
 public ICoreContract UpdateContract(ICoreContract contract)
 {
     throw new System.NotImplementedException();
 }
Пример #10
0
 public abstract ICoreContract UpdateContract(ICoreContract contract);
Пример #11
0
 public static bool DeleteContract(IEhrmannCore ehrmannCore, ICoreContract coreContract)
 {
     return(ehrmannCore.DeleteContract(coreContract));
 }
Пример #12
0
 public abstract bool DeleteContract(ICoreContract contract);
Пример #13
0
 public static ICoreContract UpdateContract(IEhrmannCore ehrmannCore, ICoreContract coreContract)
 {
     return(ehrmannCore.UpdateContract(coreContract));
 }
Пример #14
0
 public ICoreArticleGroup CreateArticleGroup(ICoreContract contract, string name)
 {
     return(_mapper.CreateArticleGroup(contract, name));
 }
Пример #15
0
 public ContractVm(ICoreContract coreContract, MainViewModel owner) : this(coreContract)
 {
     _owner = owner;
 }
Пример #16
0
 public IEnumerable <ICoreArticleGroup> GetArticleGroups(ICoreContract contract)
 {
     return(_mapper.GetArticleGroups(contract));
 }
Пример #17
0
 public bool DeleteContract(ICoreContract contract)
 {
     return(_mapper.DeleteContract(contract));
 }
Пример #18
0
 public ICoreContract UpdateContract(ICoreContract contract)
 {
     return(_mapper.UpdateContract(contract));
 }
Пример #19
0
 public abstract ICoreArticleGroup CreateArticleGroup(ICoreContract contract, string name);
Пример #20
0
 public abstract IEnumerable <ICoreArticleGroup> GetArticleGroups(ICoreContract contract);