示例#1
0
        public override string Register()
        {
            try
            {
                JobId = BackgroundJob.Enqueue(() => Trigger(this));

                Nlogger.Info($"The [{JobId}] added to hangfire fire and forget jobs successful.");

                return(JobId);
            }
            catch (Exception exp)
            {
                Nlogger.Fatal(exp);
                return(exp.Message);
            }
        }
示例#2
0
        public override string Register()
        {
            try
            {
                JobId = BackgroundJob.Schedule(() => Trigger(this), TriggerOn);

                Nlogger.Info($"The [{JobId}] added to hangfire delayed jobs successful.");

                return(JobId);
            }
            catch (Exception exp)
            {
                Nlogger.Fatal(exp);
                return(exp.Message);
            }
        }
示例#3
0
        public async Task <RS_User> GetUserinCustomer(string search)
        {
            RS_User result = new RS_User();

            try
            {
                var ef_linq = this.Daouser.GetCustomerInfo(search);
                result.Count         = ef_linq.Count();
                result.PageSize      = pageSize;
                result.UserPagedlsit = await ef_linq.OrderByDescending(b => b.Id).ToPagedListAsync(1, pageSize);
            }
            catch (Exception ex)
            {
                Nlogger.WriteLog(Nlogger.NType.Error, $"{ex.Message}{ex.InnerException}", ex);
            }
            return(result);
        }
示例#4
0
        public async Task <RS_Customer> GetCustomerList(int?page)
        {
            RS_Customer result = new RS_Customer();

            try
            {
                var pageIndex = page ?? 1;
                var customers = this.Daocustomer.GetCustomers();
                result.Count             = customers.Count();
                result.PageSize          = pageSize;
                result.CustomerPagedlsit = await customers.ToPagedListAsync(pageIndex, pageSize);
            }
            catch (Exception ex)
            {
                Nlogger.WriteLog(Nlogger.NType.Error, $"{ex.Message}{ex.InnerException}", ex);
            }
            return(result);
        }
示例#5
0
        public override string Register()
        {
            try
            {
                JobId = $"{Name ?? ActionName}: {DateTime.Now.GetHashCode()}";

                RecurringJob.AddOrUpdate(JobId, () => Trigger(this), TriggerOn, TimeZoneInfo.Local);

                Nlogger.Info($"The [{JobId}] added to hangfire recurring jobs successful.");

                return(JobId);
            }
            catch (Exception exp)
            {
                Nlogger.Fatal(exp);
                return(exp.Message);
            }
        }
示例#6
0
        public async Task <RS_Object> UpdateCustomer(EF_Customer DataEntry)
        {
            RS_Object result = new RS_Object();

            try
            {
                var Rs_Modify = await this.Daocustomer.UpdateCustomer(DataEntry);

                Rs_Modify.Message = Rs_Modify.Success ? $"成功更新客戶資料{Rs_Modify.Count}筆" : Rs_Modify.Message;
                result            = Rs_Modify.Transfor("客戶");
                return(result);
            }
            catch (Exception ex)
            {
                Nlogger.WriteLog(Nlogger.NType.Error, $"{ex.Message}{ex.InnerException}", ex);
            }
            return(result);
        }
示例#7
0
        public async Task <RS_ModifyResult> CreateUser(EF_User DataEntry)
        {
            RS_ModifyResult result = new RS_ModifyResult("Add");

            try
            {
                this.dbcontext.User.Add(this.Transfor(DataEntry));
                var SaveResult = await this.dbcontext.SaveChangesAsync();

                result.Count   = SaveResult;
                result.Success = true;
            }
            catch (Exception ex)
            {
                result.Message = ex.ToString();
                result.Success = false;
                Nlogger.WriteLog(Nlogger.NType.Error, ex.Message, ex);
            }
            return(result);
        }
示例#8
0
        public void OnTriggerNotification(string result)
        {
            if (Notifications == null || !Notifications.Any() || NotifyCondition == NotifyCondition.None)
            {
                return;
            }

            var subject = $"{(Debugger.IsAttached ? "`DEBUG MODE`" : "")} **{Name}**\n" +
                          $"----------------------------------------";
            var body = $"\nResult: `{result}` " +
                       $"\nAction: `{ActionName}` \n";

            if (ActionParameters?.Any() == true)
            {
                body += "Arguments: ```\n";
                foreach (var arg in ActionParameters.Where((k, v) => !String.IsNullOrEmpty(v.ToString())))
                {
                    var val = string.Concat(arg.Value.ToString()
                                            .Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)
                                            .Select(x => $"{x}\n\t"));
                    val   = val.Remove(val.LastIndexOf('\t'));
                    body += $"  • {arg.Key}: {val}";
                }

                body = body.Replace("\"", "") + "\n```";
            }

            foreach (var notify in Notifications.Where(n => CompareByNotifyCondition(result)))
            {
                try
                {
#if !TestWithoutNotify
                    notify.Notify(body, subject);
#endif
                }
                catch (Exception exp)
                {
                    Nlogger.Error(exp);
                }
            }
        }
示例#9
0
        public async Task <RS_Customer> GetCustomer(int?page, string?search)
        {
            RS_Customer result = new RS_Customer();

            try
            {
                var pageIndex = page ?? 1;
                var customers = this.Daocustomer.GetCustomers();
                if (!string.IsNullOrEmpty(search))
                {
                    customers = customers.Where(m => m.Name.Contains(search) || m.Company.Contains(search));
                }
                result.Count             = customers.Count();
                result.PageSize          = pageSize;
                result.CustomerPagedlsit = await customers.ToPagedListAsync(pageIndex, pageSize);
            }
            catch (Exception ex)
            {
                Nlogger.WriteLog(Nlogger.NType.Error, $"{ex.Message}{ex.InnerException}", ex);
            }
            return(result);
        }
示例#10
0
        public async Task <RS_ModifyResult> DeleteUser(int Id)
        {
            RS_ModifyResult result = new RS_ModifyResult("Delete");

            try
            {
                var ef_find = await this.dbcontext.User.SingleAsync(b => b.Id == Id);

                this.dbcontext.User.Remove(ef_find);
                var SaveResult = await this.dbcontext.SaveChangesAsync();

                result.Count   = SaveResult;
                result.Success = true;
            }
            catch (Exception ex)
            {
                result.Message = ex.ToString();
                result.Success = false;
                Nlogger.WriteLog(Nlogger.NType.Error, ex.Message, ex);
            }
            return(result);
        }
示例#11
0
        public async Task <RS_Object> CreateCustomer(EF_Customer DataEntry)
        {
            RS_Object result = new RS_Object();

            try
            {
                var Rs_Modify = await this.CheckCustomerId(DataEntry.Name.ToString());

                if (Rs_Modify.Success)
                {
                    Rs_Modify = await this.Daocustomer.CreateCustomer(DataEntry);

                    Rs_Modify.Message = Rs_Modify.Success ? $"成功新增客戶資料{Rs_Modify.Count}筆" : Rs_Modify.Message;
                }
                result = Rs_Modify.Transfor("客戶");
            }
            catch (Exception ex)
            {
                Nlogger.WriteLog(Nlogger.NType.Error, $"{ex.Message}{ex.InnerException}", ex);
            }
            return(result);
        }
示例#12
0
        public async Task <RS_Object> CreateUser(EF_User DataEntry)
        {
            RS_Object result = new RS_Object();

            try
            {
                var Rs_Modify = await this.CheckUserId(DataEntry.UserId);

                if (Rs_Modify.Success)
                {
                    Rs_Modify = await this.Daouser.CreateUser(DataEntry);

                    Rs_Modify.Message = Rs_Modify.Success ? $"成功新增使用者資料{Rs_Modify.Count}筆" : Rs_Modify.Message;
                }
                result = Rs_Modify.Transfor("使用者");
            }
            catch (Exception ex)
            {
                Nlogger.WriteLog(Nlogger.NType.Error, $"{ex.Message}{ex.InnerException}", ex);
            }
            return(result);
        }
示例#13
0
        public async Task <RS_Object> DeleteCustomer(int Id)
        {
            RS_Object result = new RS_Object();

            try
            {
                var Rs_Modify = await this.CheckCustomerinUser(Id);

                if (Rs_Modify.Success)
                {
                    Rs_Modify = await this.Daocustomer.DeleteCustomer(Id);

                    Rs_Modify.Message = Rs_Modify.Success ? $"成功刪除客戶資料{Rs_Modify.Count}筆" : Rs_Modify.Message;
                }
                result = Rs_Modify.Transfor("客戶");
                Nlogger.WriteLog(Nlogger.NType.Info, Rs_Modify.Message);
            }
            catch (Exception ex)
            {
                Nlogger.WriteLog(Nlogger.NType.Error, $"{ex.Message}{ex.InnerException}", ex);
            }
            return(result);
        }
示例#14
0
        public async Task <RS_User> GetUser(int?page, string?UserName)
        {
            RS_User result = new RS_User();

            try
            {
                var pageIndex = page ?? 1;
                var users     = this.Daouser.GetUsers();

                if (!string.IsNullOrEmpty(UserName))
                {
                    users = users.Where(m => m.UserName.Contains(UserName));
                }
                result.Count         = users.Count();
                result.PageSize      = pageSize;
                result.UserPagedlsit = await users.ToPagedListAsync(pageIndex, pageSize);
            }
            catch (Exception ex)
            {
                Nlogger.WriteLog(Nlogger.NType.Error, $"{ex.Message}{ex.InnerException}", ex);
            }
            return(result);
        }
示例#15
0
        public async Task <RS_Object> DeleteUser(int userid, int groupid)
        {
            RS_Object result = new RS_Object();

            try
            {
                var Rs_Modify = await this.CheckUserinGroup(userid, groupid);

                if (Rs_Modify.Success)
                {
                    Rs_Modify = await this.Daouser.DeleteUser(userid);

                    Rs_Modify.Message = Rs_Modify.Success ? $"成功刪除使用者資料{Rs_Modify.Count}筆" : Rs_Modify.Message;
                }
                result = Rs_Modify.Transfor("使用者");
                Nlogger.WriteLog(Nlogger.NType.Info, Rs_Modify.Message);
            }
            catch (Exception ex)
            {
                Nlogger.WriteLog(Nlogger.NType.Error, $"{ex.Message}{ex.InnerException}", ex);
            }
            return(result);
        }
示例#16
0
        public async Task <RS_Object> CreateGroup(EF_Group DataEntry)
        {
            RS_Object result = new RS_Object();

            try
            {
                var Rs_Modify = await this.CheckGroupName(DataEntry.GroupName);

                if (Rs_Modify.Success)
                {
                    Rs_Modify = await this.Daogroup.CreateGroup(DataEntry);

                    Rs_Modify.Message = Rs_Modify.Success ? $"成功新增群組資料{Rs_Modify.Count}筆" : Rs_Modify.Message;
                }
                result = Rs_Modify.Transfor("群組");
                Nlogger.WriteLog(Nlogger.NType.Info, Rs_Modify.Message);
            }
            catch (Exception ex)
            {
                Nlogger.WriteLog(Nlogger.NType.Error, $"{ex.Message}{ex.InnerException}", ex);
            }
            return(result);
        }
示例#17
0
        public async Task <RS_Group> GetGroup(int?page, string?GroupName)
        {
            RS_Group result = new RS_Group();

            try
            {
                var pageIndex = page ?? 1;
                var groups    = this.Daogroup.GetGroups();
                if (!string.IsNullOrEmpty(GroupName))
                {
                    groups = groups.Where(m => m.GroupName.Contains(GroupName));
                }

                result.Count          = groups.Count();
                result.PageSize       = pageSize;
                result.GroupPagedlsit = await groups.ToPagedListAsync(pageIndex, pageSize);
            }
            catch (Exception ex)
            {
                Nlogger.WriteLog(Nlogger.NType.Error, $"{ex.Message}{ex.InnerException}", ex);
            }
            return(result);
        }
示例#18
0
        public async Task <RS_ModifyResult> UpdateUser(EF_User DataEntry)
        {
            RS_ModifyResult result = new RS_ModifyResult("Update");

            try
            {
                var clone   = this.Transfor(DataEntry);
                var ef_find = await this.dbcontext.User.FirstAsync(b => b.Id == DataEntry.Id);

                this.dbcontext.Entry(ef_find).CurrentValues.SetValues(clone);
                this.dbcontext.User.Update(ef_find);
                var SaveResult = await this.dbcontext.SaveChangesAsync();

                result.Count   = SaveResult;
                result.Success = true;
            }
            catch (Exception ex)
            {
                result.Message = ex.ToString();
                result.Success = false;
                Nlogger.WriteLog(Nlogger.NType.Error, ex.Message, ex);
            }
            return(result);
        }
示例#19
0
 /// <summary>
 /// 记录Info级日志
 /// </summary>
 /// <param name="err">程序异常</param>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Info(Exception err, string msg, params object[] args) => Nlogger.Info(err, msg, args);
示例#20
0
 /// <summary>
 /// 记录Info级日志
 /// </summary>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Info(string msg, params object[] args) => Nlogger.Info(msg, args);
示例#21
0
 /// <summary>
 /// 记录Debug级日志
 /// </summary>
 /// <param name="err">程序异常</param>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Debug(Exception err, string msg, params object[] args) => Nlogger.Debug(err, msg, args);
示例#22
0
 /// <summary>
 /// 记录Debug级日志
 /// </summary>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Debug(string msg, params object[] args) => Nlogger.Debug(msg, args);
示例#23
0
 /// <summary>
 /// 记录Warn级日志
 /// </summary>
 /// <param name="err">程序异常</param>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Warn(Exception err, string msg, params object[] args) => Nlogger.Warn(err, msg, args);
示例#24
0
 /// <summary>
 /// 记录Warn级日志
 /// </summary>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Warn(string msg, params object[] args) => Nlogger.Warn(msg, args);
示例#25
0
 /// <summary>
 /// 记录Error级日志
 /// </summary>
 /// <param name="err">程序异常</param>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Error(Exception err, string msg, params object[] args) => Nlogger.Error(err, msg, args);
示例#26
0
 /// <summary>
 /// 记录Error级日志
 /// </summary>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Error(string msg, params object[] args) => Nlogger.Error(msg, args);
示例#27
0
 /// <summary>
 /// 记录Fatal级日志
 /// </summary>
 /// <param name="err">程序异常</param>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Fatal(Exception err, string msg, params object[] args) => Nlogger.Fatal(err, msg, args);
示例#28
0
 /// <summary>
 /// 记录Fatal级日志
 /// </summary>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Fatal(string msg, params object[] args) => Nlogger.Fatal(msg, args);
示例#29
0
 /// <summary>
 /// 记录Trace级日志
 /// </summary>
 /// <param name="err">程序异常</param>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Trace(Exception err, string msg, params object[] args) => Nlogger.Trace(err, msg, args);
示例#30
0
 /// <summary>
 /// 记录Trace级日志
 /// </summary>
 /// <param name="msg">格式化消息</param>
 /// <param name="args">格式参数</param>
 public void Trace(string msg, params object[] args) => Nlogger.Trace(msg, args);