Exemplo n.º 1
0
        public static IMvcResult AsMVCResult(this ActionResult actionResult)
        {
            IMvcResult mvcResult = new MvcResult();
            var properties = actionResult.GetType().GetProperties();

            if (properties != null)
            {
                mvcResult.Controller = (string)properties.Where(p => p.Name == "Controller").First().GetValue(actionResult, null);
                mvcResult.Action = (string)properties.Where(p => p.Name == "Action").First().GetValue(actionResult, null);
                mvcResult.RouteValueDictionary = (RouteValueDictionary)properties.Where(p => p.Name == "RouteValueDictionary").First().GetValue(actionResult, null);
            }

            return mvcResult;
        }
Exemplo n.º 2
0
		/// <summary>
		/// 	implement for real calling to mvc
		/// </summary>
		/// <param name="query"> </param>
		/// <returns> </returns>
		protected override MvcResult InternalCall(MvcQuery query) {
			var ctx = new MvcContext();
			var sw = new StringWriter();
			ctx.Output = sw;
			query.Setup("http://localhost/", ctx);
			var handler = Container.Get<IMvcHandler>();
			var result = new MvcResult();
			try {
				handler.ProcessRequest(ctx);

				result.ActionResult = ctx.ActionResult;
				result.Content = sw.ToString();
				result.ETag = ctx.Etag;
				result.LastModified = ctx.LastModified;
				result.Status = ctx.StatusCode;
				result.Error = ctx.Error;
			}
			catch (Exception e) {
				result.Error = e;
			}
			return result;
		}
Exemplo n.º 3
0
        public override void SaveDataFields(MvcPostValue MvcPost, MvcResult result)
        {
            if (this.ActionContext.ActivityCode == "Activity25")
            {
                if (MvcPost.Command == "Submit")
                {
                    var projectNum = ActionContext.BizObject.GetValue("ProjectNum");

                    var projectId = ActionContext.BizObject.GetValue("ProjectId");

                    var projectMember = (BizObject[])ActionContext.BizObject.GetValue("ProjectMember");

                    if (projectMember != null)
                    {
                        for (int i = 0; i < projectMember.Length; i++)
                        {
                            var fullName      = projectMember[i]["FullName"].ToString();
                            var userRole      = projectMember[i]["UserRole"].ToString();
                            var department    = projectMember[i]["Department"].ToString();
                            var profession    = projectMember[i]["Profession"].ToString();
                            var jobTitle      = projectMember[i]["JobTitle"].ToString();
                            var qualification = projectMember[i]["Qualification"].ToString();
                            var userId        = projectMember[i]["UserId"].ToString();
                            System.Data.DataTable resultDt = OThinker.H3.Controllers.AppUtility.Engine.EngineConfig.CommandFactory.CreateCommand().ExecuteDataTable("    INSERT INTO ProjectMember(ProjectNum," +
                                                                                                                                                                    " ProjectId, FullName, UserRole, Department, Profession, JobTitle, Qualification, UserId)" +
                                                                                                                                                                    "VALUES( '" + projectNum + "','" + projectId + "','" + fullName + "','" + userRole + "','" +
                                                                                                                                                                    department + "','" + profession + "','" + jobTitle + "','" + qualification + "','" + userId + "')");
                        }
                    }
                }
            }



            //保存后执行操作,
            base.SaveDataFields(MvcPost, result);
        }
Exemplo n.º 4
0
 public override void Submit(MvcPostValue MvcPostValue, MvcResult MvcResult)
 {
     if (this.ActionContext.ActivityCode == "submit")
     {
         var    smid = ActionContext.BizObject.GetValue("SMId");
         String sql  = "SELECT sd.Type, sd.MaterialName, sd.Model, sd.Note, sd.Num, sd.Price, sd.Cost FROM I_SpecialMaterials sm " +
                       "LEFT JOIN I_SpMaterialDetails sd ON sm.ObjectID = sd.ParentObjectID " +
                       "WHERE  sm.ObjectID = " + "'" + smid + "'";
         System.Data.DataTable dt = OThinker.H3.Controllers.AppUtility.Engine.EngineConfig.CommandFactory.CreateCommand().ExecuteDataTable(sql);
         if (dt.Rows.Count > 0)
         {
             for (int i = 0; i < dt.Rows.Count; i++)
             {
                 var name  = dt.Rows[i]["MaterialName"].ToString();
                 var model = dt.Rows[i]["Model"].ToString();
                 var num   = dt.Rows[i]["Num"].ToString();
                 //库存减去领用数量
                 System.Data.DataTable dt2 = OThinker.H3.Controllers.AppUtility.Engine.EngineConfig.CommandFactory.CreateCommand().ExecuteDataTable("UPDATE I_Consumables  " +
                                                                                                                                                    "SET Num =Num" + "-'" + num + "'" + " WHERE Model=" + "'" + model + "'" + "AND SName=" + "'" + name + "'");
             }
         }
     }
     base.Submit(MvcPostValue, MvcResult);
 }
Exemplo n.º 5
0
 public override void SaveDataFields(MvcPostValue MvcPost, MvcResult result)
 {
     if (MvcPost.Command == "Submit")
     {
         base.SaveDataFields(MvcPost, result);
         BizObject[] list = this.ActionContext.InstanceData["ProjectMembers"].Value as BizObject[];
         if (list != null || !"".Equals(list))
         {
             for (int i = 0; i < list.Length; i++)
             {
                 String UserId          = list[i].GetValue("UserId");
                 String Name            = list[i].GetValue("FullName");
                 String PersonRole      = list[i].GetValue("PersonRole");
                 String Department      = list[i].GetValue("Department");
                 String Profession      = list[i].GetValue("Profession");
                 String JobTitle        = list[i].GetValue("JobTitle");
                 String GNVQ            = list[i].GetValue("GNVQ");
                 String AppointmentDate = list[i].GetValue("AppointmentDate");
                 String ResidentDate    = list[i].GetValue("ResidentDate");
             }
         }
         // var i = list.Length();
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// 保存表单数据到引擎中
 /// </summary>
 /// <param name="Args"></param>
 public override void SaveDataFields(MvcPostValue MvcPost, MvcResult result)
 {
     // 保存后,后台执行事件
     base.SaveDataFields(MvcPost, result);
 }
        /// <summary>
        /// 保存表单数据到引擎中
        /// </summary>
        /// <param name="Args"></param>
        public override void SaveDataFields(MvcPostValue MvcPost, MvcResult result)
        {
            try
            {
                MvcDataItem type = new MvcDataItem();
                MvcPost.BizObject.DataItems.TryGetValue("APPLICANT_TYPE", out type);
                var dataJson = JsonConvert.SerializeObject(MvcPost.BizObject.DataItems);
                var r        = JsonConvert.DeserializeObject <List <System.Collections.Generic.Dictionary <object, object> > >(JsonConvert.SerializeObject(type.V));
                if (r.Count() > 0)
                {
                    var    name     = r[0]["NAME1"] + string.Empty;
                    string msg      = "";
                    bool   isInject = new DongZheng.H3.WebApi.Controllers.XssAttribute().IsContainXSSCharacter(name, out msg);
                    if (isInject)
                    {
                        result.Successful = false;
                        result.Errors.Add("检测到SQL敏感字符");
                        return;
                    }
                    isInject = new DongZheng.H3.WebApi.Controllers.SqlInjectAttribute().IsSqlInjectCharacter(name, out msg);
                    if (isInject)
                    {
                        result.Successful = false;
                        result.Errors.Add("检测到XSS敏感字符");
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
            }

            // 保存后,后台执行事件
            base.SaveDataFields(MvcPost, result);

            string Command = Request["Command"] + string.Empty;

            //1.判断是否成功保存
            if (result.Successful && Command.ToLower() == MvcController.Button_Submit)
            {
                var version        = 1;
                var tokenId        = 1;
                var fields         = this.ActionContext.Schema.Fields;
                var sheetDataType  = this.ActionContext.SheetDataType;
                var clientActivity = (H3.WorkflowTemplate.ClientActivity) this.ActionContext.ActivityTemplate;
                var context        = this.ActionContext.Engine.InstanceManager.GetInstanceContext(this.ActionContext.InstanceId);
                if (context != null)
                {
                    var tokens = context.GetTokens("Activity2", Instance.TokenState.Unspecified).OrderByDescending(p => p.CreatedTime);
                    version = tokens.Count() == 0 ? 1 : tokens.Count();
                    tokenId = tokens.Count() == 0 ? 1 : tokens.FirstOrDefault().TokenId;
                }
                var instanceId = this.ActionContext.InstanceId;
                //2.记录数据变动日志
                Task.Run(() =>
                {
                    var trackResult = new DataLogger().DataTrack(MvcPost, fields, sheetDataType, clientActivity);
                    string sql      = "insert into H3.c_fidatatrack(objectid,instanceid,verson,activitycode,datatrack,tokenid,createdtime) values('" + Guid.NewGuid().ToString() + "','" + instanceId + "','" + version + "','Activity2',:content,'" + tokenId + "',to_date('" + DateTime.Now + "','yyyy/mm/dd HH24:MI:SS'))";
                    try
                    {
                        var i = 0;
                        string connectionCode       = "Engine";
                        var dbObject                = AppUtility.Engine.SettingManager.GetBizDbConnectionConfig(connectionCode);
                        OracleConnection connection = new OracleConnection(dbObject.DbConnectionString);
                        connection.Open();
                        OracleCommand Cmd    = new OracleCommand(sql, connection);
                        OracleParameter Temp = new OracleParameter("content", OracleType.NClob);
                        Temp.Direction       = ParameterDirection.Input;
                        Temp.Value           = trackResult;
                        Cmd.Parameters.Add(Temp);
                        i = Cmd.ExecuteNonQuery();
                        connection.Close();
                    }
                    catch (Exception ex)
                    {
                        AppUtility.Engine.LogWriter.Write("保存风控报告数据异常:" + ex.ToString());
                    }
                }).GetAwaiter();
            }
        }
        public override void SaveDataFields(MvcPostValue MvcPost, MvcResult result)
        {
            MvcPost.BizObject.DataItems.SetValue("aaaaaa", "21");

            base.SaveDataFields(MvcPost, result);
        }