예제 #1
0
        public ActionResult List()
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("InitSearch ActivityLog").ToInputLogString());

            try
            {
                CustomerInfoViewModel custInfoVM = new CustomerInfoViewModel();

                if (TempData["CustomerInfo"] != null)
                {
                    custInfoVM = (CustomerInfoViewModel)TempData["CustomerInfo"];
                    TempData["CustomerInfo"] = custInfoVM; // Keep for change Tab
                }
                else
                {
                    return(RedirectToAction("Search", "Customer"));
                }

                ActivityViewModel activityVM = new ActivityViewModel();
                if (custInfoVM.CustomerId != null)
                {
                    activityVM.CustomerInfo = custInfoVM;
                }

                _commonFacade   = new CommonFacade();
                _activityFacade = new ActivityFacade();

                var subsType = custInfoVM.SubscriptType;

                var today                  = DateTime.Today;
                var month                  = new DateTime(today.Year, today.Month, 1);
                var numMonthsActivity      = _commonFacade.GetNumMonthsActivity();
                var activityStartDateValue = month.AddMonths(-1 * numMonthsActivity); //"2015-01-01".ParseDateTime("yyyy-MM-dd");

                activityVM.SearchFilter = new ActivitySearchFilter
                {
                    ActivityStartDateTime = activityStartDateValue.FormatDateTime(Constants.DateTimeFormat.DefaultFullDateTime),
                    ActivityEndDateTime   = DateTime.Now.FormatDateTime(Constants.DateTimeFormat.DefaultFullDateTime),
                    CardNo       = custInfoVM.CardNo,
                    SubsTypeCode = subsType != null ? subsType.SubscriptTypeCode : null,
                    PageNo       = 1,
                    PageSize     = _commonFacade.GetPageSizeStart(),
                    SortField    = "ActivityID",
                    SortOrder    = "DESC"
                };

                ViewBag.PageSize     = activityVM.SearchFilter.PageSize;
                ViewBag.PageSizeList = _commonFacade.GetPageSizeList();
                ViewBag.Message      = string.Empty;

                return(View(activityVM));
            }
            catch (Exception ex)
            {
                Logger.Error("Exception occur:\n", ex);
                Logger.Info(_logMsg.Clear().SetPrefixMsg("InitSearch ActivityLog").Add("Error Message", ex.Message).ToFailLogString());
                return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 this.ControllerContext.RouteData.Values["action"].ToString())));
            }
        }
예제 #2
0
        public ActionResult SRActivityList(ActivitySearchFilter searchFilter)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("Search SR Activity").ToInputLogString());

            CustomerInfoViewModel custInfoVM = new CustomerInfoViewModel();

            if (TempData["CustomerInfo"] != null)
            {
                custInfoVM = (CustomerInfoViewModel)TempData["CustomerInfo"];
                TempData["CustomerInfo"] = custInfoVM; // keep for change Tab

                searchFilter.SrOnly     = false;
                searchFilter.CustomerId = custInfoVM.CustomerId;
            }
            else
            {
                return(RedirectToAction("Search", "Customer"));
            }

            try
            {
                if (ModelState.IsValid)
                {
                    _commonFacade   = new CommonFacade();
                    _activityFacade = new ActivityFacade();
                    ActivityViewModel activityVM = new ActivityViewModel();

                    activityVM.SearchFilter = searchFilter;
                    activityVM.ActivityList = _activityFacade.GetSRActivityList(searchFilter);

                    ViewBag.PageSize     = activityVM.SearchFilter.PageSize;
                    ViewBag.PageSizeList = _commonFacade.GetPageSizeList();

                    Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Activity").ToSuccessLogString());
                    return(PartialView("~/Views/Activity/_ActivityList.cshtml", activityVM));
                }

                return(Json(new
                {
                    Valid = false,
                    Error = string.Empty,
                    Errors = GetModelValidationErrors()
                }));
            }
            catch (Exception ex)
            {
                Logger.Error("Exception occur:\n", ex);
                Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Activity").Add("Error Message", ex.Message).ToFailLogString());
                return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 this.ControllerContext.RouteData.Values["action"].ToString())));
            }
        }
예제 #3
0
        public ProcessGraph(IPersonStore personStore, IActivityFacade activityFacade)
        {
            Name = "Process";
            Field(p => p.ProcessId).Description("The unique identifier assigned to this process");
            Field(p => p.ProcessDefinitionId).Description("The unique identifier assigned to process definition that created this resource");
            Field(p => p.DocumentTypeName, nullable: true).Description("The document type name of this resource");
            Field(p => p.DocumentId, nullable: true).Description("The document id of the item provided by the user or the source system");
            Field(p => p.DocumentTitle, nullable: true).Description("The title of the document");
            Field(p => p.ProcessState, nullable: true).Description("The current state of the process");
            Field(p => p.ProcessStatus, nullable: true).Description("The current status of the process");
            Field(p => p.CreateDateTime).Description("The created date of the process");
            Field(p => p.LastChangeDateTime).Description("The last changed date of the process");

            FieldAsync <UserGraph>("originatorHanfordId", "The person who routed the process",
                                   resolve: async(context) => await personStore.GetByIdAsync(context.Source.OriginatorHanfordId, context.CancellationToken));
            FieldAsync <UserGraph>("beneficiaryHanfordId", "The beneficiary of the process",
                                   resolve: async(context) => await personStore.GetByIdAsync(context.Source.BeneficiaryHanfordId, context.CancellationToken));
            FieldAsync <UserGraph>("lastChangeHanfordId", "The person who last changed the process",
                                   resolve: async(context) => await personStore.GetByIdAsync(context.Source.LastChangeHanfordId, context.CancellationToken));
            FieldAsync <ListGraphType <ActivityGraph> >(
                name: "activities",
                description: "The list of activities in this process",
                arguments: new QueryArguments
            {
                new QueryArgument <IntGraphType> {
                    Name = "offset"
                },
                new QueryArgument <IntGraphType> {
                    Name = "limit"
                }
            },
                resolve: async(context) =>
            {
                var offset = context.GetArgument <int?>("offset");
                var limit  = context.GetArgument <int?>("limit");

                var activityIds = context
                                  .Source
                                  .Activities
                                  .Values
                                  .Select(a => a.ActivityId)
                                  .ToList();

                return(await activityFacade.GetAsync(activityIds, offset, limit, context.CancellationToken));
            });
        }
예제 #4
0
        public ActionResult SRActivityList(ActivitySearchFilter searchFilter)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("Search SR Activity").ToInputLogString());

            try
            {
                searchFilter.SrOnly = false;

                if (ModelState.IsValid)
                {
                    _commonFacade   = new CommonFacade();
                    _activityFacade = new ActivityFacade();
                    ActivityViewModel activityVM = new ActivityViewModel();

                    activityVM.SearchFilter = searchFilter;
                    activityVM.ActivityList = _activityFacade.GetSRActivityList(searchFilter);

                    activityVM.SearchFilter.IsConnect = 0;

                    ViewBag.PageSize     = activityVM.SearchFilter.PageSize;
                    ViewBag.PageSizeList = _commonFacade.GetPageSizeList();

                    Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Activity").ToSuccessLogString());
                    return(PartialView("~/Views/Activity/_ActivityList.cshtml", activityVM));
                }

                return(Json(new
                {
                    Valid = false,
                    Error = string.Empty,
                    Errors = GetModelValidationErrors()
                }));
            }
            catch (Exception ex)
            {
                Logger.Error("Exception occur:\n", ex);
                Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Activity").Add("Error Message", ex.Message).ToFailLogString());
                return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 this.ControllerContext.RouteData.Values["action"].ToString())));
            }
        }
 public CorrelatingTelemetryInitializer(IActivityFacade activityFacade)
 {
     _activityFacade = activityFacade;
 }
예제 #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ActivityController"/> class.
 /// </summary>
 /// <param name="logger">The logger used to write diagnostic information.</param>
 /// <param name="activityFacade">The store to retrieve the user from.</param>
 /// <exception cref="ArgumentNullException">The <paramref name="logger"/> is <see langword="null"/>.</exception>
 /// <exception cref="ArgumentNullException">The data <paramref name="activityFacade"/> is <see langword="null"/>.</exception>
 public ActivityController(IActivityFacade activityFacade, ILogger <ActivityController> logger, IContextPersonStore contextPersonStore)
 {
     _logger             = logger ?? throw new ArgumentNullException(nameof(logger));
     _activityFacade     = activityFacade ?? throw new ArgumentNullException(nameof(activityFacade));
     _contextPersonStore = contextPersonStore ?? throw new ArgumentNullException(nameof(contextPersonStore));
 }
 public CorrelationInitializer(IActivityFacade activityFacade)
 {
     _activityFacade = activityFacade;
 }
예제 #8
0
        public ActionResult ActivityList(ActivitySearchFilter searchFilter)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Activity").ToInputLogString());

            try
            {
                if (ModelState.IsValid)
                {
                    _auditLog              = new AuditLogEntity();
                    _auditLog.Module       = Constants.Module.Customer;
                    _auditLog.Action       = Constants.AuditAction.ActivityLog;
                    _auditLog.IpAddress    = ApplicationHelpers.GetClientIP();
                    _auditLog.CreateUserId = this.UserInfo.UserId;

                    _commonFacade   = new CommonFacade();
                    _activityFacade = new ActivityFacade();
                    ActivityViewModel activityVM = new ActivityViewModel();

                    //if (string.IsNullOrWhiteSpace(searchFilter.JsonActivities))
                    //{
                    //    var results = _activityFacade.GetActivityLogList(_auditLog, searchFilter);
                    //    searchFilter.JsonActivities = JsonConvert.SerializeObject(results);
                    //}

                    activityVM.SearchFilter = searchFilter;
                    activityVM.ActivityList = _activityFacade.GetServiceRequestActivityResults(_auditLog, searchFilter);
                    if (activityVM.ActivityList != null)
                    {
                        activityVM.SearchFilter.IsConnect = 1;

                        ViewBag.PageSize     = activityVM.SearchFilter.PageSize;
                        ViewBag.PageSizeList = _commonFacade.GetPageSizeList();

                        Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Activity").ToSuccessLogString());
                        return(PartialView("~/Views/Activity/_ActivityList.cshtml", activityVM));
                    }
                    else
                    {
                        return(SRActivityList(searchFilter));
                    }
                }

                return(Json(new
                {
                    Valid = false,
                    Error = string.Empty,
                    Errors = GetModelValidationErrors()
                }));
            }
            catch (CustomException cex)
            {
                Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Activity").Add("Error Message", cex.Message).ToFailLogString());
                return(Json(new
                {
                    Valid = false,
                    Error = cex.Message
                }));
            }
            catch (Exception ex)
            {
                Logger.Error("Exception occur:\n", ex);
                Logger.Info(_logMsg.Clear().SetPrefixMsg("Search Activity").Add("Error Message", ex.Message).ToFailLogString());
                return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 this.ControllerContext.RouteData.Values["action"].ToString())));
            }
        }