Пример #1
0
 public static List <VipCardDetailModel> GetVipCardDetailForEdit(string activityId, int clientId)
 {
     try
     {
         var cardId       = DalVipCard.GetVipCardIdByActivityId(activityId);
         var cardDetails  = DalVipCard.GetVipCardDetailsByActivityId(cardId).ToList();
         var batchDetails = DalVipCard.GetBatchesByClientId(clientId).ToList();
         var result       = (from a in batchDetails
                             join b in cardDetails on a.BatchId equals b.BatchId into temp
                             from b in temp.DefaultIfEmpty()
                             select new VipCardDetailModel
         {
             _checked = b != null,
             Stock = a.Stock,
             EndDate = a.EndDate,
             StartDate = a.StartDate,
             UseRange = a.UseRange,
             SalePrice = a.SalePrice,
             CardValue = a.CardValue,
             CardName = a.CardName,
             BatchId = a.BatchId,
             ClientName = a.ClientName,
             ClientId = a.ClientId
         }).ToList()
         ;
         return(result);
     }
     catch (Exception ex)
     {
         logger.Error(ex.Message, ex);
     }
     return(new List <VipCardDetailModel>
     {
     });
 }
Пример #2
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);
        }
Пример #3
0
 public static List <VipCardDetailModel> GetBatchesByClientId(int clientId)
 {
     try
     {
         return(DalVipCard.GetBatchesByClientId(clientId).ToList());
     }
     catch (Exception ex)
     {
         logger.Error(ex.Message, ex);
     }
     return(new List <VipCardDetailModel>
     {
     });
 }
Пример #4
0
 public static List <VipCardDetailModel> GetAllClients()
 {
     try
     {
         return(DalVipCard.GetAllClients().ToList());
     }
     catch (Exception ex)
     {
         logger.Error(ex.Message, ex);
     }
     return(new List <VipCardDetailModel>
     {
     });
 }
Пример #5
0
        public static ListModel <VipCardModel> GetVipCardSaleList(int pageIndex, int pageSize, int clientId)
        {
            List <VipCardModel> result = new List <VipCardModel>();
            var list = new List <string>();

            try
            {
                var dbresult = DalVipCard.GetVipCardSaleList(pageIndex, pageSize, clientId).ToList();
                //list.AddRange(dbresult.Select(item => item.CardValue + "(" + item.SalePrice + ")"));
                result =
                    dbresult.GroupBy(r => new { r.ActivityId, r.ActivityName, r.ClientId, r.ClientName, r.Url, r.CreateDateTime, r.LastUpdateDateTime })
                    .Select(v => new VipCardModel
                {
                    ActivityId         = v.Key.ActivityId,
                    ActivityName       = v.Key.ActivityName,
                    ClientId           = v.Key.ClientId,
                    ClientName         = v.Key.ClientName,
                    Url                = v.Key.Url,
                    VipCards           = string.Join(";", v.Select(item => item.CardValue + "(" + item.SalePrice + ")")),
                    CreateDateTime     = v.Key.CreateDateTime,
                    LastUpdateDateTime = v.Key.LastUpdateDateTime
                }).ToList();
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message, ex);
            }
            return(new ListModel <VipCardModel>
            {
                Source = result.ToList().Skip((pageIndex - 1) * pageSize).Take(pageSize),
                Pager = new PagerModel(pageIndex, pageSize)
                {
                    TotalItem = result.ToList().Count
                }
            });
        }
Пример #6
0
        public static bool UpdateVipCardModelAndDetails(List <VipCardDetailModel> details, string activityName, string activityId, int clientId)
        {
            bool result = true;

            using (var dbHelper = new SqlDbHelper(ConnectionHelper.GetDecryptConn("Gungnir")))
            {
                try
                {
                    //dbHelper.BeginTransaction();
                    var clientName   = GetBatchesByClientId(clientId).Select(r => r.ClientName).FirstOrDefault();
                    var detailbefore = DalVipCard.GetVipCardDetailsByActivityId(activityId);
                    var cardId       = DalVipCard.GetVipCardIdByActivityId(activityId);
                    var batchIds     = details.Select(r => r.BatchId).ToList();

                    var IsNeedUpdateAct = false;

                    #region log

                    var batchIdBefores = detailbefore.Select(r => r.BatchId).ToList();
                    var actNamebefore  = detailbefore.Select(r => r.ActivityName).FirstOrDefault();
                    var deleteBatches  = batchIdBefores.Except(batchIds);
                    var addBatches     = batchIds.Except(batchIdBefores);
                    if (actNamebefore != activityName)
                    {
                        IsNeedUpdateAct = true;
                        var before = actNamebefore;
                        var after  = activityName;
                        OpertionLogs(OpertionType.EditEdit, before, after, activityId);
                    }
                    if (deleteBatches.Any() && batchIds.Any())
                    {
                        var before = string.Join(",", deleteBatches);
                        OpertionLogs(OpertionType.EditDelete, before, "", activityId);
                    }
                    if (addBatches.Any())
                    {
                        var after = string.Join(",", addBatches);
                        OpertionLogs(OpertionType.EditAdd, "", after, activityId);
                    }

                    #endregion

                    if (IsNeedUpdateAct)
                    {
                        DalVipCard.UpdateVipCardModel(activityName, activityId, dbHelper);
                    }
                    if (batchIds.Any())
                    {
                        var uDetail1 = DalVipCard.SetVipCardModelDetailStatus(cardId, batchIds, dbHelper);

                        var list = details.Select(r =>
                        {
                            r.ClientName = clientName;
                            r.ClientId   = clientId;

                            return(r);
                        }).ToList();
                        var uDetails2 = DalVipCard.UpdateVipCardModelDetails(cardId, list, dbHelper);
                    }
                }

                catch (Exception ex)
                {
                    result = false;
                    logger.Error(ex.Message, ex);
                }
            }
            return(result);
        }