コード例 #1
0
 public void UpdateIncomeGroupLimit(Domain.IncomeGroupLimitGroup setting)
 {
     using (var dbOperator = new DbOperator(Provider, ConnectionString))
     {
         InsertIncome(setting, dbOperator, "");
     }
 }
コード例 #2
0
 private static Domain.IncomeGroupLimitGroup loadIncomeGroup(System.Data.Common.DbDataReader reader)
 {
     Domain.IncomeGroupLimitGroup income = new Domain.IncomeGroupLimitGroup();
     income.Limitation = new List <Domain.IncomeGroupLimit>();
     Domain.IncomeGroupLimit limit = null;
     while (reader.Read())
     {
         var currentId = reader.GetGuid(0);
         if (income.Id != currentId)
         {
             income.Id            = currentId;
             income.CompanyId     = reader.GetGuid(1);
             income.IncomeGroupId = reader.IsDBNull(2) ? (Guid?)null : reader.GetGuid(2);
             income.Remark        = reader.GetString(3);
             income.Limitation    = new List <Domain.IncomeGroupLimit>();
         }
         var currlimitId = reader.GetGuid(4);
         if (!income.Limitation.Any(it => it.Id == currlimitId))
         {
             limit               = new Domain.IncomeGroupLimit();
             limit.Id            = currlimitId;
             limit.IncomeId      = reader.GetGuid(5);
             limit.Type          = (Common.Enums.PeriodType)reader.GetByte(6);
             limit.Price         = reader.GetInt32(7);
             limit.Airlines      = reader.GetString(12);
             limit.IsOwnerPolicy = reader.GetBoolean(13);
             limit.Period        = new List <Domain.IncomeGroupPeriod>();
             income.Limitation.Add(limit);
         }
         Domain.IncomeGroupPeriod period = new Domain.IncomeGroupPeriod();
         period.DeductId    = reader.GetGuid(8);
         period.StartPeriod = reader.GetDecimal(9);
         period.EndPeriod   = reader.GetDecimal(10);
         period.Period      = reader.GetDecimal(11);
         limit.Period.Add(period);
     }
     return(income);
 }
コード例 #3
0
        private static void InsertIncome(Domain.IncomeGroupLimitGroup setting, DbOperator dbOperator, string sql)
        {
            if (setting.IncomeGroupId.HasValue)
            {
                sql += @"   DELETE FROM PEROPD 
                                   FROM T_IncomeGroupLimit LIMIT
                                   INNER JOIN T_IncomeGroupLimitGroup LIMITGROUP ON LIMIT.IncomeId = LIMITGROUP.Id
                                   INNER JOIN T_OEMIncomeGroupPeriod PEROPD ON LIMIT.Id = PEROPD.DeductId 
                                   WHERE LIMITGROUP.IncomeGroupId = @GroupIde;  
                            DELETE FROM  LIMIT 
                                   FROM T_IncomeGroupLimit LIMIT
                                   INNER JOIN T_IncomeGroupLimitGroup LIMITGROUP ON LIMIT.IncomeId = LIMITGROUP.Id
                                   WHERE LIMITGROUP.IncomeGroupId = @GroupIds;
                            DELETE FROM T_IncomeGroupLimitGroup WHERE IncomeGroupId = @GroupIdd; ";
                dbOperator.AddParameter("GroupIde", setting.IncomeGroupId);
                dbOperator.AddParameter("GroupIds", setting.IncomeGroupId);
                dbOperator.AddParameter("GroupIdd", setting.IncomeGroupId);
            }
            else
            {
                sql += @"   DELETE FROM PEROPD 
                                   FROM T_IncomeGroupLimit LIMIT
                                   INNER JOIN T_IncomeGroupLimitGroup LIMITGROUP ON LIMIT.IncomeId = LIMITGROUP.Id
                                   INNER JOIN T_OEMIncomeGroupPeriod PEROPD ON LIMIT.Id = PEROPD.DeductId 
                                   WHERE LIMITGROUP.IncomeGroupId IS NULL AND LIMITGROUP.CompanyId = @CompanyIdq;  
                            DELETE FROM  LIMIT 
                                   FROM T_IncomeGroupLimit LIMIT
                                   INNER JOIN T_IncomeGroupLimitGroup LIMITGROUP ON LIMIT.IncomeId = LIMITGROUP.Id
                                   WHERE LIMITGROUP.IncomeGroupId IS NULL AND LIMITGROUP.CompanyId = @CompanyIds;
                            DELETE FROM T_IncomeGroupLimitGroup WHERE IncomeGroupId IS NULL AND CompanyId = @CompanyIdd; ";
                dbOperator.AddParameter("CompanyIdq", setting.CompanyId);
                dbOperator.AddParameter("CompanyIds", setting.CompanyId);
                dbOperator.AddParameter("CompanyIdd", setting.CompanyId);
            }

            sql += "INSERT INTO T_IncomeGroupLimitGroup (Id,CompanyId,IncomeGroupId,Remark) VALUES(@Id,@CompanyId,@IncomeGroupId,@Remark);";
            dbOperator.AddParameter("Id", setting.Id);
            dbOperator.AddParameter("CompanyId", setting.CompanyId);
            if (setting.IncomeGroupId.HasValue)
            {
                dbOperator.AddParameter("IncomeGroupId", setting.IncomeGroupId);
            }
            else
            {
                dbOperator.AddParameter("IncomeGroupId", DBNull.Value);
            }
            dbOperator.AddParameter("Remark", setting.Remark);
            int i = 0, j = 0;

            foreach (var item in setting.Limitation)
            {
                i++;
                sql += @" INSERT INTO T_IncomeGroupLimit (Id,IncomeId,Type,Price,Airlines,IsOwnerPolicy)
                              VALUES (@Id" + i + ",@IncomeId" + i + ",@Type" + i + ",@Price" + i + ",@Airlines" + i + ",@IsOwnerPolicy" + i + "); ";
                dbOperator.AddParameter("Id" + i, item.Id);
                dbOperator.AddParameter("IncomeId" + i, item.IncomeId);
                dbOperator.AddParameter("Type" + i, item.Type);
                dbOperator.AddParameter("Price" + i, item.Price);
                dbOperator.AddParameter("Airlines" + i, item.Airlines);
                dbOperator.AddParameter("IsOwnerPolicy" + i, item.IsOwnerPolicy);
                foreach (var period in item.Period)
                {
                    j++;
                    sql += @" INSERT INTO T_OEMIncomeGroupPeriod (DeductId,StartPeriod,EndPeriod,Period)
                                  VALUES (@DeductId" + j + ",@StartPeriod" + j + ",@EndPeriod" + j + ",@Period" + j + ");";
                    dbOperator.AddParameter("DeductId" + j, item.Id);
                    dbOperator.AddParameter("StartPeriod" + j, period.StartPeriod / 100);
                    dbOperator.AddParameter("EndPeriod" + j, period.EndPeriod / 100);
                    dbOperator.AddParameter("Period" + j, period.Period / 100);
                }
            }
            dbOperator.ExecuteNonQuery(sql);
        }
コード例 #4
0
 public void InsertIncomeGroupLimitGlobal(Common.Enums.IncomeGroupLimitType type, Domain.IncomeGroupLimitGroup setting)
 {
     using (var dbOperator = new DbOperator(Provider, ConnectionString))
     {
         var sql = " UPDATE T_Company SET IncomeGroupLimitType = @IncomeGroupLimitType WHERE ID=@COMPANY; ";
         dbOperator.AddParameter("IncomeGroupLimitType", (byte)type);
         dbOperator.AddParameter("COMPANY", setting.CompanyId);
         InsertIncome(setting, dbOperator, sql);
     }
 }