public TakeRateParameters()
 {
     Action = TakeRateDataItemAction.NotSet;
     Changeset = new EmptyFdpChangeset();
     MarketReviewStatus = MarketReviewStatus.NotSet;
     Mode = TakeRateResultMode.PercentageTakeRate;
 }
Пример #2
0
 public TakeRateParameters()
 {
     Action             = TakeRateDataItemAction.NotSet;
     Changeset          = new EmptyFdpChangeset();
     MarketReviewStatus = MarketReviewStatus.NotSet;
     Mode = TakeRateResultMode.PercentageTakeRate;
 }
        public FdpChangeset FdpChangesetRevert(TakeRateFilter filter)
        {
            FdpChangeset retVal = new EmptyFdpChangeset();

            using (var conn = DbHelper.GetDBConnection())
            {
                try
                {
                    var para = new DynamicParameters();
                    para.Add("@DocumentId", filter.DocumentId, DbType.Int32);
                    para.Add("@CDSID", CurrentCDSID, DbType.String);

                    var results = conn.QueryMultiple("dbo.Fdp_Changeset_Revert", para, commandType: CommandType.StoredProcedure);
                    var firstResultSet = results.Read<FdpChangeset>();
                    if (firstResultSet == null)
                    {
                        return retVal;
                    }
                    retVal = firstResultSet.First();

                    var secondResultSet = results.Read<DataChange>();
                    if (secondResultSet == null)
                    {
                        return retVal;
                    }
                    retVal.Changes = secondResultSet.ToList();
                }
                catch (Exception ex)
                {
                    Log.Error(ex);
                    throw;
                }
            }
            return retVal;
        }
        public FdpChangeset FdpChangesetSave(TakeRateFilter filter, FdpChangeset changeSetToSave)
        {
            FdpChangeset retVal = new EmptyFdpChangeset();

            using (var conn = DbHelper.GetDBConnection())
            {
                try
                {
                    var para = DynamicParameters.FromCDSId(CurrentCDSID);
                    para.Add("@FdpVolumeHeaderId", filter.TakeRateId, DbType.Int32);
                    para.Add("@MarketId", filter.MarketId, DbType.Int32);
                   
                    var results = conn.Query<FdpChangeset>("dbo.Fdp_Changeset_Save", para, commandType: CommandType.StoredProcedure);
                    var fdpChangesets = results as IList<FdpChangeset> ?? results.ToList();
                    if (fdpChangesets.Any())
                    {
                        retVal = fdpChangesets.First();
                    }
                }
                catch (Exception ex)
                {
                    Log.Error(ex);
                    throw;
                }
            }
            return retVal;
        }
        public FdpChangeset FdpLatestUnsavedChangesetByUserGetMany(TakeRateFilter filter)
        {
 	        FdpChangeset retVal = new EmptyFdpChangeset();

            using (var conn = DbHelper.GetDBConnection())
            {
                try
                {
                    var para = new DynamicParameters();
                    para.Add("@FdpVolumeHeaderId", filter.TakeRateId, DbType.Int32);
                    para.Add("@MarketId", filter.MarketId, DbType.Int32);
                    para.Add("@CDSID", CurrentCDSID, DbType.String);
                    para.Add("@IsSaved", false, DbType.Boolean);

                    // First resultset is the header information

                    var results = conn.QueryMultiple("dbo.Fdp_Changeset_GetLatestByUser", para, commandType: CommandType.StoredProcedure);
                    var firstResultSet = results.Read<FdpChangeset>();
                    var fdpChangesets = firstResultSet as IList<FdpChangeset> ?? firstResultSet.ToList();
                    if (firstResultSet == null || !fdpChangesets.Any())
                    {
                        return retVal;
                    }
                    retVal = fdpChangesets.First();

                    // Second resultset contains the data changes themselves

                    var secondResultSet = results.Read<DataChange>();
                    if (secondResultSet != null)
                    {
                        retVal.Changes = secondResultSet.ToList();
                    }

                    // Third dataset contains the model mix

                    var thirdResultSet = results.Read<AllModelMix>();
                    if (thirdResultSet != null && thirdResultSet.Any())
                    {
                        retVal.ModelMix = thirdResultSet.ToList().First();
                    }
                }
                catch (Exception ex)
                {
                    Log.Error(ex);
                    throw;
                }
            }
            return retVal;
        }
        public FdpChangeset FdpChangesetGet(FdpChangeset changesetToGet)
        {
            FdpChangeset retVal = new EmptyFdpChangeset();

            using (var conn = DbHelper.GetDBConnection())
            {
                try
                {
                    var para = new DynamicParameters();
                    para.Add("@FdpChangesetId", changesetToGet.FdpChangesetId, DbType.Int32);

                    // First resultset is the header information

                    var results = conn.QueryMultiple("dbo.Fdp_Changeset_Get", para, commandType: CommandType.StoredProcedure);
                    var firstResultSet = results.Read<FdpChangeset>();
                    var fdpChangesets = firstResultSet as IList<FdpChangeset> ?? firstResultSet.ToList();
                    if (firstResultSet == null || !fdpChangesets.Any())
                    {
                        return retVal;
                    }
                    retVal = fdpChangesets.First();

                    // Second resultset contains the data changes themselves

                    var secondResultSet = results.Read<DataChange>();
                    if (secondResultSet != null)
                    {
                        retVal.Changes = secondResultSet.ToList();
                    }
                }
                catch (Exception ex)
                {
                    Log.Error(ex);
                    throw;
                }
            }
            return retVal;
        }