Beispiel #1
0
        /// <summary>
        /// 删除
        /// lxt
        /// 2015-02-12
        /// </summary>
        public override BaseResult Delete(Hashtable param)
        {
            BaseResult br = new BaseResult();
            long       id = Convert.ToInt64(param["id"]);

            param.Clear();
            param.Add("id_cgs_level", id);
            if (DAL.GetCount(typeof(Tb_Gys_Cgs), param) > 0)
            {
                br.Success = false;
                br.Message.Add("该客户级别已使用,不能删除,如要删除,请先修改此级别下的客户为其他级别。");
                br.Level = ErrorLevel.Warning;
                return(br);
            }
            param.Clear();
            param.Add("id", id);
            Tb_Cgs_Level model = DAL.GetItem <Tb_Cgs_Level>(cgsLevelType, param);

            if (model == null || !model.id.HasValue || !(model.id.Value > 0))
            {
                br.Success = false;
                br.Message.Add("该客户级别已不存在。");
                br.Level = ErrorLevel.Warning;
                return(br);
            }
            DAL.Delete(cgsLevelType, param);
            if (model != null)
            {
                br.Message.Add(String.Format("删除客户级别。流水号{0},名称:{1}", model.id, model.name));
            }
            br.Success = true;
            return(br);
        }
Beispiel #2
0
        public ActionResult Update(Tb_Cgs_Level model)
        {
            BaseResult br = new BaseResult();

            try
            {
                if (model.id < 1)
                {
                    br.Success = false;
                    br.Message.Add("请刷新页面后再试!");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "id";
                    return(Json(br));
                }
                if (model.name.IsEmpty())
                {
                    br.Success = false;
                    br.Message.Add("请输入级别名称!");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "name";
                    return(Json(br));
                }
                if (model.agio < 1m)
                {
                    br.Success = false;
                    br.Message.Add("请输入正确的折扣!");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "agio";
                    return(Json(br));
                }
                model.id_edit = GetLoginInfo <long>("id_user");
                model.id_gys  = GetLoginInfo <long>("id_supplier");
                br            = BusinessFactory.CustomerType.Update(model);
                if (br.Success)
                {
                    WriteDBLog(LogFlag.Base, br.Message);
                }
            }
            catch (CySoftException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(Json(br));
        }
Beispiel #3
0
        /// <summary>
        /// 修改
        /// lxt
        /// 2015-02-11
        /// </summary>
        public override BaseResult Update(dynamic entity)
        {
            BaseResult   br    = new BaseResult();
            Tb_Cgs_Level model = (Tb_Cgs_Level)entity;
            Hashtable    param = new Hashtable();

            param.Add("not_id", model.id);
            param.Add("name", model.name);
            param.Add("id_gys", model.id_gys);
            if (DAL.GetCount(cgsLevelType, param) > 0)
            {
                br.Success = false;
                br.Message.Add("该客户级别名称已存在");
                br.Level = ErrorLevel.Warning;
                br.Data  = "name";
                return(br);
            }
            model.rq_edit = DateTime.Now;
            DAL.Update(model);
            br.Message.Add(String.Format("修改客户级别。名称:{0}", model.name));
            br.Success = true;
            return(br);
        }
Beispiel #4
0
        public override BaseResult Add(dynamic entity)
        {
            BaseResult   br    = new BaseResult();
            Tb_Cgs_Level model = (Tb_Cgs_Level)entity;
            Hashtable    param = new Hashtable();

            param.Add("id", model.id_gys);
            var gys = DAL.GetItem <Tb_Gys>(typeof(Tb_Gys), param);

            if (gys == null || !gys.id.HasValue || !(gys.id.Value > 0))
            {
                br.Success = false;
                br.Message.Add(string.Format("该供应商不存在。供应商ID{0}.", model.id_gys));
                br.Level = ErrorLevel.Warning;
                return(br);
            }

            param.Clear();
            param.Add("name", model.name);
            param.Add("id_gys", model.id_gys);
            if (DAL.GetCount(cgsLevelType, param) > 0)
            {
                br.Success = false;
                br.Message.Add("该客户级别名称已存在。");
                br.Level = ErrorLevel.Warning;
                return(br);
            }
            model.flag_sys  = YesNoFlag.No;
            model.rq_create = DateTime.Now;
            model.rq_edit   = DateTime.Now;
            model.id_edit   = model.id_create;
            DAL.Add(model);

            param.Clear();
            param.Add("id_gys", model.id_gys);
            var             sp_list = DAL.QueryList <SkuData>(typeof(Tb_Gys_Sp), param);
            List <Tb_Sp_Dj> dj_list = new List <Tb_Sp_Dj>();
            Tb_Sp_Dj        dj;

            foreach (var sp in sp_list)
            {
                dj = new Tb_Sp_Dj();
                dj.id_cgs_level = model.id;
                dj.id_gys       = model.id_gys;
                dj.id_sku       = sp.id;
                dj.id_sp        = sp.id_sp;
                dj.sl_dh_min    = 0;
                dj.dj_dh        = (sp.dj_base * model.agio / 100).Digit(DigitConfig.dj);
                dj.id_create    = model.id_create;
                dj.rq_create    = model.rq_create;
                dj.id_edit      = dj.id_create;
                dj.rq_edit      = dj.rq_create;
                dj_list.Add(dj);
            }

            if (dj_list.Count > 0)
            {
                DAL.AddRange <Tb_Sp_Dj>(dj_list);
            }

            br.Message.Add(String.Format("新增客户级别。名称:{0}", model.name));
            br.Success = true;
            return(br);
        }
Beispiel #5
0
        public ActionResult Add(string obj)
        {
            BaseResult br = new BaseResult();

            try
            {
                GoodsData model = JSON.Deserialize <GoodsData>(obj);

                if (string.IsNullOrEmpty(model.mc))
                {
                    br.Success = false;
                    br.Data    = "sp_mc";
                    br.Message.Add("商品名称不能为空");
                    return(Json(br));
                }

                if (model.id_spfl == 0)
                {
                    br.Success = false;
                    br.Data    = "id_spfl";
                    br.Message.Add("商品类别不能为空");
                    return(Json(br));
                }

                if (string.IsNullOrEmpty(model.unit))
                {
                    br.Success = false;
                    br.Data    = "unit";
                    br.Message.Add("商品单位不能为空");
                    return(Json(br));
                }

                if (model.sku == null || model.sku.Count.Equals(0))
                {
                    br.Success = false;
                    br.Data    = "sku";
                    br.Message.Add("必须至少有一条商品数据.");
                    return(Json(br));
                }

                if (!string.IsNullOrWhiteSpace(model.description) && model.description.Length > 2000)
                {
                    br.Success = false;
                    br.Data    = "sku";
                    br.Message.Add("商品介绍应在2000字以内.");
                    return(Json(br));
                }

                var param  = new Hashtable();
                var id_gys = GetLoginInfo <long>("id_supplier");

                param.Clear();
                param.Add("id_gys", GetLoginInfo <long>("id_supplier"));
                br = BusinessFactory.CustomerType.GetAll(param);
                if (!br.Success || br.Data == null)
                {
                    br.Success = false;
                    br.Data    = "cgs_level";
                    br.Message.Add("没有设置客户级别.");
                    return(Json(br));
                }
                var cgs_level = (List <Tb_Cgs_Level>)br.Data;
                if (cgs_level.Count < 1)
                {
                    br.Success = false;
                    br.Data    = "cgs_level";
                    br.Message.Add("没有设置客户级别.");
                    return(Json(br));
                }
                var default_level = new Tb_Cgs_Level()
                {
                    flag_sys = YesNoFlag.Yes, agio = decimal.Parse("100"), id_gys = id_gys
                };
                default_level = cgs_level.Find(m => m.flag_sys.Equals(YesNoFlag.Yes));
                if (default_level == null)
                {
                    default_level = cgs_level[0];
                }


                // 生成编码规则
                param.Clear();
                param.Add("coding", typeof(Tb_Sp_Sku).Name.ToLower());
                br = BusinessFactory.CodingRule.Get(param);
                Ts_Codingrule Codingrule = br.Data as Ts_Codingrule;

                List <string> bmlist = new List <string>();
                foreach (var item in model.sku)
                {
                    if (bmlist.Contains(item.bm_Interface))
                    {
                        br.Success = false;
                        br.Data    = "bm";
                        br.Message.Add("商品编码不能重复也不能为空");
                        return(Json(br));
                    }
                    if (string.IsNullOrEmpty(item.bm))
                    {
                        long xh_max = BusinessFactory.Utilety.GetNextXh(typeof(Tb_Sp_Sku));
                        if (xh_max.ToString().Length < Codingrule.length - Codingrule.prefix.Length)
                        {
                            item.bm = Codingrule.prefix + xh_max.ToString().PadLeft(Codingrule.length.Value - Codingrule.prefix.Length, '0');
                        }
                        else
                        {
                            br.Success = false;
                            br.Message.Add("商品编码已超过有效范围!请联系管理员!");
                            return(Json(br));
                        }
                    }
                    if (string.IsNullOrEmpty(item.bm_Interface))
                    {
                        item.bm_Interface = item.bm;
                    }
                    bmlist.Add(item.bm_Interface);

                    foreach (var p in item.sp_dj)
                    {
                        if (!p.id_cgs_level.HasValue || p.id_cgs_level.Value < 1)
                        {
                            p.id_cgs_level = default_level.id;
                        }
                    }
                    foreach (var p in cgs_level)
                    {
                        if (!item.sp_dj.Exists(m => m.id_cgs_level.Equals(p.id)))
                        {
                            item.sp_dj.Add(new Tb_Sp_Dj()
                            {
                                id_cgs_level = p.id, sl_dh_min = 0, dj_dh = (p.agio * item.dj_base / 100).Digit(DigitConfig.dj)
                            });
                        }
                    }
                }

                if (!model.id.HasValue || model.id.Value.Equals(0))
                {
                    model.id = BusinessFactory.Utilety.GetNextKey(typeof(Tb_Sp));
                }

                model.rq_create     = DateTime.Now;
                model.rq_edit       = DateTime.Now;
                model.id_gys_create = GetLoginInfo <long>("id_supplier");
                model.id_edit       = GetLoginInfo <long>("id_user");
                model.id_create     = GetLoginInfo <long>("id_user");


                if (!model.id_gys_create.HasValue || model.id_gys_create.Value < 1)
                {
                    br.Success = false;
                    br.Level   = ErrorLevel.Warning;
                    br.Message.Add("该用户没有分配供应商角色!");
                    return(Json(br));
                }
                br = BusinessFactory.Goods.Add(model);
            }
            catch (CySoftException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(Json(br));
        }