Add project files.
This commit is contained in:
9
SysApp/Models/ErrorViewModel.cs
Normal file
9
SysApp/Models/ErrorViewModel.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace SysApp.Models
|
||||
{
|
||||
public class ErrorViewModel
|
||||
{
|
||||
public string? RequestId { get; set; }
|
||||
|
||||
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
|
||||
}
|
||||
}
|
12
SysApp/Models/IPaging.cs
Normal file
12
SysApp/Models/IPaging.cs
Normal file
@ -0,0 +1,12 @@
|
||||
namespace SysApp.Models
|
||||
{
|
||||
public interface IPaging
|
||||
{
|
||||
bool IsFirstQuery { set; get; }
|
||||
int PageSize { set; get; }
|
||||
|
||||
int PageNumber { set; get; }
|
||||
|
||||
int MaxRow { set; get; }
|
||||
}
|
||||
}
|
17
SysApp/Models/MessageHeader.cs
Normal file
17
SysApp/Models/MessageHeader.cs
Normal file
@ -0,0 +1,17 @@
|
||||
namespace SysApp.Models
|
||||
{
|
||||
public class MessageHeader
|
||||
{
|
||||
public int ID { set; get; }
|
||||
|
||||
public string Message { set; get; }
|
||||
|
||||
/// <summary>
|
||||
/// Return Message Status
|
||||
/// 0 is Error
|
||||
/// 1 is Success
|
||||
/// </summary>
|
||||
public int Status { set; get; }
|
||||
|
||||
}
|
||||
}
|
17
SysApp/Models/ModelBase.cs
Normal file
17
SysApp/Models/ModelBase.cs
Normal file
@ -0,0 +1,17 @@
|
||||
namespace SysApp.Models
|
||||
{
|
||||
public abstract class ModelBase: IPaging
|
||||
{
|
||||
public abstract Task<MessageHeader> AddAsync();
|
||||
|
||||
public abstract Task<MessageHeader> UpdateAsync();
|
||||
|
||||
public abstract Task<MessageHeader> DeleteAsync();
|
||||
public bool IsFirstQuery { set; get; }
|
||||
public int PageSize { get; set; }
|
||||
public int PageNumber { get; set; }
|
||||
public int MaxRow { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
113
SysApp/Models/TypeStorageServerModel.cs
Normal file
113
SysApp/Models/TypeStorageServerModel.cs
Normal file
@ -0,0 +1,113 @@
|
||||
using Dapper;
|
||||
using SysApp.Dapper.AExtentions;
|
||||
using SysApp.DBModels;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using MySqlConnector;
|
||||
using Newtonsoft.Json;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Data.Common;
|
||||
|
||||
namespace SysApp.Models
|
||||
{
|
||||
public class TypeStorageServerModel: ModelBase, IPaging
|
||||
{
|
||||
public int ID { set; get; }
|
||||
public string Name { get; set; }
|
||||
|
||||
public override async Task<MessageHeader> AddAsync()
|
||||
{
|
||||
var f = new MessageHeader();
|
||||
try
|
||||
{
|
||||
using (var con = new MySqlConnection(DBManagement.GetConnectionString()))
|
||||
{
|
||||
await con.OpenAsync();
|
||||
await con.Insert(new TypeStorageServer { TypeName = Name });
|
||||
}
|
||||
f.Status = 1;
|
||||
f.Message = "OK";
|
||||
}
|
||||
catch(DbException ex)
|
||||
{
|
||||
f.Status = 0;
|
||||
f.Message = ex.Message;
|
||||
f.ID = 1001;
|
||||
}
|
||||
return f;
|
||||
}
|
||||
|
||||
public override Task<MessageHeader> DeleteAsync()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override async Task<MessageHeader> UpdateAsync()
|
||||
{
|
||||
var f = new MessageHeader();
|
||||
try
|
||||
{
|
||||
using (var con = new MySqlConnection(DBManagement.GetConnectionString()))
|
||||
{
|
||||
await con.OpenAsync();
|
||||
await con.Update(new TypeStorageServer { IdTypeStorageServer = ID, TypeName = Name });
|
||||
}
|
||||
f.Status = 1;
|
||||
f.Message = "OK";
|
||||
}
|
||||
catch (DbException ex)
|
||||
{
|
||||
f.Status = 0;
|
||||
f.Message = ex.Message;
|
||||
f.ID = 1002;
|
||||
}
|
||||
return f;
|
||||
}
|
||||
|
||||
public async Task<IActionResult> GetTypeStoragesAsync()
|
||||
{
|
||||
using (var con = new MySqlConnection(DBManagement.GetConnectionString()))
|
||||
{
|
||||
await con.OpenAsync();
|
||||
if (IsFirstQuery)
|
||||
{
|
||||
using (var multi = await con
|
||||
.QueryMultipleAsync("SELECT COUNT(*) FROM TypeStorageServer;" +
|
||||
"SELECT * FROM TypeStorageServer ORDER BY idTypeStorageServer DESC " +
|
||||
"OFFSET @Offset ROWS FETCH NEXT @PageSize ROWS ONLY", new { Offset = (PageNumber - 1) * PageSize, PageSize = this.PageSize }))
|
||||
{
|
||||
int maxRow = await multi.ReadSingleAsync<int>();
|
||||
IEnumerable<TypeStorageServer> types = await multi.ReadAsync<TypeStorageServer>();
|
||||
return new JsonResult(new
|
||||
{
|
||||
mrows = maxRow,
|
||||
data = JsonConvert.SerializeObject(types)
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
IEnumerable<TypeStorageServer> t = (await con
|
||||
.QueryAsync<TypeStorageServer>("SELECT * FROM TypeStorageServer ORDER BY idTypeStorageServer DESC " +
|
||||
"OFFSET @Offset ROWS FETCH NEXT @PageSize ROWS ONLY", new { Offset = (PageNumber - 1) * PageSize, PageSize = this.PageSize }));
|
||||
return new JsonResult(new
|
||||
{
|
||||
data = JsonConvert.SerializeObject(t)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task<IActionResult> GetAllTypeStorage()
|
||||
{
|
||||
using (var con = new MySqlConnection(DBManagement.GetConnectionString()))
|
||||
{
|
||||
IEnumerable<dynamic> t = await con
|
||||
.QueryAsync("SELECT idTypeStorageServer AS ID, TypeName AS Type FROM TypeStorageServer ORDER BY idTypeStorageServer ASC");
|
||||
return new JsonResult(new
|
||||
{
|
||||
data = JsonConvert.SerializeObject(t)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
117
SysApp/Models/ValidationDomainModel.cs
Normal file
117
SysApp/Models/ValidationDomainModel.cs
Normal file
@ -0,0 +1,117 @@
|
||||
|
||||
using Dapper;
|
||||
using SysApp.Dapper.AExtentions;
|
||||
using SysApp.DBModels;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using MySqlConnector;
|
||||
using Newtonsoft.Json;
|
||||
using System.Data.Common;
|
||||
|
||||
namespace SysApp.Models
|
||||
{
|
||||
public class ValidationDomainModel: ModelBase
|
||||
{
|
||||
public int ID { set; get; }
|
||||
|
||||
public int PortNumber { set; get; }
|
||||
|
||||
public string Protocol { set; get; }
|
||||
|
||||
public string Name { set; get; }
|
||||
|
||||
public override async Task<MessageHeader> AddAsync()
|
||||
{
|
||||
var f = new MessageHeader();
|
||||
try
|
||||
{
|
||||
using (var con = new MySqlConnection(DBManagement.GetConnectionString()))
|
||||
{
|
||||
await con.OpenAsync();
|
||||
await con.Insert(new ValidationDomain { DomainName = Name, PortNumber = this.PortNumber, Protocol = this.Protocol });
|
||||
}
|
||||
f.Status = 1;
|
||||
f.Message = "OK";
|
||||
}
|
||||
catch (DbException ex)
|
||||
{
|
||||
f.Status = 0;
|
||||
f.Message = ex.Message;
|
||||
f.ID = 61031;
|
||||
}
|
||||
return f;
|
||||
}
|
||||
public async Task<IActionResult> GetValidationDomainAsync()
|
||||
{
|
||||
using (var con = new MySqlConnection(DBManagement.GetConnectionString()))
|
||||
{
|
||||
await con.OpenAsync();
|
||||
if (IsFirstQuery)
|
||||
{
|
||||
using (var multi = await con
|
||||
.QueryMultipleAsync("SELECT COUNT(*) FROM ValidationDomain;" +
|
||||
"SELECT * FROM ValidationDomain ORDER BY idValidationDomain DESC " +
|
||||
"OFFSET @Offset ROWS FETCH NEXT @PageSize ROWS ONLY", new { Offset = (PageNumber - 1) * PageSize, PageSize = this.PageSize }))
|
||||
{
|
||||
int maxRow = await multi.ReadSingleAsync<int>();
|
||||
IEnumerable<ValidationDomain> types = await multi.ReadAsync<ValidationDomain>();
|
||||
return new JsonResult(new
|
||||
{
|
||||
mrows = maxRow,
|
||||
data = JsonConvert.SerializeObject(types)
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
IEnumerable<ValidationDomain> t = (await con
|
||||
.QueryAsync<ValidationDomain>("SELECT * FROM ValidationDomain ORDER BY idValidationDomain DESC " +
|
||||
"OFFSET @Offset ROWS FETCH NEXT @PageSize ROWS ONLY", new { Offset = (PageNumber - 1) * PageSize, PageSize = this.PageSize }));
|
||||
return new JsonResult(new
|
||||
{
|
||||
data = JsonConvert.SerializeObject(t)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
public override Task<MessageHeader> DeleteAsync()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override async Task<MessageHeader> UpdateAsync()
|
||||
{
|
||||
var f = new MessageHeader();
|
||||
try
|
||||
{
|
||||
using (var con = new MySqlConnection(DBManagement.GetConnectionString()))
|
||||
{
|
||||
await con.OpenAsync();
|
||||
await con.Update(new ValidationDomain { IdValidationDomain = ID, DomainName = Name, PortNumber = this.PortNumber, Protocol = this.Protocol });
|
||||
}
|
||||
f.Status = 1;
|
||||
f.Message = "OK";
|
||||
}
|
||||
catch (DbException ex)
|
||||
{
|
||||
f.Status = 0;
|
||||
f.Message = ex.Message;
|
||||
f.ID = 61032;
|
||||
}
|
||||
return f;
|
||||
}
|
||||
|
||||
public static async Task<IActionResult> GetAllValidationDomain()
|
||||
{
|
||||
using (var con = new MySqlConnection(DBManagement.GetConnectionString()))
|
||||
{
|
||||
await con.OpenAsync();
|
||||
IEnumerable<dynamic> t = (await con
|
||||
.QueryAsync("SELECT IDValidationDomain As ID, DomainName As Name FROM ValidationDomain ORDER BY idValidationDomain DESC"));
|
||||
return new JsonResult(new
|
||||
{
|
||||
data = JsonConvert.SerializeObject(t)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user