Пример #1
0
        public JsonResult CustomAdd(JMP.MDL.CsComplainOrder mode)
        {
            object retJson = new { success = 0, msg = "操作失败" };

            if (mode.Id > 0)
            {
                #region 修改
                //得到一个实体对象
                cscomod = cscobll.GetModel(mode.Id);
                //拷贝
                var mocolne = cscomod.Clone();
                cscomod.ComplainTypeId      = mode.ComplainTypeId;
                cscomod.ComplainTypeName    = mode.ComplainTypeName;
                cscomod.ComplainDate        = mode.ComplainDate;
                cscomod.Envidence           = mode.Envidence;
                cscomod.DownstreamStartTime = mode.DownstreamStartTime;
                cscomod.DownstreamEndTime   = mode.DownstreamEndTime;

                if (cscobll.Update(cscomod))
                {
                    Logger.ModifyLog("修改投诉", mocolne, cscomod);

                    retJson = new { success = 1, msg = "修改成功" };
                }
                else
                {
                    retJson = new { success = 0, msg = "修改失败" };
                }
                #endregion
            }
            else
            {
                //判断该订单是否已经添加到投诉表中
                var exists = cscobll.GetModelList(string.Format("OrderNumber='{0}'", mode.OrderNumber.Replace("'", "''")));
                if (exists != null && exists.Count > 0)
                {
                    return(Json(new { success = 0, msg = "此订单已提交过了" }));
                }
                var time = DateTime.ParseExact(mode.OrderNumber.Substring(0, 8), "yyyyMMdd", CultureInfo.CurrentCulture);

                var tableName = WeekDateTime.GetOrderTableName(time.ToString(CultureInfo.InvariantCulture));

                mode.state       = 0;
                mode.CreatedOn   = DateTime.Now;
                mode.FounderId   = UserInfo.UserId;
                mode.FounderName = UserInfo.UserName;
                mode.OrderTable  = tableName;

                try
                {
                    //从订单归档表读取订单金额
                    var orderBll     = new JMP.BLL.jmp_order();
                    var archiveOrder = orderBll.FindOrderByTableNameAndOrderNo(tableName, mode.OrderNumber);
                    if (archiveOrder == null || archiveOrder.o_price <= 0)
                    {
                        retJson = new { success = 0, msg = "添加失败[读取订单金额失败]" };
                        GlobalErrorLogger.Log("添加失败[读取订单金额失败]", summary: "添加投诉失败");
                        return(Json(retJson));
                    }
                    mode.Price = archiveOrder.o_price;
                }
                catch (Exception ex)
                {
                    retJson = new { success = 0, msg = "添加失败[读取订单金额失败]" };
                    GlobalErrorLogger.Log("添加失败[读取订单金额失败]", summary: "添加投诉失败");
                    return(Json(retJson));
                }
                int num = cscobll.Add(mode);
                if (num > 0)
                {
                    Logger.CreateLog("添加投诉", mode);

                    retJson = new { success = 1, msg = "添加成功" };
                }
                else
                {
                    retJson = new { success = 0, msg = "添加失败" };
                }
            }
            return(Json(retJson));
        }