using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using SuperCms.Models; using SuperCms.Repositories; using static SuperCms.Controllers.UtilsController; namespace SuperCms.Controllers { public class OracleController { private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program)); private readonly ILogger _logger; ISuperCmsRepo iSuperCmsRepo; public OracleController(ISuperCmsRepo ISuperCmsRepo) { iSuperCmsRepo = ISuperCmsRepo; } // get all schedules within today public BotStructures getBotstructures() { BotStructures bots = new BotStructures(); bots.data = new List(); var resultC = iSuperCmsRepo.GetAllBots(log); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); BotStructure dataGet = new BotStructure(json.ToString()); bots.data.Add(dataGet); } } return bots; } public ScheduleStructures getSchedulestructures(String seqPage, String rowsOnPage) { ScheduleStructures schedules = new ScheduleStructures(); schedules.data = new List(); var resultC = iSuperCmsRepo.GetScheduleByRow(log, seqPage, rowsOnPage); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); ScheduleStructure dataGet = new ScheduleStructure(json.ToString()); schedules.data.Add(dataGet); } } return schedules; } public GroupStructures getGroupstructures() { GroupStructures groups = new GroupStructures(); groups.data = new List(); var resultC = iSuperCmsRepo.GetAllGroups(log); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); GroupStructure dataGet = new GroupStructure(json.ToString()); groups.data.Add(dataGet); } } return groups; } public Configs getConfigs() { Configs configs = new Configs(); configs.data = new List(); var resultC = iSuperCmsRepo.GetAllConfigs(log); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); Config dataGet = new Config(json.ToString()); configs.data.Add(dataGet); } } return configs; } public String getTotalRow(String type, String rowsOnPage) { ScheduleStructures schedules = new ScheduleStructures(); schedules.data = new List(); var resultC = iSuperCmsRepo.GetTotalRow(log, type); String number = "1"; var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JObject.Parse(JsonConvert.SerializeObject(row)); number = (string)json["COUNT(*)"].ToString(); } int totalPage = int.Parse(number) / int.Parse(rowsOnPage); if (int.Parse(number) % int.Parse(rowsOnPage) != 0) { totalPage++; } number = totalPage.ToString(); } return number; } public BotStructures addingBotStructure(BotStructure bot) { BotStructures bots = new BotStructures(); bots.data = new List(); var resultC = iSuperCmsRepo.AddingBotStructure(log, bot); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); BotStructure dataGet = new BotStructure(json.ToString()); bots.data.Add(dataGet); } } return bots; } public GroupStructures addingGroupStructure(GroupStructure group) { GroupStructures groups = new GroupStructures(); groups.data = new List(); var resultC = iSuperCmsRepo.AddingGroupStructure(log, group); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); GroupStructure dataGet = new GroupStructure(json.ToString()); groups.data.Add(dataGet); } } return groups; } public ScheduleStructures addingScheduleStructure(ScheduleStructure schedule) { ScheduleStructures schedules = new ScheduleStructures(); schedules.data = new List(); var resultC = iSuperCmsRepo.AddingScheduleStructure(log, schedule); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); ScheduleStructure dataGet = new ScheduleStructure(json.ToString()); schedules.data.Add(dataGet); } } return schedules; } public Configs addingConfig(Config config) { Configs configs = new Configs(); configs.data = new List(); var resultC = iSuperCmsRepo.AddingConfig(log, config); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); Config dataGet = new Config(json.ToString()); configs.data.Add(dataGet); } } return configs; } public BotStructures editingBotStructure(BotStructure bot) { BotStructures bots = new BotStructures(); bots.data = new List(); var resultC = iSuperCmsRepo.EditingBotStructure(log, bot); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); BotStructure dataGet = new BotStructure(json.ToString()); bots.data.Add(dataGet); } } return bots; } public GroupStructures editingGroupStructure(GroupStructure group) { GroupStructures groups = new GroupStructures(); groups.data = new List(); var resultC = iSuperCmsRepo.EditingGroupStructure(log, group); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); GroupStructure dataGet = new GroupStructure(json.ToString()); groups.data.Add(dataGet); } } return groups; } public ScheduleStructures editingScheduleStructure(ScheduleStructure schedule) { ScheduleStructures schedules = new ScheduleStructures(); schedules.data = new List(); var resultC = iSuperCmsRepo.EditingScheduleStructure(log, schedule); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); ScheduleStructure dataGet = new ScheduleStructure(json.ToString()); schedules.data.Add(dataGet); } } return schedules; } public Configs editingConfig(Config config) { Configs configs = new Configs(); configs.data = new List(); var resultC = iSuperCmsRepo.EditingConfig(log, config); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); Config dataGet = new Config(json.ToString()); configs.data.Add(dataGet); } } return configs; } public Boolean deleteStructure(String tableType, String id) { ResponseStructures response = new ResponseStructures(); response.data = new List(); var resultC = iSuperCmsRepo.DeleteStructure(log, tableType, id); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); ResponseStructure dataGet = new ResponseStructure(json.ToString()); response.data.Add(dataGet); } } if (response.data[0].code == Constant.SUCCESS) { return true; } else { return false; } } public SendMails getSendMails() { SendMails sendMails = new SendMails(); sendMails.data = new List(); var resultC = iSuperCmsRepo.GetAllSendMails(log); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); SendMail dataGet = new SendMail(json.ToString()); sendMails.data.Add(dataGet); } } return sendMails; } public SendMails addingSendMail(SendMail sendMail) { SendMails sendMails = new SendMails(); sendMails.data = new List(); var resultC = iSuperCmsRepo.AddingSendMail(log, sendMail); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); SendMail dataGet = new SendMail(json.ToString()); sendMails.data.Add(dataGet); } } return sendMails; } public SendMails editingSendMail(SendMail sendMail) { SendMails sendMails = new SendMails(); sendMails.data = new List(); var resultC = iSuperCmsRepo.EditingSendMail(log, sendMail); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); SendMail dataGet = new SendMail(json.ToString()); sendMails.data.Add(dataGet); } } return sendMails; } public ConnConfigs getConnConfigs() { ConnConfigs data = new ConnConfigs(); data.data = new List(); var resultC = iSuperCmsRepo.GetConnConfig(log); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); ConnConfig dataGet = new ConnConfig(json.ToString()); data.data.Add(dataGet); } } return data; } public ConnTelcos getConnTelcos() { ConnTelcos data = new ConnTelcos(); data.data = new List(); var resultT = iSuperCmsRepo.GetConnTelco(log); var propertyT = typeof(ICollection).GetProperty("Count"); int countT = (int)propertyT.GetValue(resultT, null); if (resultT != null && countT > 0) { foreach (IDictionary row in (IEnumerable)resultT) { var json = JsonConvert.SerializeObject(row); ConnTelco dataGet = new ConnTelco(json.ToString()); data.data.Add(dataGet); } //sort data.data.Sort(delegate (ConnTelco x, ConnTelco y) { return int.Parse(x.id).CompareTo(int.Parse(y.id)); }); } return data; } public ConnCompanies getConnCompanies() { ConnCompanies data = new ConnCompanies(); data.data = new List(); var resultT = iSuperCmsRepo.GetConnCompany(log); var propertyT = typeof(ICollection).GetProperty("Count"); int countT = (int)propertyT.GetValue(resultT, null); if (resultT != null && countT > 0) { foreach (IDictionary row in (IEnumerable)resultT) { var json = JsonConvert.SerializeObject(row); ConnCompany dataGet = new ConnCompany(json.ToString()); data.data.Add(dataGet); } data.data.Sort(delegate (ConnCompany x, ConnCompany y) { return int.Parse(x.id).CompareTo(int.Parse(y.id)); }); } return data; } public ConnConfigs addConnConfigs(ConnConfig connConfig) { ConnConfigs data = new ConnConfigs(); data.data = new List(); var resultC = iSuperCmsRepo.AddConnConfig(log, connConfig); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); ConnConfig dataGet = new ConnConfig(json.ToString()); data.data.Add(dataGet); } } return data; } public ConnConfigs editConnConfigs(ConnConfig connConfig) { ConnConfigs data = new ConnConfigs(); data.data = new List(); var resultC = iSuperCmsRepo.EditConnConfig(log, connConfig); var propertyC = typeof(ICollection).GetProperty("Count"); int countC = (int)propertyC.GetValue(resultC, null); if (resultC != null && countC > 0) { foreach (IDictionary row in (IEnumerable)resultC) { var json = JsonConvert.SerializeObject(row); ConnConfig dataGet = new ConnConfig(json.ToString()); data.data.Add(dataGet); } } return data; } } }