Пример #1
0
        public static bool InsertVipCardModelAndDetails(List <VipCardDetailModel> details, string activityName, int clientId)
        {
            bool result;

            using (var dbHelper = new SqlDbHelper(ConnectionHelper.GetDecryptConn("Gungnir")))
            {
                try
                {
                    dbHelper.BeginTransaction();
                    var clientName   = GetBatchesByClientId(clientId).Select(r => r.ClientName).FirstOrDefault();
                    var activityId   = Guid.NewGuid();
                    var vipCardModel = new VipCardModel()
                    {
                        ActivityId   = activityId,
                        ActivityName = activityName,
                        Url          = UrlPrfex + activityId
                    };
                    var insertResult = DalVipCard.InsertVipCardModel(vipCardModel, dbHelper);
                    result = insertResult > 0;
                    if (insertResult <= 0)
                    {
                        dbHelper.Rollback();
                    }
                    else
                    {
                        var list = new List <VipCardDetailModel>();
                        if (details != null)
                        {
                            list = details.Select(r =>
                            {
                                r.ClientName = clientName;
                                r.ClientId   = clientId;
                                return(r);
                            }).ToList();
                        }
                        var insertDetail = DalVipCard.InsertVipCardDetailsModel(list, insertResult, dbHelper);
                        result = result && insertDetail;
                        if (!insertDetail)
                        {
                            dbHelper.Rollback();
                        }
                        else
                        {
                            OpertionLogs(OpertionType.Add, "", "", activityId.ToString());
                            dbHelper.Commit();
                        }
                    }
                }
                catch (Exception ex)
                {
                    dbHelper.Rollback();
                    result = false;
                    logger.Error(ex.Message, ex);
                }
            }
            return(result);
        }