Files
2024-11-26 20:15:16 +09:00

235 lines
5.7 KiB
C#

using System.Collections.Generic;
using System;
using System.Drawing;
using System.Diagnostics;
using System.Data;
using System.Collections;
using System.Windows.Forms;
using System.Linq;
using vmsnet;
namespace vmsnet
{
sealed class PUBC
{
/// <summary>
/// 설정된 DEVICE 의 채널 갯수를반환
/// </summary>
/// <returns></returns>
/// <remarks></remarks>
public static int GetChannelCount()
{
int chcount = 0;
foreach (DocumentElement.DEVICERow DR in PUB.DS.DEVICE.Select("use=1")) // Dt.Rows
{
string buf = DR.CHCOUNT;
if (buf.Trim() == "")
{
continue;
}
foreach (string C in buf.Split(",".ToCharArray()))
{
int cc = 0;
if (C.IndexOf("*") == -1)
{
cc = int.Parse(C);
}
else
{
cc = System.Convert.ToInt32(C.Split("*".ToCharArray())[1]);
}
chcount += cc;
}
}
return chcount;
}
public static int GetUseDeviceCount()
{
return PUB.DS.DEVICE.Select("use=1").Length;
}
public static int GetWindowCount()
{
var dr = PUB.DS.WIN.Select("use=1") as DocumentElement.WINRow[];
return dr.Length;
}
public static string GetWindowName(int idx)
{
var dr = PUB.DS.WIN.Select("IDX=" + System.Convert.ToString(idx)) as DocumentElement.WINRow[];
if (dr.Length != 1)
{
return "";
}
return dr[0].TITLE;
}
public static string GetGrpName(int idx)
{
var dr = PUB.DS.GRP.Select("IDX=" + System.Convert.ToString(idx)) as DocumentElement.GRPRow[];
if (dr.Length != 1)
{
return "";
}
return dr[0].TITLE;
}
public static string GetChannelName(int idx)
{
var dr = PUB.DS.CHANNEL.Select("IDX=" + System.Convert.ToString(idx)) as DocumentElement.CHANNELRow[];
if (dr.Length != 1)
{
return "";
}
return dr[0].TITLE;
}
/// <summary>
/// 널밸런스 옵셋값을 설정합니다.
/// </summary>
/// <param name="idx"></param>
/// <param name="nb"></param>
/// <returns></returns>
/// <remarks></remarks>
public static bool UpdateNullBalanceOffset(int idx, float nb)
{
//Dim sql As String = "UPDATE GRP set NBOFF=" & value & " WHERE IDX=" & idx
var DR = PUB.DS.GRP.Select("idx=" + idx.ToString()) as DocumentElement.GRPRow[];
if (DR.Length != 1)
{
return false;
}
DR[0].NBOFF = nb;
DR[0].AcceptChanges();
PUB.DS.GRP.AcceptChanges();
return true;
}
/// <summary>
/// viewgoupr에 데이터를 넣습니다.
/// </summary>
/// <param name="title"></param>
/// <param name="val"></param>
/// <param name="gname"></param>
/// <returns></returns>
/// <remarks></remarks>
public static short AddviewGroup(string title, string val, string gname)
{
var maxidrow = PUB.DS.VIEWGROUP.Select("", "idx desc") as DocumentElement.VIEWGROUPRow[];
short maxid = (short) 0;
if (maxidrow.GetUpperBound(0) == -1)
{
maxid = (short) 1;
}
else
{
////160315 error
maxid = (short) (maxidrow[0].IDX + 1);
}
try
{
DocumentElement.VIEWGROUPRow newdr = PUB.DS.VIEWGROUP.NewVIEWGROUPRow();
newdr.IDX = maxid;
newdr.TITLE = title;
newdr.VAL = val;
newdr.GNAME = gname;
PUB.DS.VIEWGROUP.AddVIEWGROUPRow(newdr);
PUB.DS.VIEWGROUP.AcceptChanges();
return maxid;
}
catch (Exception)
{
return (short) -1;
}
}
public static bool DeleteViewGroup(int gidx, string gname)
{
var dr = PUB.DS.VIEWGROUP.Select("idx=" + gidx.ToString() + " and gname='" + gname + "'") as DocumentElement.VIEWGROUPRow[];
if (dr.Length == 1)
{
PUB.DS.VIEWGROUP.Rows.Remove(dr[0]);
PUB.DS.VIEWGROUP.AcceptChanges();
}
else
{
return false;
}
return true;
}
public static bool UpdateGroup(int idx, string alamtype, float alamh, float alaml, float autoh, float autol, float nbh, float nbl)
{
//string sql = "update GRP set ALAMTYPE=@ALAMTYPE,ALAMH=@ALAMH,ALAML=@ALAML,AUTOH=@AUTOH,AUTOL=@AUTOL,NBH=@NBH,NBL=@NBL WHERE IDX=" + System.Convert.ToString(idx);
var dr = PUB.DS.GRP.Select("idx=" + idx.ToString()) as DocumentElement.GRPRow[];
if (dr.Length == 1)
{
DocumentElement.GRPRow Drow = dr[0];
Drow.ALAMTYPE = alamtype;
Drow.ALAMH = alamh;
Drow.ALAML = alaml;
Drow.AUTOH = autoh;
Drow.AUTOL = autol;
Drow.NBH = nbh;
Drow.NBL = nbl;
Drow.AcceptChanges();
PUB.DS.AcceptChanges();
}
else
{
return false;
}
return true;
}
public static dynamic UpdateWin(int idx, string title)
{
//string sql = "UPDATE WIN set TITLE=@TITLE WHERE IDX=@IDX";
var Drow = PUB.DS.WIN.Where(t => t.IDX == idx).FirstOrDefault();// Select("idx=" + idx.ToString()) as DocumentElement.WINRow[];
if (Drow != null)
{
//DocumentElement.WINRow Drow = dr[0];
Drow.TITLE = title;
Drow.EndEdit();
Drow.AcceptChanges();
PUB.DS.AcceptChanges();
}
else
{
return false;
}
return true;
}
public static bool UpdateChannel(int idx, string title, int alamtype, int enable, float alamh, float alaml, float autoh, float autol)
{
//string sql = "UPDATE CHANNEL set TITLE=@TITLE,ALAMTYPE=@ALAMTYPE,ENABLE=@ENABLE,ALAMH=@ALAMH,ALAML=@ALAML,AUTOH=@AUTOH,AUTOL=@AUTOL WHERE IDX=@IDX";
var Drow = PUB.DS.CHANNEL.Where(t => t.IDX == idx).FirstOrDefault();// .Select("idx=" + idx.ToString()) as DocumentElement.CHANNELRow[];
if (Drow != null)
{
//DocumentElement.CHANNELRow Drow = dr[0];
Drow.TITLE = title;
Drow.ALAMTYPE = alamtype;
Drow.ENABLE = enable;
Drow.ALAMH = alamh;
Drow.ALAML = alaml;
Drow.AUTOH = autoh;
Drow.AUTOL = autol;
Drow.EndEdit();
Drow.AcceptChanges();
PUB.DS.AcceptChanges();
}
else
{
return false;
}
return true;
}
}
}