public HttpResponseMessage AddException(ExceptionDTO exceptionLoggerDTO)
        {
            OutReachException outReachException = new OutReachException();

            outReachException.AddException(exceptionLoggerDTO);
            return(Request.CreateResponse(HttpStatusCode.OK));
        }
Example #2
0
        public PagedListModel <ExceptionDTO> QueryExceptionRecord(ExceptionDTO searchModel, Page page)
        {
            var totalcount = 0;
            var result     = exception_RecordRepository.GetInfo(searchModel, page, out totalcount);

            return(new PagedListModel <ExceptionDTO>(totalcount, result));
        }
        public void Submit()
        {
            var listener = new TcpListener(IPAddress.Loopback, 0);

            listener.Start();
            var port = ((IPEndPoint)listener.LocalEndpoint).Port;

            listener.BeginAcceptSocket(AcceptAndRead, listener);
            ExceptionDTO DTO = null;

            try
            {
                int a = 100;
                int b = 200;
                var c = a / (b - 200);
            }
            catch (Exception e)
            {
                DTO = new ExceptionDTO(e);
            }
            var e1 = new ErrorReportDTO("dsjklsdfl", DTO, new[] { new ContextCollectionDTO("name1"), new ContextCollectionDTO("name2") });

            var url = new Uri("http://localhost:" + port + "/receiver");
            var sut = new UploadToCoderr(url, "cramply", "majs");

            sut.UploadReport(e1);
        }
        public static void UseGlobalExceptionHandler(this IApplicationBuilder app, ILoggerFactory loggerFactory, IHostingEnvironment env)
        {
            app.UseExceptionHandler(builder =>
            {
                builder.Run(async context =>
                {
                    var exceptionHandlerFeature = context.Features.Get <IExceptionHandlerFeature>();

                    if (exceptionHandlerFeature != null)
                    {
                        var logger = loggerFactory.CreateLogger("GlobalExceptionHandler");
                        logger.LogError($"Unexpected error: {exceptionHandlerFeature.Error}");

                        context.Response.StatusCode  = (int)HttpStatusCode.InternalServerError;
                        context.Response.ContentType = "application/json";

                        //Retornando o json completo e a exception no ambiente de dev
                        ExceptionDTO exceptionDTO = new ExceptionDTO(context.Response.StatusCode,
                                                                     exceptionHandlerFeature.Error.Message,
                                                                     env.IsDevelopment() || env.IsStaging() ? exceptionHandlerFeature.Error : exceptionHandlerFeature.Error);

                        await context.Response.WriteAsync(JsonConvert.SerializeObject(exceptionDTO));
                    }
                });
            });
        }
Example #5
0
        public PagedListModel <ExceptionDTO> QueryExceptionEmail(ExceptionDTO searchModel, dynamic page)
        {
            var totalcount = 0;
            var result     = exception_EmailRepository.GetInfo(searchModel, page, out totalcount);

            return(new PagedListModel <ExceptionDTO>(totalcount, result));
        }
        public void SubmitShouldCorrectlyBuild()
        {
            var          apiKey       = Guid.NewGuid();
            const string sharedSecret = "SomeSharedSecret";
            var          url          = new Uri("http://localhost");
            var          reporter     = new UploadToCoderr(url, apiKey.ToString(), sharedSecret);
            ExceptionDTO DTO          = null;

            try
            {
                int a = 100;
                int b = 200;
                var c = a / (b - 200);
            }
            catch (Exception e)
            {
                DTO = new ExceptionDTO(e);
            }

            ErrorReportDTO e1 = new ErrorReportDTO("dsadasdas", DTO,
                                                   new[] { new ContextCollectionDTO("name1"), new ContextCollectionDTO("name2") });

            var compress = reporter.CompressErrorReport(e1);
            var deflated = reporter.DeflateErrorReport(compress);

            Assert.True(compress.Length >= 200);
            Assert.Contains("dsadasdas", deflated);
        }
Example #7
0
        public ExceptionDTO AddExceptionEmail(ExceptionDTO dto)
        {
            Exception_Email entity = new Exception_Email();

            entity.Project_UID     = dto.Project_UID;
            entity.Exception_Times = dto.Exception_Times;
            entity.User_NT         = dto.User_NT.Trim();
            entity.User_Name       = dto.User_Name.Trim();
            entity.User_Email      = dto.User_Email.Trim();
            entity.ReceiveType     = dto.ReceiveType;
            entity.Created_UID     = dto.Created_UID;
            entity.Created_Date    = dto.Created_Date;
            entity.Modified_UID    = dto.Modified_UID;
            entity.Modified_Date   = dto.Modified_Date;
            var item = DataContext.Exception_Email.Where(x => x.Project_UID == dto.Project_UID && x.User_NT == entity.User_NT && x.Exception_Times == dto.Exception_Times && x.ReceiveType == dto.ReceiveType).FirstOrDefault();

            if (item != null)
            {
                dto        = Mapper.Map <ExceptionDTO>(item);
                dto.Repeat = 1;
            }
            else
            {
                DataContext.Exception_Email.Add(entity);
                DataContext.SaveChanges();
            }
            return(dto);
        }
Example #8
0
        public void AddException(ExceptionDTO loggerDTO)
        {
            var config = new MapperConfiguration(cfg => {
                cfg.CreateMap <ExceptionDTO, ExceptionLogger>();
            });
            IMapper iMapper = config.CreateMapper();

            ExceptionRepository.AddException(iMapper.Map <ExceptionDTO, ExceptionLogger>(loggerDTO));
        }
        protected async Task <ExceptionDTO> ConvertResponseToExceptionDTOAsync(HttpResponseMessage httpResponseMessage)
        {
            var stringresponse = await httpResponseMessage.Content.ReadAsStringAsync();

            ExceptionDTO exception = JsonConvert.DeserializeObject <ExceptionDTO>(stringresponse);

            exception.StatusCode = httpResponseMessage.StatusCode;
            return(exception);
        }
Example #10
0
        public ErrorReportDTO ReportCopy(ErrorReportDTO blueprint, string message,
                                         Action <ErrorReportDTO> customizations = null)
        {
            var id        = ReportIdGenerator.Generate(new Exception());
            var newDto    = new ExceptionDTO(blueprint.Exception);
            var newReport = new ErrorReportDTO(id, blueprint.Exception, blueprint.ContextCollections);

            customizations?.Invoke(newReport);
            _config.Uploaders.Upload(newReport);
            return(newReport);
        }
Example #11
0
        public int AddPeriodTime(ExceptionDTO dto)
        {
            //先检查是否有相同的字段,如果有那么就直接返回
            var item = DataContext.Exception_Time.Where(x => x.Origin_UID == dto.Origin_UID && x.Exception_Time_At == dto.Exception_Time_At).FirstOrDefault();

            if (item != null)
            {
                return(0);
            }
            Exception_Time entity = new Exception_Time();

            entity.Origin_UID        = dto.Origin_UID;
            entity.Exception_Time_At = dto.Exception_Time_At;
            entity.Created_UID       = dto.Created_UID;
            entity.Created_Date      = dto.Created_Date;
            entity.Modified_UID      = dto.Modified_UID;
            entity.Modified_Date     = dto.Modified_Date;
            DataContext.Exception_Time.Add(entity);
            var ret = DataContext.SaveChanges();

            return(ret);

            //var item = DataContext.Exception_Time.Where(x => x.Origin_UID == dto.Origin_UID && x.Exception_Time_At == dto.Exception_Time_At).Select(x=>new PeriodTime() {
            //    Exception_Time_UID=x.Exception_Time_UID,
            //    Exception_Time_At=x.Exception_Time_At
            //}).FirstOrDefault();
            //if (item != null)
            //{
            //    PeriodTime result = new PeriodTime();
            //    result.Exception_Time_UID = item.Exception_Time_UID;
            //    result.Exception_Time_At = item.Exception_Time_At;
            //    result.Repeat = 1;
            //    return result;

            //}
            //Exception_Time entity = new Exception_Time();
            //entity.Origin_UID = dto.Exception_Dept_UID;
            //entity.Exception_Time_At = dto.Exception_Time_At;
            //entity.Created_UID = dto.Created_UID;
            //entity.Created_Date = dto.Created_Date;
            //entity.Modified_UID = dto.Modified_UID;
            //entity.Modified_Date = dto.Modified_Date;
            //DataContext.Exception_Time.Add(entity);
            //var ret= DataContext.SaveChanges();
            //if (ret > 0)
            //{
            //    PeriodTime result = new PeriodTime();
            //    result.Exception_Time_UID = entity.Exception_Time_UID;
            //    result.Exception_Time_At = entity.Exception_Time_At;

            //    return result;
            //}
            //return null;
        }
Example #12
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public int UpdateExceptionCode(ExceptionDTO dto)
        {
            var entity = DataContext.Exception_Code.Find(dto.Exception_Code_UID);

            if (entity == null)
            {
                return(0);
            }
            entity.Exception_Nub  = dto.Exception_Nub;
            entity.Exception_Name = dto.Exception_Name;
            entity.Modified_UID   = dto.Modified_UID;
            entity.Modified_Date  = dto.Modified_Date;
            return(DataContext.SaveChanges());
        }
        /// <summary>
        /// Traduit les message de l'exception et de ses innerexception de manierre recurcive
        /// </summary>
        /// <param name="pEx">ExceptionDTO</param>
        /// <param name="pInfoSession">Information sur la session</param>
        /// <returns>ExceptionDTO traduit</returns>
        /// <remarks>LOUIS Yoann 19/02/2016</remarks>
        private static ExceptionDTO GetExceptionRecupMessage(ExceptionDTO pEx, InfoSessionDTO pInfoSession)
        {
            // yl - Gestion de l'onner exception
            if (pEx.InnerException != null)
            {
                pEx.InnerException = GetExceptionRecupMessage(pEx.InnerException, pInfoSession);
            }
            // yl - Traduction du message (uniquement si besoin)
            if (pEx.Message.Contains("[Ressource]"))
            {
                pEx.Message = GetMessage(pEx.Message, pInfoSession);
            }

            return(pEx);
        }
        public async Task ObtenhoErroAoPassarValorInvalido()
        {
            using (var client = _Fixture.Client)
            {
                var request  = _Fixture.MyHttpRequestMessage(HttpMethod.Get, "api/calculajuros?valorinicial=100&meses=-1");
                var response = await client.SendAsync(request);

                Assert.False(response.IsSuccessStatusCode);
                ExceptionDTO obj = JsonConvert.DeserializeObject <ExceptionDTO>(await response.Content.ReadAsStringAsync());
                Assert.NotNull(obj);
                Assert.Equal(500, obj.StatusCode);
                Assert.NotEmpty(obj.Message);
                Assert.NotNull(obj.Details);
            }
        }
Example #15
0
        public ExceptionDTO FetchUserInfo(string nTID)
        {
            var entity = DataContext.System_Users.Where(x => x.User_NTID == nTID).FirstOrDefault();

            if (entity == null)
            {
                return(null);
            }
            else
            {
                ExceptionDTO dto = new ExceptionDTO();
                dto.User_Name  = entity.User_Name;
                dto.User_Email = entity.Email;
                return(dto);
            }
        }
        /// <summary>
        /// Convert Exception in ExceptionDTO
        /// </summary>
        /// <param name="pEx">Exception</param>
        /// <returns>ExceptionDTO</returns>
        /// <remarks>LOUIS Yoann 18/02/2016</remarks>
        public static ExceptionDTO ConvertToExceptionDTO(System.Exception pEx)
        {
            // yl - initialisaton de la variable
            var lException = new ExceptionDTO();

            // yl - Recuperation du type
            lException.Type = pEx.GetType().Name;
            // yl - Recuperation du message
            lException.Message = pEx.Message;
            // yl - si il y a une inner exception
            if (pEx.InnerException != null)
            {
                lException.InnerException = ConvertToExceptionDTO(pEx.InnerException);
            }
            // yl - retourne ExceptionDTO
            return(lException);
        }
Example #17
0
        public void ProvideFault(Exception error, MessageVersion version, ref Message fault)
        {
            if (error is FaultException)
            {
                return;
            }

            ExceptionDTO dtoEx = new ExceptionDTO();

            dtoEx.Exception = error;
            dtoEx.Message   = error.Message;

            FaultException <ExceptionDTO> faultException = new FaultException <ExceptionDTO>(dtoEx, error.Message);
            MessageFault faultMessage = faultException.CreateMessageFault();

            fault = Message.CreateMessage(version, faultMessage, "http://tempuri.org/IService/FaultException");
        }
Example #18
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public ExceptionDTO AddExceptionDept(ExceptionDTO dto)
        {
            Exception_Dept exist_entity = DataContext.Exception_Dept.Where(x => x.Plant_Organization_UID == dto.Plant_Organization_UID && x.BG_Organization_UID == dto.BG_Organization_UID && x.Exception_Dept_Name == dto.Exception_Dept_Name).FirstOrDefault();

            if (exist_entity == null)
            {
                var obj = DataContext.Exception_Dept.Add(Mapper.Map <Exception_Dept>(dto));
                var ret = DataContext.SaveChanges();
                return(Mapper.Map <ExceptionDTO>(obj));
            }
            else
            {
                dto        = Mapper.Map <ExceptionDTO>(exist_entity);
                dto.Repeat = 1;
                return(dto);
            }
        }
Example #19
0
        public int EditExceptionEmail(ExceptionDTO dto)
        {
            //todo:判断修改后的NT账号是否已经存在于数据库,或者就不让修改NT账号
            var entity      = DataContext.Exception_Email.Find(dto.Exception_Email_UID);
            var existEntity = DataContext.Exception_Email.Where(x => x.Project_UID == entity.Project_UID && x.Exception_Times == entity.Exception_Times && x.User_NT == dto.User_NT && x.ReceiveType == dto.ReceiveType).FirstOrDefault();

            if (existEntity != null)
            {
                return(2);
            }
            entity.Exception_Times = dto.Exception_Times;
            entity.ReceiveType     = dto.ReceiveType;
            entity.User_NT         = dto.User_NT.Trim();
            entity.User_Name       = dto.User_Name;
            entity.User_Email      = dto.User_Email;
            entity.Modified_UID    = dto.Modified_UID;
            entity.Modified_Date   = dto.Modified_Date;
            return(DataContext.SaveChanges());
        }
        public static async void StartJobAsync()
        {
            try
            {
                IScheduler scheduler = await Quartz.Impl.StdSchedulerFactory.GetDefaultScheduler();

                await scheduler.Start();

                IJobDetail job = JobBuilder.Create <LoggingJob>().Build();

                ITrigger trigger = TriggerBuilder.Create()
                                   .WithIdentity("trigger1", "group1")
                                   .WithSimpleSchedule(x => x
                                                       .WithIntervalInHours(1)
                                                       .RepeatForever())
                                   .StartNow()
                                   .Build();

                await scheduler.ScheduleJob(job, trigger);
            }
            catch (Exception ex)
            {
                ExceptionDTO logger = new ExceptionDTO()
                {
                    ControllerName      = "Scheduler",
                    ActionrName         = "StartJob",
                    ExceptionMessage    = ex.Message,
                    ExceptionStackTrace = ex.StackTrace,
                    LogDateTime         = DateTime.Now
                };
                string requestURI = ConfigurationManager.AppSettings["ApiUrl"] + "api/ProcessExcel/AddExceptionToDB";
                using (var client = new HttpClient())
                {
                    var responseTask = client.PostAsJsonAsync(requestURI, logger);
                    responseTask.Wait();

                    var result = responseTask.Result;
                    if (result.IsSuccessStatusCode)
                    {
                    }
                }
            }
        }
Example #21
0
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public int UpdateExceptionDept(ExceptionDTO dto)
        {
            var entity = DataContext.Exception_Dept.Find(dto.Exception_Dept_UID);

            if (entity == null)
            {
                return(0);
            }
            //查重部门名称
            var model = DataContext.Exception_Dept.Where(x => x.BG_Organization_UID == entity.BG_Organization_UID && x.Plant_Organization_UID == entity.Plant_Organization_UID && x.Exception_Dept_Name == dto.Exception_Dept_Name).FirstOrDefault();

            if (model != null)
            {
                return(2);
            }
            entity.Exception_Dept_Name = dto.Exception_Dept_Name.Trim();
            entity.Modified_UID        = dto.Modified_UID;
            entity.Modified_Date       = dto.Modified_Date;
            return(DataContext.SaveChanges());
        }
Example #22
0
        public override void OnException(ExceptionContext filterContext)
        {
            if (!filterContext.ExceptionHandled)
            {
                var controllerName = (string)filterContext.RouteData.Values["controller"];
                var actionName     = (string)filterContext.RouteData.Values["action"];
                var model          = new HandleErrorInfo(filterContext.Exception, controllerName, actionName);

                filterContext.Result = new ViewResult
                {
                    ViewName   = View,
                    MasterName = Master,
                    ViewData   = new ViewDataDictionary <HandleErrorInfo>(model),
                    TempData   = filterContext.Controller.TempData
                };

                ExceptionDTO logger = new ExceptionDTO()
                {
                    ControllerName      = controllerName,
                    ActionrName         = actionName,
                    ExceptionMessage    = filterContext.Exception.Message,
                    ExceptionStackTrace = filterContext.Exception.StackTrace,
                    LogDateTime         = DateTime.Now
                };
                string requestURI = ConfigurationManager.AppSettings["ApiUrl"] + "api/ProcessExcel/AddExceptionToDB";
                using (var client = new HttpClient())
                {
                    var responseTask = client.PostAsJsonAsync(requestURI, logger);
                    responseTask.Wait();

                    var result = responseTask.Result;
                    if (result.IsSuccessStatusCode)
                    {
                        filterContext.ExceptionHandled = true;
                    }
                }
            }
        }
Example #23
0
        public IHttpActionResult AddExceptionCodeAPI(ExceptionDTO dto)
        {
            var result = exceptionService.AddExceptionCode(dto);

            return(Ok(result));
        }
Example #24
0
        public int UpdateExceptionDeptAPI(ExceptionDTO dto)
        {
            var result = exceptionService.UpdateExceptionDept(dto);

            return(result);
        }
Example #25
0
        public IHttpActionResult ExportExcptionRecord2ExcelAPI(ExceptionDTO dto)
        {
            var result = exceptionService.ExportFixtrueReturn2Excel(dto);

            return(Ok(result));
        }
Example #26
0
        public int EditExceptionEmailAPI(ExceptionDTO dto)
        {
            var result = exceptionService.EditExceptionEmail(dto);

            return(result);
        }
Example #27
0
        public ExceptionDTO AddExceptionEmailAPI(ExceptionDTO dto)
        {
            var result = exceptionService.AddExceptionEmail(dto);

            return(result);
        }
Example #28
0
        public int AddPeriodTimeAPI(ExceptionDTO dto)
        {
            var result = exceptionService.AddPeriodTime(dto);

            return(result);
        }
Example #29
0
        public int CloseExceptionOrderAPI(ExceptionDTO dto)
        {
            var result = exceptionService.CloseExceptionOrder(dto);

            return(result);
        }
Example #30
0
        public IHttpActionResult FetchLineBasedPlantBGCustomerAPI(ExceptionDTO dto)
        {
            var result = exceptionService.FetchLineBasedPlantBGCustomer(dto);

            return(Ok(result));
        }