示例#1
0
        public override ICoreArticleGroup UpdateArticleGroup(ICoreArticleGroup articleGroup)
        {
            try
            {
                using (var connection = CreateConnection(_connection))
                {
                    connection.Open();
                    var commandText = GetScript(ScriptsSection, ScriptsSqlPath + @"\ArticleGroup", "UpdateArticleGroup");
                    using (var command = CreateCommang(commandText, connection))
                    {
                        command.CommandTimeout = GetCommandTimeout();
                        command.Parameters.Add(CreateParameter("@id", articleGroup.Id));
                        command.Parameters.Add(CreateParameter("@name", articleGroup.Name));
                        command.ExecuteScalar();

                        return(articleGroup);
                    }
                }
            }
            catch (Exception ex)
            {
                // тут хорошо бы задействовать логгер, например, NLog
                Trace.TraceError(ex.Message);
                throw;
            }
        }
示例#2
0
        public override bool DeleteArticleGroup(ICoreArticleGroup articleGroup)
        {
            try
            {
                foreach (var conditionType in articleGroup.ConditionTypes)
                {
                    var deleteConditionType = DeleteConditionType(conditionType);
                    if (!deleteConditionType)
                    {
                        return(false);
                    }
                }

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

                        return(result == 0);
                    }
                }
            }
            catch (Exception ex)
            {
                // тут хорошо бы задействовать логгер, например, NLog
                Trace.TraceError(ex.Message);
                throw;
            }
        }
示例#3
0
        public ArticleGroupVm(ICoreArticleGroup coreArticleGroup, int coreContractId)
        {
            OwnerId        = coreContractId;
            ConditionTypes = new ObservableCollection <ConditionTypeVm>();
            foreach (var coreConditionType in coreArticleGroup.ConditionTypes)
            {
                var conditionType = new ConditionTypeVm(coreArticleGroup.Id)
                {
                    Id         = coreConditionType.Id,
                    Name       = coreConditionType.Name,
                    Retro      = coreConditionType.Retro,
                    RetroDistr = coreConditionType.RetroDistr,
                    Rku        = coreConditionType.Rku,
                    RkuDistr   = coreConditionType.RetroDistr
                };

                ConditionTypes.Add(conditionType);
            }
        }
示例#4
0
 public override IEnumerable <ICoreConditionType> GetConditionTypes(ICoreArticleGroup articleGroup)
 {
     try
     {
         var conditionTypes = new List <ICoreConditionType>();
         using (var connection = CreateConnection(_connection))
         {
             connection.Open();
             var commandText = GetScript(ScriptsSection, ScriptsSqlPath + @"\ConditionType", "GetConditionTypes");
             using (var command = CreateCommang(commandText, connection))
             {
                 command.CommandTimeout = GetCommandTimeout();
                 command.Parameters.Add(CreateParameter("@ownerId", articleGroup.Id));
                 var reader = command.ExecuteReader();
                 try
                 {
                     if (reader.HasRows)
                     {
                         while (reader.Read())
                         {
                             var conditionType = GetCoreConditionType(reader);
                             conditionTypes.Add(conditionType);
                         }
                     }
                 }
                 finally
                 {
                     reader?.Close();
                 }
             }
         }
         return(conditionTypes);
     }
     catch (Exception ex)
     {
         // тут хорошо бы задействовать логгер, например, NLog
         Trace.TraceError(ex.Message);
         throw;
     }
 }
示例#5
0
        public override ICoreConditionType CreateConditionType(ICoreArticleGroup articleGroup, string name, int retro, int retroDistr, int rku, int rkuDistr)
        {
            try
            {
                using (var connection = CreateConnection(_connection))
                {
                    connection.Open();
                    var commandText = GetScript(ScriptsSection, ScriptsSqlPath + @"\ConditionType", "CreateConditionType");
                    using (var command = CreateCommang(commandText, connection))
                    {
                        command.CommandTimeout = GetCommandTimeout();
                        command.Parameters.Add(CreateParameter("@name", name));
                        command.Parameters.Add(CreateParameter("@retro", retro));
                        command.Parameters.Add(CreateParameter("@retroDistr", retroDistr));
                        command.Parameters.Add(CreateParameter("@rku", rku));
                        command.Parameters.Add(CreateParameter("@rkuDistr", rkuDistr));
                        command.Parameters.Add(CreateParameter("@ownerId", articleGroup.Id));
                        var id = (int)command.ExecuteScalar();

                        return(new CoreConditionTypeImpl()
                        {
                            Id = id,
                            Name = name,
                            Retro = retro,
                            RetroDistr = retroDistr,
                            Rku = rku,
                            RkuDistr = rkuDistr,
                            OwnerId = articleGroup.Id
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                // тут хорошо бы задействовать логгер, например, NLog
                Trace.TraceError(ex.Message);
                throw;
            }
        }
示例#6
0
 public bool DeleteArticleGroup(ICoreArticleGroup articleGroup)
 {
     throw new NotImplementedException();
 }
示例#7
0
 public ICoreArticleGroup UpdateArticleGroup(ICoreArticleGroup articleGroup)
 {
     throw new NotImplementedException();
 }
示例#8
0
 public abstract ICoreArticleGroup UpdateArticleGroup(ICoreArticleGroup articleGroup);
示例#9
0
 public IEnumerable <ICoreConditionType> GetConditionTypes(ICoreArticleGroup articleGroup)
 {
     return(_mapper.GetConditionTypes(articleGroup));
 }
示例#10
0
 public bool DeleteArticleGroup(ICoreArticleGroup articleGroup)
 {
     return(_mapper.DeleteArticleGroup(articleGroup));
 }
示例#11
0
 public ICoreArticleGroup UpdateArticleGroup(ICoreArticleGroup articleGroup)
 {
     return(_mapper.UpdateArticleGroup(articleGroup));
 }
示例#12
0
 public abstract ICoreConditionType CreateConditionType(ICoreArticleGroup articleGroup, string name, int retro, int retroDistr, int rku, int rkuDistr);
示例#13
0
 public abstract IEnumerable <ICoreConditionType> GetConditionTypes(ICoreArticleGroup articleGroup);
示例#14
0
 public abstract bool DeleteArticleGroup(ICoreArticleGroup articleGroup);
示例#15
0
 public IEnumerable <ICoreConditionType> GetConditionTypes(ICoreArticleGroup articleGroup)
 {
     throw new NotImplementedException();
 }
示例#16
0
 public ICoreConditionType CreateConditionType(ICoreArticleGroup articleGroup, string name, int retro, int retroDistr, int rku, int rkuDistr)
 {
     throw new NotImplementedException();
 }
示例#17
0
 public ICoreConditionType CreateConditionType(ICoreArticleGroup articleGroup, string name, int retro, int retroDistr, int rku, int rkuDistr)
 {
     return(_mapper.CreateConditionType(articleGroup, name, retro, retroDistr, rku, rkuDistr));
 }