Beispiel #1
0
        public string GenerateInvoice(Invoice invoice, FullUserModel user)
        {
            StringBuilder invoiceHtml = new StringBuilder();

            invoiceHtml.Append("<b>INVOICE : ").Append(invoice.Id.ToString()).Append("</b><br />");
            invoiceHtml.Append("<b>DATE : </b>").Append(DateTime.Now.ToShortDateString()).Append("<br />");
            invoiceHtml.Append("<b>Invoice Amt :</b> $").Append(invoice.Amount - invoice.TaxAmount).Append("<br />");
            invoiceHtml.Append("<b>Invoice Tax Amt :</b> $").Append(invoice.TaxAmount).Append("<br />");
            invoiceHtml.Append("<b>Invoice Total Amt :</b> $").Append(invoice.Amount).Append("<br />");
            invoiceHtml.Append("<br /><b>CUSTOMER CONTACT INFO:</b><br />");
            invoiceHtml.Append("<b>Name : </b>").Append(user.Firstname + " " + user.Lastname).Append("<br />");
            invoiceHtml.Append("<b>Phone : </b>").Append(user.Mobile).Append("<br />");
            invoiceHtml.Append("<b>Email : </b>").Append(user.Email).Append("<br />");
            invoiceHtml.Append("<b>Address : </b><br />").Append($"{user.Address} ,{user.City} ,{user.Province} ,{user.PostalCode}").Append("<br />");
            invoiceHtml.Append("<br /><b>Services:</b><br /><table><tr><th></th><th></th></tr>");
            // InvoiceItem should be a collection property which contains list of invoice lines
            foreach (Appointment invoiceLine in invoice.Appointment)
            {
                invoiceHtml.Append("<tr><td>").Append(invoiceLine.Duration + " minutes").Append("</td><td>")
                .Append("VIP Consultation").Append("</td></tr>");
            }

            foreach (UserSurvey invoiceLine in invoice.UserSurvey)
            {
                invoiceHtml.Append("<tr><td>").Append("-").Append("</td><td>")
                .Append("Calculating Taxes for " + invoiceLine.Survey.Name + " survey").Append("</td></tr>");
            }

            invoiceHtml.Append("</table>");
            return(invoiceHtml.ToString());
        }
Beispiel #2
0
        public FullUserModel GetFullUser(int id)
        {
            User          origin = _userService.GetFullUser(id);
            FullUserModel model  = ToBaseUserModel(origin).Map <FullUserModel>();

            model.FollowedCategories = origin.FollowedCategories.Select(c => ToCategoryModel(c));
            model.FollowedBy         = origin.FollowedBy.Select(u => ToBaseUserModel(u));
            model.Following          = origin.Following.Select(u => ToBaseUserModel(u));
            return(model);
        }
 public Task <Result <string> > RefreshToken(FullUserModel model)
 {
     return(Result <string> .TryAsync(async() =>
     {
         var result = await _membershipServiceApi.AuthAuthApiService.RefreshToken(new BaseModel {
             Id = model.Id
         });
         return Result <string> .Successful(result.Data.ToString());
     }));
 }
Beispiel #4
0
        public void OnAuthorization(AuthorizationFilterContext context)
        {
            try
            {
                var generalDataService =
                    (IGeneralDataService)context.HttpContext.RequestServices.GetService(typeof(IGeneralDataService));
                if (generalDataService.User == null)
                {
                    context.Result = new UnauthorizedResult();
                    return;
                }

                if (context.HttpContext.User.Claims.Any())
                {
                    var appSetting =
                        (CoreLib.IAppSettings)context.HttpContext.RequestServices.GetService(typeof(CoreLib.IAppSettings));
                    var creationDate = Convert.ToDateTime(context.HttpContext.User.Claims
                                                          .FirstOrDefault(c => c.Type == "CreationDate").Value);

                    if (DateTime.Now >= creationDate.AddMinutes(appSetting.JwtRefreshPeriod))
                    {
                        var authBiz = (IAuthBiz)context.HttpContext.RequestServices.GetService(typeof(IAuthBiz));
                        var user    = new FullUserModel
                        {
                            Id = new Guid(context.HttpContext.User.Claims.FirstOrDefault(c => c.Type == "Id").Value)
                        };
                        var result = authBiz.RefreshToken(user).GetAwaiter().GetResult();
                        if (result.Success)
                        {
                            context.HttpContext.Response.Headers.Add("new-token", result.Data);
                        }
                    }
                }

                if (actionPermission == null || actionPermission.Length == 0)
                {
                    return;
                }

                if (actionPermission.Any(s => !generalDataService.User.Permissions.Contains((int)s)))
                {
                    context.Result = new ForbidResult();
                }
            }
            catch (AppException ex)
            {
                context.Result = new UnauthorizedResult();
            }
            catch (Exception ex)
            {
                context.Result = new UnauthorizedResult();
            }
        }
Beispiel #5
0
 public async Task SendInvoice(Invoice invoice, FullUserModel user)
 {
     await Send(user.Email, GenerateInvoice(invoice, user), "AccNet Online - Invoice Paid", true);
 }