Exemple #1
0
        public bool UpsertTiresFloorActivity(TiresFloorActivityConfig model, string user)
        {
            var    result = false;
            string msg    = string.Empty;

            try
            {
                dbScopeManager.CreateTransaction(conn =>
                {
                    if (model != null && model.TiresActivityId != Guid.Empty && model.FlashSaleId != Guid.Empty)
                    {
                        if (model.FloorActivityId == Guid.Empty)
                        {
                            msg = "添加楼层活动";
                            model.FloorActivityId = Guid.NewGuid();
                            DALTiresActivity.InsertTiresFloorActivity(conn, model);
                        }
                        else
                        {
                            msg = "修改楼层活动";
                            DALTiresActivity.UpdateTiresFloorActivity(conn, model);
                        }

                        foreach (var item in model.ImgList)
                        {
                            item.ActivityId = model.FloorActivityId;
                            var imgInfo     = DALTiresActivity.SelectActivityImgByIdAndType(conn, item.ActivityId, item.Type);
                            if (imgInfo != null)
                            {
                                DALTiresActivity.UpdateActivityImgByIdAnType(conn, item.ActivityId, item.ImgUrl, item.Type, item.Position);
                            }
                            else
                            {
                                DALTiresActivity.InsertActivityImg(conn, item.ActivityId, item.ImgUrl, item.Type, item.Position);
                            }
                        }
                        foreach (var item in model.ProductList)
                        {
                            item.ActivityId = model.FloorActivityId;
                            var proInfo     = DALTiresActivity.SelectRegionProductsByPID(conn, item.ActivityId, item.ProductId);
                            if (proInfo != null)
                            {
                                DALTiresActivity.UpdateTiresProductInfo(conn, item.ActivityId, item.ProductId, item.AdvertiseTitle, item.SpecialCondition, item.IsCancelProgressBar, item.Position);
                            }
                            else
                            {
                                DALTiresActivity.InsertTiresProductInfo(conn, item.ActivityId, item.ProductId, item.AdvertiseTitle, item.SpecialCondition, item.IsCancelProgressBar, item.Position);
                            }
                        }
                        result = true;
                    }
                });
            }
            catch (Exception ex)
            {
                logger.Error($"UpsertTiresFloorActivity Error:{ex.Message}; Stack:{ex.StackTrace}", ex);
            }

            if (result)
            {
                model.ProductList = new List <DataAccess.Entity.TiresActivity.TiresActivityProductConfig>();
                model.ImgList     = new List <DataAccess.Entity.TiresActivity.ActivityImageConfig>();
                InsertLog("UpsertTiresFloorActivity", model.TiresActivityId, JsonConvert.SerializeObject(model), msg, user, LogType);
            }

            return(result);
        }