Beispiel #1
0
        public static List <AppParam> FillCollection(IDataReader _dr)
        {
            List <AppParam> list = new List <AppParam>();

            try
            {
                while (_dr.Read())
                {
                    AppParam appParam = new AppParam();
                    appParam.Id        = _dr["Id"].ToString();
                    appParam.Type      = _dr["Type"].ToString();
                    appParam.Code      = _dr["Code"].ToString();
                    appParam.Name      = _dr["Name"].ToString();
                    appParam.Value     = _dr["Value"].ToString();
                    appParam.OrderNo   = ConvertHelper.ToInt32(_dr["OrderNo"], 0);
                    appParam.Status    = ConvertHelper.ToInt32(_dr["Status"], 0);
                    appParam.CreatedBy = _dr["CreatedBy"].ToString();
                    appParam.CreatedAt = ConvertHelper.ToDateTime(_dr["CreatedAt"], DateTime.Now);
                    appParam.UpdatedBy = _dr["UpdatedBy"].ToString();
                    appParam.UpdatedAt = ConvertHelper.ToDateTime(_dr["UpdatedAt"], DateTime.Now);
                    appParam.IsDeleted = ConvertHelper.ToInt32(_dr["IsDeleted"], 0);
                    if (list.IndexOf(appParam) < 0)
                    {
                        list.Add(appParam);
                    }
                }
            }
            catch (Exception)
            {
                _dr.Close();
            }
            return(list);
        }
Beispiel #2
0
        public ExcutionResult Save(AppParam appParam, string userId)
        {
            ExcutionResult rowAffected = new ExcutionResult();

            try
            {
                var param = AppParamManager.GetById(appParam.Id);
                var now   = DateTime.Now;
                if (param == null)
                {
                    appParam.CreatedAt = now;
                    appParam.CreatedBy = userId;
                    rowAffected        = AppParamManager.Insert(appParam);
                }
                else
                {
                    appParam.UpdatedAt = now;
                    appParam.UpdatedBy = userId;
                    rowAffected        = AppParamManager.Update(appParam);
                }
            }
            catch (Exception e)
            {
                rowAffected.ErrorCode = 1;
                rowAffected.Message   = e.Message;
                _iLogger.LogError(e.Message, e);
            }
            return(rowAffected);
        }
Beispiel #3
0
        public ExcutionResult Delete(AppParam appParam)
        {
            ExcutionResult rowAffected = new ExcutionResult();

            try
            {
                Database db = this.GetDatabase();
                string   storeNameProcedure = "AppParam_Delete";
                using (DbCommand dbCommand = db.GetStoredProcCommand(storeNameProcedure))
                {
                    db.AddInParameter(dbCommand, "Id", DbType.String, appParam.Id);
                    db.AddOutParameter(dbCommand, "IsCheck", DbType.Int32, 0x20);
                    db.ExecuteNonQuery(dbCommand);
                    var isCheck = ConvertHelper.ToInt32(db.GetParameterValue(dbCommand, "IsCheck"), 0);
                    if (isCheck == 1)
                    {
                        rowAffected.Message = "Delete failed";
                    }
                }
            }
            catch (Exception e)
            {
                rowAffected.ErrorCode = 1;
                rowAffected.Message   = e.Message;
            }
            return(rowAffected);
        }
Beispiel #4
0
        public IActionResult Save(AppParam appParam)
        {
            string userId = this.GetUserId();
            var    rs     = _appParamService.Save(appParam, userId);

            return(Ok(rs));
        }
 public static void Update(AppParam param)
 {
     using (PMEntity pmEntity = new PMEntity())
     {
         AppParam appParam = pmEntity.Params.FirstOrDefault <AppParam>();
         if (appParam == null)
         {
             return;
         }
         foreach (PropertyInfo property in param.GetType().GetProperties())
         {
             if (!string.Equals(property.Name, "Id", StringComparison.OrdinalIgnoreCase))
             {
                 property.SetValue((object)appParam, property.GetValue((object)param, (object[])null), (object[])null);
             }
         }
         pmEntity.SaveChanges();
     }
 }
Beispiel #6
0
        public static AppParam FillObject(IDataReader _dr)
        {
            List <AppParam> list = new List <AppParam>();

            try
            {
                while (_dr.Read())
                {
                    AppParam appParam = new AppParam();
                    appParam.Id        = _dr["Id"].ToString();
                    appParam.Type      = _dr["Type"].ToString();
                    appParam.Code      = _dr["Code"].ToString();
                    appParam.Name      = _dr["Name"].ToString();
                    appParam.Value     = _dr["Value"].ToString();
                    appParam.OrderNo   = ConvertHelper.ToInt32(_dr["OrderNo"], 0);
                    appParam.Status    = ConvertHelper.ToInt32(_dr["Status"], 0);
                    appParam.CreatedBy = _dr["CreatedBy"].ToString();
                    appParam.CreatedAt = ConvertHelper.ToDateTime(_dr["CreatedAt"], DateTime.Now);
                    appParam.UpdatedBy = _dr["UpdatedBy"].ToString();
                    appParam.UpdatedAt = ConvertHelper.ToDateTime(_dr["UpdatedAt"], DateTime.Now);
                    appParam.IsDeleted = ConvertHelper.ToInt32(_dr["IsDeleted"], 0);
                    if (list.IndexOf(appParam) < 0)
                    {
                        list.Add(appParam);
                    }
                    if (list.Count > 0)
                    {
                        AppParam[] appParams = list.ToArray();
                        if (appParams != null && appParams.Length > 0)
                        {
                            return(appParams[0]);
                        }
                    }
                }
            }
            catch (Exception)
            {
                _dr.Close();
            }
            return(null);
        }
Beispiel #7
0
        public AppParam GetById(string id)
        {
            AppParam appParam = new AppParam();

            try
            {
                Database  db = this.GetDatabase();
                string    storeNameProcedure = "AppParam_Get_By_Id";
                DbCommand dbCommand          = db.GetStoredProcCommand(storeNameProcedure);
                db.AddInParameter(dbCommand, "Id", DbType.String, id);
                using (IDataReader dataReader = db.ExecuteReader(dbCommand))
                {
                    appParam = FillObject(dataReader);
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(appParam);
        }
Beispiel #8
0
        public ExcutionResult Update(AppParam appParam)
        {
            ExcutionResult rowAffected = new ExcutionResult();

            try
            {
                Database db = this.GetDatabase();
                string   storeNameProcedure = "AppParam_Update";
                using (DbCommand dbCommand = db.GetStoredProcCommand(storeNameProcedure))
                {
                    db.AddInParameter(dbCommand, "Id", DbType.String, appParam.Id);
                    db.AddInParameter(dbCommand, "Type", DbType.String, appParam.Type);
                    db.AddInParameter(dbCommand, "Code", DbType.String, appParam.Code);
                    db.AddInParameter(dbCommand, "Name", DbType.String, appParam.Name);
                    db.AddInParameter(dbCommand, "Value", DbType.String, appParam.Value);
                    db.AddInParameter(dbCommand, "OrderNo", DbType.Int32, appParam.OrderNo);
                    db.AddInParameter(dbCommand, "Status", DbType.Int32, appParam.Status);
                    db.AddInParameter(dbCommand, "CreatedBy", DbType.String, appParam.CreatedBy);
                    db.AddInParameter(dbCommand, "CreatedAt", DbType.DateTime, appParam.CreatedAt);
                    db.AddInParameter(dbCommand, "UpdatedBy", DbType.String, appParam.UpdatedBy);
                    db.AddInParameter(dbCommand, "UpdatedAt", DbType.DateTime, appParam.UpdatedAt);
                    db.AddInParameter(dbCommand, "IsDeleted", DbType.Int32, appParam.IsDeleted);
                    db.AddOutParameter(dbCommand, "IsCheck", DbType.Int32, 0x20);
                    db.ExecuteNonQuery(dbCommand);
                    var isCheck = ConvertHelper.ToInt32(db.GetParameterValue(dbCommand, "IsCheck"), 0);
                    if (isCheck == 1)
                    {
                        rowAffected.Message = "Update no success";
                    }
                }
            }
            catch (Exception e)
            {
                rowAffected.ErrorCode = 1;
                rowAffected.Message   = e.Message;
            }
            return(rowAffected);
        }
        public static ExcutionResult Delete(AppParam appParam)
        {
            ExcutionResult rowAffected = provider.Delete(appParam);

            return(rowAffected);
        }
        public static ExcutionResult Insert(AppParam appParam)
        {
            ExcutionResult rowAffected = provider.Insert(appParam);

            return(rowAffected);
        }
        private void HandleCreateApp(object param)
        {
            List <object> addedList = new List <object>();

            try
            {
                //
                int childrenCnt = (from i in DbContext.ProjectParts
                                   where i.ParentPart == Part.Id
                                   select i).Count();
                if (childrenCnt > 0)
                {
                    throw new Exception("只能在没有子结点的部位创建测点");
                }

                int appCnt = (from s in DbContext.Apps
                              where s.AppName == NewApp.AppName || s.CalculateName == NewApp.CalculateName
                              select s).Count();
                if (appCnt > 0)
                {
                    throw new Exception("新测点的名称或计算名称已存在,无法创建");
                }

                App needAddApp = new App();


                needAddApp.Id            = Guid.NewGuid();
                needAddApp.ProjectPartID = Part.Id;

                needAddApp.AppName       = NewApp.AppName;
                needAddApp.CalculateName = NewApp.CalculateName;
                needAddApp.BuriedTime    = NewApp.BuriedTime;
                needAddApp.X             = NewApp.X;
                needAddApp.Y             = NewApp.Y;
                needAddApp.Z             = NewApp.Z;
                needAddApp.OtherInfo     = NewApp.OtherInfo;



                DbContext.AddToApps(needAddApp);
                addedList.Add(needAddApp);


                DbContext.SaveChanges();
                _currentApps.Add(needAddApp);

                if (AllowClone)
                {
                    //clone app params

                    if (CloneAppName.Trim().Length == 0)
                    {
                        throw new Exception("当选择克隆时,模板测点不能为空");
                    }

                    if (cloneApp == null)
                    {
                        cloneApp = (from s in DbContext.Apps
                                    where s.AppName == CloneAppName
                                    select s).FirstOrDefault();
                        if (cloneApp == null)
                        {
                            throw new Exception(string.Format("找不到测点编号为{0}的测点", CloneAppName));
                        }
                    }

                    DbContext.LoadProperty(cloneApp, "AppParams");


                    var paramsList  = new List <AppParam>();
                    var formulaList = new List <Formula>();

                    foreach (var item in cloneApp.AppParams)
                    {
                        AppParam newParam = null;
                        if (item is ConstantParam)
                        {
                            newParam = new ConstantParam();
                            (newParam as ConstantParam).Val = (item as ConstantParam).Val;
                        }
                        else if (item is MessureParam)
                        {
                            newParam = new MessureParam();
                        }
                        else if (item is CalculateParam)
                        {
                            newParam = new CalculateParam();
                        }

                        //set values
                        newParam.Id           = Guid.NewGuid();
                        newParam.AppId        = needAddApp.Id;
                        newParam.ParamName    = item.ParamName;
                        newParam.ParamSymbol  = item.ParamSymbol;
                        newParam.PrecisionNum = item.PrecisionNum;
                        newParam.UnitSymbol   = item.UnitSymbol;
                        newParam.Order        = item.Order;
                        newParam.Description  = item.Description;

                        paramsList.Add(newParam);

                        //DbContext.AddToAppParams(newParam);
                        //addedList.Add(newParam);

                        //clone formules
                        if (item is CalculateParam)
                        {
                            CalculateParam cp       = item as CalculateParam;
                            var            formulae = (from i in DbContext.Formulae
                                                       where i.ParamId == cp.Id
                                                       select i).ToList();
                            foreach (var fl in formulae)
                            {
                                Formula newfl = new Formula();
                                newfl.Id                = Guid.NewGuid();
                                newfl.ParamId           = newParam.Id;
                                newfl.FormulaExpression = fl.FormulaExpression;
                                newfl.StartDate         = fl.StartDate;
                                newfl.EndDate           = fl.EndDate;
                                newfl.CalculateOrder    = fl.CalculateOrder;

                                formulaList.Add(newfl);
                                //DbContext.AddToFormulae(newfl);
                                //addedList.Add(newfl);
                            }
                        }
                    }

                    ParamsDTO dto = new ParamsDTO();
                    dto.AddedParams   = paramsList;
                    dto.AddedFormulae = formulaList;

                    DbContext.UpdateAppParams(dto);
                }



                var msg = new DialogMessage("测点创建成功并已添加到相关的工程部位中。", result =>
                {
                });

                msg.Caption = "创建成功";
                msg.Button  = MessageBoxButton.OK;
                msg.Icon    = MessageBoxImage.Information;

                Messenger.Default.Send <DialogMessage>(msg);
            }
            catch (Exception ex)
            {
                Messenger.Default.Send <Exception>(ex);
                //reject the changes
                foreach (object item in addedList)
                {
                    DbContext.Detach(item);
                }
            }
            finally
            {
                // DbContext.Detach(NewApp);
            }
        }