Exemplo n.º 1
0
        public ActionResult BimModel(long id)
        {
            Result <Epm_Bim>       result = new Result <Epm_Bim>();
            List <Epm_QuestionBIM> list   = new List <Epm_QuestionBIM>();

            using (ClientSiteClientProxy proxy = new ClientSiteClientProxy(ProxyEx(Request)))
            {
                result = proxy.GetBimModel(id);

                var qbList = proxy.GetComponentListByBimId(id).Data;
                if (qbList != null)
                {
                    Epm_QuestionBIM qm = null;
                    foreach (var item in qbList)
                    {
                        qm                   = new Epm_QuestionBIM();
                        qm.ComponentId       = item.ComponentId;       //"1036857218118586368_317829";
                        qm.ComponentPosition = item.ComponentPosition; // "3157.9013671875,-47.87890625,-298.1455078125,0.7853981633974483,0,0.7853981633974483,-14252.572887584003,-5468.046301073756,-5862.356906876444";
                        list.Add(qm);
                    }
                }
            }

            ViewBag.ProjectId   = result.Data.ProjectId;
            ViewBag.ProjectName = result.Data.ProjectName;
            ViewBag.UserName    = CurrentUser.RealName;

            ViewBag.ComponentJson = JsonConvert.SerializeObject(list);

            return(View(result.Data));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 添加问题关联模型
        /// </summary>
        /// <param name="model"></param>
        /// <param name="componentIds"></param>
        /// <returns></returns>
        public Result <int> AddQuestionBIM(Epm_QuestionBIM model, string componentIds)
        {
            Result <int> result = new Result <int>();

            try
            {
                if (!string.IsNullOrEmpty(componentIds))
                {
                    //首先删除同一模型同一检查详情下的所有模型组件
                    var componentList = DataOperateBusiness <Epm_QuestionBIM> .Get().GetList(i => i.QuestionId == model.QuestionId && i.BIMId == model.BIMId).ToList();

                    if (componentList.Count > 0)
                    {
                        foreach (var item in componentList)
                        {
                            item.OperateUserId   = CurrentUserID.ToLongReq();
                            item.OperateUserName = CurrentUserName;
                            item.OperateTime     = DateTime.Now;
                            item.DeleteTime      = DateTime.Now;
                        }
                        DataOperateBusiness <Epm_QuestionBIM> .Get().DeleteRange(componentList);
                    }

                    //获取组件ID集合
                    var componentIdList             = componentIds.SplitString(",");
                    List <Epm_QuestionBIM> dataList = new List <Epm_QuestionBIM>();
                    foreach (var item in componentIdList)
                    {
                        Epm_QuestionBIM temp = new Epm_QuestionBIM();
                        temp = base.SetCurrentUser(temp);
                        temp.CrtCompanyId   = CurrentCompanyID.ToLongReq();
                        temp.CrtCompanyName = CurrentCompanyName;

                        temp.QuestionId  = model.QuestionId;
                        temp.BIMId       = model.BIMId;
                        temp.BIMName     = model.BIMName;
                        temp.ComponentId = item;
                        dataList.Add(temp);
                    }
                    //批量添加问题管理关联模型
                    var rows = DataOperateBusiness <Epm_QuestionBIM> .Get().AddRange(dataList);

                    result.Data = rows;
                    result.Flag = EResultFlag.Success;
                    WriteLog(BusinessType.Plan.GetText(), SystemRight.Add.GetText(), "新增:添加问题关联模型 " + model.Id);
                }
                else
                {
                    throw new Exception("没有选择关联组件,请选择要关联的组件!");
                }
            }
            catch (Exception ex)
            {
                result.Data      = -1;
                result.Flag      = EResultFlag.Failure;
                result.Exception = new ExceptionEx(ex, "AddQuestionBIM");
            }
            return(result);
        }