示例#1
0
        public async Task <MSGReturnModels> DeleteMessageBySequenceID(int sequenceID)
        {
            var returnModel = new MSGReturnModels();

            try
            {
                var oMSG = _db.OMSG.Find(sequenceID);
                if (oMSG != null)
                {
                    oMSG.Status = -1;
                }
                else
                {
                    returnModel.ErrMSG = "找不到相应的数据";
                    return(returnModel);
                }
                _db.SaveChanges();
                returnModel.ErrMSG     = "";
                returnModel.SequenceId = sequenceID;
                return(returnModel);
            }
            catch (Exception ex)
            {
                returnModel.ErrMSG     = ex.Message + ex.InnerException.InnerException.Message;
                returnModel.SequenceId = sequenceID;
                return(returnModel);
            }
        }
示例#2
0
        public async Task <MSGReturnModels> AddAdminUser(AddAdminUser token)
        {
            var errMSG      = "";
            var returnModel = new MSGReturnModels();

            try
            {
                var localtoken = ConfigurationManager.AppSettings["Token"];
                if (localtoken != token.token)
                {
                    returnModel.ErrMSG = "token不对,你没有权限增加管理员用户";
                    return(returnModel);
                }
                var adminUserName = ConfigurationManager.AppSettings["UserName"];
                var adminPassWord = ConfigurationManager.AppSettings["PassWord"];
                var isReset       = ConfigurationManager.AppSettings["IsReset"];

                if (isReset == "false")
                {
                    var user = new ApplicationUser()
                    {
                        UserName = adminUserName, Email = adminUserName, SystemCode = "Admin", Active = true, Remark = "管理员用户"
                    };
                    IdentityResult result = UserManager.Create(user, adminPassWord);

                    if (!result.Succeeded)
                    {
                        returnModel.ErrMSG = "创建用户失败" + string.Join(",", result.Errors);
                        return(returnModel);
                    }
                }
                else
                {
                    var user =
                        UserManager.Users
                        .FirstOrDefault(p => p.Email == adminUserName && p.UserName == adminUserName);
                    var updateUser = new ApplicationUser()
                    {
                        UserName = adminUserName, Email = adminUserName
                    };
                    UserManager.Delete(user);
                    IdentityResult result = UserManager.Create(user, adminPassWord);
                    returnModel.ErrMSG = "";
                    if (!result.Succeeded)
                    {
                        returnModel.ErrMSG = "创建用户失败" + string.Join(",", result.Errors);
                        return(returnModel);
                    }
                }
            }
            catch (Exception ex)
            {
                returnModel.ErrMSG     = "创建用户失败" + ex.Message;
                returnModel.SequenceId = null;
                return(returnModel);
            }
            return(returnModel);
        }
示例#3
0
        public async Task <MSGReturnModels> ResetMessageBySequenceID(MSGBindingModels MSG)
        {
            var returnModel = new MSGReturnModels();

            try
            {
                var oMSG     = MSG.OMSG;
                var MSG1     = MSG.MSG1;
                var objModel = _db.OMSG.Find(oMSG.SequenceID);

                //if (_db.OMSG.Find(oMSG.SequenceID) == null)
                if (objModel == null)
                {
                    returnModel.ErrMSG = "找不到相应的消息对象,无法进行重置";
                    return(returnModel);
                }

                oMSG.UpDateTime = DateTime.Now;
                oMSG.Status     = 0;
                _db.MSG1.AddOrUpdate(MSG1);
                _db.OMSG.AddOrUpdate(oMSG);
                //先写入日志表MSG1_LOG,然后再保存(需要记录更新前的XML内容)
                var sqlLog1 = string.Format(@"INSERT INTO DBO.IF_MSG1_LOG( SequenceID,Content ,iLength ,UpdateTime ,UpdateUser)
                                            SELECT T0.SequenceID,T0.Content,T0.iLength,GETDATE(),'{0}'
                                            FROM DBO.IF_MSG1 T0
                                            WHERE T0.SequenceID = {1}", userid, oMSG.SequenceID);
                _db.Database.ExecuteSqlCommand(sqlLog1);
                _db.SaveChanges();
                returnModel.ErrMSG     = "";
                returnModel.SequenceId = oMSG.SequenceID;
                return(returnModel);
            }
            catch (Exception ex)
            {
                returnModel.ErrMSG     = ex.Message + ex.InnerException.InnerException.Message;
                returnModel.SequenceId = MSG.OMSG.SequenceID;
                return(returnModel);
            }
        }
示例#4
0
        public async Task <MSGReturnModels> AddMessage(MSGBindingModels MSG)
        {
            var    returnModel     = new MSGReturnModels();
            string errMsgCheckData = string.Empty; //errMsgCheckData=""表示数据无异常,否则表示数据校验错误

            try
            {
                userid = HttpContext.Current.User.Identity.GetUserId();
                var systemCode = UserManager.FindById(userid).SystemCode;
                var oMSG       = MSG.OMSG;
                var MSG1       = MSG.MSG1;
                //数据初步验证
                var objectType = string.Empty;
                var transType  = string.Empty;
                objectType = oMSG.ObjectType;
                transType  = oMSG.TransType;
                if (systemCode.ToUpper() == "SAP")
                {
                    #region SAP接收
                    switch (objectType.ToUpper())
                    {
                    case "ITEMS":     //SAP发起
                                      //商品信息同步数据校验
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.ItemsDataCheck(transType, MSG1.Content);
                        break;

                    case "UDAOREW":    //SAP发起
                                       //发货区域
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDAOREWDataCheck(transType, MSG1.Content);
                        break;

                    case "WAREHOUSES":    //SAP发起
                                          //仓库主数据
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.WareshousesDataCheck(transType, MSG1.Content);
                        break;

                    case "UDAOITC":    //SAP发起
                                       //物料分类主数据
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDAOITCDataCheck(transType, MSG1.Content);
                        break;

                    case "OITT":    //SAP发起
                                    //加工BOM
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDAOITCDataCheck(transType, MSG1.Content);
                        break;

                    case "UDAOLIF":    //SAP发起
                                       //线路主数据
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDAOLIFDataCheck(transType, MSG1.Content);
                        break;

                    case "UDSORDER_P":    //SAP发起
                                          //订单已分拣状态数据提交
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDSORDER_PDataCheck(transType, MSG1.Content);
                        break;

                    case "UDIOOSO":    //SAP发起
                                       //订单发货送态
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDIOOSODataCheck(transType, MSG1.Content);
                        break;

                    case "UORDNL":    //SAP发起
                                      //退货入库
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UORDNLDataCheck(transType, MSG1.Content);
                        break;

                    case "UORCT":    //SAP发起
                                     //收款信息
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UORCTDataCheck(transType, MSG1.Content);
                        break;

                    default:
                        break;
                    }
                    #endregion
                }
                else
                {
                    #region SAP接收部分
                    switch (objectType.ToUpper())
                    {
                    case "BusinessPartners":    //SAP接收
                                                //会员资料
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.BusinessPartnersDataCheck(transType, MSG1.Content);
                        break;

                    case "UDSORDR":    //SAP接收
                                       //订单同步
                    {
                        if (transType.ToUpper() != "R")
                        {
                            //订单新增,修改,取消,删除,关闭
                            errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDSORDRDataCheck(transType, MSG1.Content);
                        }
                        else
                        {
                            //订单更改配送日期
                            errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UDSORDER_RDataCheck(transType, MSG1.Content);
                        }
                        break;
                    }

                    case "UOINV":    //SAP接收
                                     //开票信息
                                     //errMsgCheckData = Models.DataCheckSubmitBefore.UDSORDRDataCheck(transType, MSG1.Content);
                        break;

                    case "UORDNR":    //SAP接收
                                      //开票信息
                        errMsgCheckData = CommonModel.Models.DataCheckSubmitBefore.UORDNRDataCheck(transType, MSG1.Content);
                        break;

                    case "UORCRR":    //SAP接收
                                      //退款请求
                                      //errMsgCheckData = Models.DataCheckSubmitBefore.UORDNRDataCheck(transType, MSG1.Content);
                        break;

                    case "UORCTR":    //SAP接收
                                      //待收款请求列表
                                      //errMsgCheckData = Models.DataCheckSubmitBefore.UORDNRDataCheck(transType, MSG1.Content);
                        break;

                    default:
                        break;
                    }
                    #endregion
                }

                //如果同步数据校验错误,则抛出异常
                if (!string.IsNullOrEmpty(errMsgCheckData))
                {
                    returnModel.ErrMSG     = errMsgCheckData;
                    returnModel.SequenceId = null;
                    return(returnModel);
                }


                var sqlcmd     = String.Format(" EXEC DBO.U_IF_GetAutoKey 10 ");
                var sequenceId = _db.Database.SqlQuery <int>(sqlcmd).First();
                oMSG.SequenceID = sequenceId;
                oMSG.UpDateTime = DateTime.Now;
                MSG1.SequenceID = sequenceId;
                oMSG.FromSystem = systemCode;
                oMSG.Status     = 0;
                _db.MSG1.Add(MSG1);
                _db.OMSG.Add(oMSG);
                _db.SaveChanges();

                returnModel.ErrMSG     = "";
                returnModel.SequenceId = sequenceId;
                return(returnModel);
            }
            catch (Exception ex)
            {
                Logger.Writer("AddMessage:\r\n" + ex.Message);
                throw new MyHttpException("AddMessage:", ex);

                //returnModel.ErrMSG = ex.Message + ex.InnerException.InnerException.Message;
                //returnModel.SequenceId = null;
                //return returnModel;
            }
        }