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()); }
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()); })); }
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(); } }
public async Task SendInvoice(Invoice invoice, FullUserModel user) { await Send(user.Email, GenerateInvoice(invoice, user), "AccNet Online - Invoice Paid", true); }