public MedicalVendorInvoiceItem CreateMedicalVendorInvoiceItem(MedicalVendorInvoiceItemRow medicalVendorInvoiceItemRow) { if (medicalVendorInvoiceItemRow == null) { throw new ArgumentNullException("medicalVendorInvoiceItemRow"); } var medicalVendorMedicalVendorUser = _medicalVendorMedicalVendorUserFactory. CreateMedicalVendorMedicalVendorUser(medicalVendorInvoiceItemRow); DateTime?evaluationStartTime = medicalVendorInvoiceItemRow.EvaluationStartTime != DateTime.MinValue ? medicalVendorInvoiceItemRow.EvaluationStartTime : (DateTime?)null; DateTime?evaluationEndTime = medicalVendorInvoiceItemRow.EvaluationEndTime != DateTime.MinValue ? medicalVendorInvoiceItemRow.EvaluationEndTime : (DateTime?)null; IEventCustomerPackageTestDetailService packageTestDetailService = new EventCustomerPackageTestDetailService(); return(new MedicalVendorInvoiceItem { CustomerId = medicalVendorInvoiceItemRow.CustomerId, CustomerName = medicalVendorMedicalVendorUser.Name.FullName, EvaluationStartTime = evaluationStartTime, EvaluationEndTime = evaluationEndTime, EventDate = medicalVendorInvoiceItemRow.EventDate, EventId = medicalVendorInvoiceItemRow.EventId, EventName = medicalVendorInvoiceItemRow.EventName, MedicalVendorAmountEarned = medicalVendorInvoiceItemRow.MedicalVendorAmountEarned, MedicalVendorInvoiceId = medicalVendorInvoiceItemRow.OrganizationRoleUserId, OrganizationRoleUserAmountEarned = medicalVendorInvoiceItemRow.OrganizationRoleUserAmountEarned, PackageName = packageTestDetailService.GetOrderPurchasedString(medicalVendorInvoiceItemRow.EventId, medicalVendorInvoiceItemRow.CustomerId), PodId = medicalVendorInvoiceItemRow.PodId, PodName = medicalVendorInvoiceItemRow.PodName, ReviewDate = medicalVendorInvoiceItemRow.ReviewDate }); }
public PhysicianInvoiceItemEntity CreateMedicalVendorInvoiceItemEntity(long medicalVendorInvoiceId, MedicalVendorInvoiceItem medicalVendorInvoiceItem) { if (medicalVendorInvoiceItem == null) { throw new ArgumentNullException("medicalVendorInvoiceItem"); } IEventCustomerPackageTestDetailService packageTestDetailService = new EventCustomerPackageTestDetailService(); return(new PhysicianInvoiceItemEntity { PhysicianInvoiceId = medicalVendorInvoiceId, AmountEarned = medicalVendorInvoiceItem.MedicalVendorAmountEarned, //OrganizationRoleUserAmountEarned = medicalVendorInvoiceItem.OrganizationRoleUserAmountEarned, CustomerId = medicalVendorInvoiceItem.CustomerId, CustomerName = medicalVendorInvoiceItem.CustomerName, EventDate = medicalVendorInvoiceItem.EventDate, EventId = medicalVendorInvoiceItem.EventId, EventName = medicalVendorInvoiceItem.EventName, PackageName = medicalVendorInvoiceItem.PackageName, PodId = medicalVendorInvoiceItem.PodId, PodName = medicalVendorInvoiceItem.PodName, ReviewDate = medicalVendorInvoiceItem.ReviewDate }); }
public MedicalVendorEarningCustomerAggregate CreateMedicalVendorEarningAggregate(MedicalVendorEarningCustomerRow medicalVendorEarningCustomerRow) { if (medicalVendorEarningCustomerRow == null) { throw new ArgumentNullException("medicalVendorEarningCustomerRow"); } IEventCustomerPackageTestDetailService packageTestDetailService = new EventCustomerPackageTestDetailService(); return(new MedicalVendorEarningCustomerAggregate { AmountEarned = medicalVendorEarningCustomerRow.MvamountEarned, CustomerId = medicalVendorEarningCustomerRow.CustomerId, CustomerName = new Name(medicalVendorEarningCustomerRow.CustomerFirstName, medicalVendorEarningCustomerRow.CustomerMiddleName, medicalVendorEarningCustomerRow.CustomerLastName), EvaluationDate = medicalVendorEarningCustomerRow.EvaluationDate, MedicalVendorId = medicalVendorEarningCustomerRow.OrganizationId, OrganizationRoleUserId = medicalVendorEarningCustomerRow.OrganizationRoleUserId, PackageName = packageTestDetailService.GetOrderPurchasedString(medicalVendorEarningCustomerRow.EventId, medicalVendorEarningCustomerRow.CustomerId), PhysicianName = new Name(medicalVendorEarningCustomerRow.PhysicianFirstName, medicalVendorEarningCustomerRow.PhysicianMiddleName, medicalVendorEarningCustomerRow.PhysicianLastName), }); }
public MedicalVendorInvoiceItem CreateMedicalVendorInvoiceItem(PhysicianInvoiceItemEntity medicalVendorInvoiceItemEntity) { if (medicalVendorInvoiceItemEntity == null) { throw new ArgumentNullException("medicalVendorInvoiceItemEntity", "The given MedicalVendorInvoiceItemEntity cannot be null."); } IEventCustomerPackageTestDetailService packageTestDetailService = new EventCustomerPackageTestDetailService(); return(new MedicalVendorInvoiceItem(medicalVendorInvoiceItemEntity.PhysicianInvoiceItemId) { MedicalVendorAmountEarned = medicalVendorInvoiceItemEntity.AmountEarned, //OrganizationRoleUserAmountEarned = medicalVendorInvoiceItemEntity.OrganizationRoleUserAmountEarned, CustomerId = medicalVendorInvoiceItemEntity.CustomerId, CustomerName = medicalVendorInvoiceItemEntity.CustomerName, EventDate = medicalVendorInvoiceItemEntity.EventDate, EventId = medicalVendorInvoiceItemEntity.EventId, EventName = medicalVendorInvoiceItemEntity.EventName, MedicalVendorInvoiceId = medicalVendorInvoiceItemEntity.PhysicianInvoiceId, PackageName = packageTestDetailService.GetOrderPurchasedString(medicalVendorInvoiceItemEntity.EventId, medicalVendorInvoiceItemEntity.CustomerId), PodName = medicalVendorInvoiceItemEntity.PodName, ReviewDate = medicalVendorInvoiceItemEntity.ReviewDate }); }
protected void Page_Load(object sender, EventArgs e) { Page.Title = "Confirmation"; headingtxt.InnerHtml = "<img src=\"/Content/Images/step6_public.gif\">"; var eventRepository = IoC.Resolve <IEventRepository>(); if (!IsPostBack) { if (Request.QueryString.Count > 0) { if (Request.QueryString["status"].Equals("2") || Request.QueryString["status"].Equals("4")) { var customer = GetCustomerDetail(); var logger = IoC.Resolve <ILogManager>().GetLogger("RegisterCustomersubmitt.aspx"); var notifier = IoC.Resolve <INotifier>(); var emailNotificationModelsFactory = IoC.Resolve <IEmailNotificationModelsFactory>(); var appointmentConfirmationViewModel = emailNotificationModelsFactory.GetAppointmentConfirmationModel(EventId, customer.CustomerId); notifier.NotifySubscribersViaEmail(NotificationTypeAlias.AppointmentConfirmationWithEventDetails, EmailTemplateAlias.AppointmentConfirmationWithEventDetails, appointmentConfirmationViewModel, UserId, customer.CustomerId, Request.Url.AbsolutePath, useAlternateEmail: true); if (customer.IsSubscribed == null || customer.IsSubscribed.Value == false) { logger.Info("customer has not Subscribed for SMS customerId " + customer.CustomerId); } else { if (customer.EnableTexting) { var smsNotificaionModelFactory = IoC.Resolve <IPhoneNotificationModelsFactory>(); var eventData = eventRepository.GetById(EventId); var smsNotificaionModel = smsNotificaionModelFactory.GetScreeningReminderSmsNotificationModel(customer, eventData); notifier.NotifyViaSms(NotificationTypeAlias.AppointmentConfirmation, NotificationTypeAlias.AppointmentConfirmation, smsNotificaionModel, customer.Id, customer.CustomerId, Request.Url.AbsolutePath); } } var currentSession = IoC.Resolve <ISessionContext>().UserSession; //If somebody registered within 24 hours of the event Date then send notification. if (appointmentConfirmationViewModel.EventDate.AddDays(-1).Date == DateTime.Now.Date) { var appointmentBookedInTwentyFourHoursNotificationModel = emailNotificationModelsFactory.GetAppointmentBookedInTwentyFourHoursModel(EventId, customer.CustomerId); notifier.NotifySubscribersViaEmail(NotificationTypeAlias.AppointmentBookedInTwentyFourHours, EmailTemplateAlias.AppointmentBookedInTwentyFourHours, appointmentBookedInTwentyFourHoursNotificationModel, 0, currentSession.CurrentOrganizationRole.OrganizationRoleUserId, Request.Url.AbsolutePath); } IEventCustomerPackageTestDetailService eventCustomerPackageTestDetailService = new EventCustomerPackageTestDetailService(); var eventCustomerPackageTestDetailViewData = eventCustomerPackageTestDetailService.GetEventPackageDetails(EventId, customer.CustomerId); var orderRepository = IoC.Resolve <IOrderRepository>(); var order = orderRepository.GetOrder(customer.CustomerId, EventId); _orderPackageTest.SetOrderPackageTest(order, eventCustomerPackageTestDetailViewData); string appointmentSlot = Session["TimeSlot"].ToString(); // Needed for Physician Search Page Session["PCPSearchCustomerState"] = customer.Address.State; //DataSet dsEmail; //var objEmail = new SendEmail(); //*** Notification Service string strEmail = customer.Email.ToString(); if (strEmail == "") { divEmail.Visible = false; } try { FillEventDetails(); //For static pages lblFullName.Text = HttpUtility.HtmlEncode(customer.Name.FirstName + " " + customer.Name.LastName); lblWhen.Text = HttpUtility.HtmlEncode(_eventDate + " at " + appointmentSlot); lblVenue.Text = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(_eventVenue, true); imgPrintReciept.HRef = "javascript:popupmenu2('/Communication/AppointmentConfirmation?eventId=" + EventId + "&customerId=" + customer.CustomerId + "',680,700)"; //for small reciept aSmallReciept.HRef = "javascript:popupmenu2('/Config/Content/Controls/SmallPrintReciept.aspx?CustomerName=" + customer.Name.FirstName.Replace("'", "@") + " " + customer.Name.LastName.Replace("'", "@") + "&CustomerID=" + customer.CustomerId + "&EventID=" + EventId + "&EventName=" + _eventName.Replace("'", "*") + "&Amount=" + Math.Round(order.OrderValue, 2).ToString("C2") + "&hostName=" + _hostName.Replace("'", "*") + "&hostAddress=" + _address1.Replace("'", "*").Replace("#", "@") + "&hostCitystatezip=" + _cityStateZip + "&eventDate=" + _eventDate + "&appointmentTime=" + appointmentSlot + "&username="******"&password="******"Pass" + "',310,705)"; } catch (Exception) { } } } var eventType = eventRepository.GetById(EventId).EventType; var setting = IoC.Resolve <ISettings>(); if (!setting.CapturePrimaryCarePhysician && eventType == EventType.Corporate) { NextButton.Text = "Finish"; } } }
protected void Page_Load(object sender, EventArgs e) { Page.Title = "Confirmation Reciept "; var objmaster = (Customer_CustomerMaster)Master; objmaster.SetBreadcrumb = "<a href=\"/App/Customer/HomePage.aspx\">Home</a>"; if (!IsPostBack) { var customer = GetCustomerDetail(); var appointmentRepository = IoC.Resolve <IAppointmentRepository>(); var appointment = appointmentRepository.GetEventCustomerAppointment(EventId, CustomerId); string appointmentSlot = appointment != null?appointment.StartTime.ToShortTimeString() : string.Empty; IEventCustomerPackageTestDetailService eventCustomerPackageTestDetailService = new EventCustomerPackageTestDetailService(); var eventCustomerPackageTestDetailViewData = eventCustomerPackageTestDetailService.GetEventPackageDetails(EventId, customer.CustomerId); var orderRepository = IoC.Resolve <IOrderRepository>(); var order = orderRepository.GetOrder(customer.CustomerId, EventId); _orderPackageTest.SetOrderPackageTest(order, eventCustomerPackageTestDetailViewData); var corporateAccountRepository = IoC.Resolve <ICorporateAccountRepository>(); var account = corporateAccountRepository.GetbyEventId(EventId); var settings = IoC.Resolve <ISettings>(); try { FillEventDetails(); //For static pages lblFullName.Text = HttpUtility.HtmlEncode(IoC.Resolve <ISessionContext>().UserSession.FirstName + " " + IoC.Resolve <ISessionContext>().UserSession.LastName); lblWhen.Text = HttpUtility.HtmlEncode(_eventDate + " at " + appointmentSlot); lblVenue.Text = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(_eventVenue, true); //for small reciept aSmallReciept.HRef = "javascript:popupmenu2('/Config/Content/Controls/SmallPrintReciept.aspx?CustomerID=" + CustomerId + "&EventID=" + EventId + "',310,505)"; imgBtnPrint.HRef = "javascript:popupmenu2('/Communication/AppointmentConfirmation?eventId=" + EventId + "&customerId=" + customer.CustomerId + "',680,700)"; var notifier = IoC.Resolve <INotifier>(); var emailNotificationModelsFactory = IoC.Resolve <IEmailNotificationModelsFactory>(); var currentSession = IoC.Resolve <ISessionContext>().UserSession; if (account == null || account.SendWelcomeEmail) { var welcomeEmailViewModel = emailNotificationModelsFactory.GetWelcomeWithUserNameNotificationModel(customer.UserLogin.UserName, customer.Name.FullName, customer.DateCreated); notifier.NotifySubscribersViaEmail(NotificationTypeAlias.CustomerWelcomeEmailWithUsername, EmailTemplateAlias.CustomerWelcomeEmailWithUsername, welcomeEmailViewModel, customer.Id, currentSession.CurrentOrganizationRole.OrganizationRoleUserId, Request.Url.AbsolutePath); //var welcomePasswordViewModel = emailNotificationModelsFactory.GetWelcomeWithPasswordNotificationModel(customer.Name.FullName, customer.UserLogin.Password); //notifier.NotifySubscribersViaEmail(NotificationTypeAlias.CustomerWelcomeEmailWithPassword, EmailTemplateAlias.CustomerWelcomeEmailWithPassword, welcomePasswordViewModel, customer.Id, currentSession.CurrentOrganizationRole.OrganizationRoleUserId, Request.Url.AbsolutePath); } var eventRepository = IoC.Resolve <IEventRepository>(); var eventData = eventRepository.GetById(EventId); var customerRegistrationService = IoC.Resolve <ICustomerRegistrationService>(); customerRegistrationService.SendAppointmentConfirmationMail(customer, eventData, currentSession.CurrentOrganizationRole.OrganizationRoleUserId, Request.Url.AbsolutePath, account); //If somebody registered within 24 hours of the event Date then send notification. if (eventData.EventDate.AddDays(-1).Date <= DateTime.Now.Date) { var appointmentBookedInTwentyFourHoursNotificationModel = emailNotificationModelsFactory.GetAppointmentBookedInTwentyFourHoursModel(EventId, customer.CustomerId); notifier.NotifySubscribersViaEmail(NotificationTypeAlias.AppointmentBookedInTwentyFourHours, EmailTemplateAlias.AppointmentBookedInTwentyFourHours, appointmentBookedInTwentyFourHoursNotificationModel, 0, currentSession.CurrentOrganizationRole.OrganizationRoleUserId, Request.Url.AbsolutePath); } } catch (Exception) { } } }
private void GetEventDetail() { if (EventId > 0 && CustomerId > 0) { _spCustomerId.InnerText = customerLogEditModel.CustomerId = CustomerId.ToString(); _spEventId.InnerText = customerLogEditModel.EventId = EventId.ToString(); var appointmentRepository = IoC.Resolve <IAppointmentRepository>(); var appointment = appointmentRepository.GetEventCustomerAppointment(EventId, CustomerId); if (appointment == null) { return; } var customerRepository = IoC.Resolve <ICustomerRepository>(); var customer = customerRepository.GetCustomer(CustomerId); var eventService = IoC.Resolve <IEventService>(); var eventHost = eventService.GetById(EventId); var strCustomerName = customerLogEditModel.Name = customer.NameAsString; _spAcesId.InnerText = string.IsNullOrWhiteSpace(customer.AcesId) ? "N/A" : customer.AcesId; _strEventDate = eventHost.EventDate.ToLongDateString(); var strHostAddress = new Address(eventHost.StreetAddressLine1, eventHost.StreetAddressLine2, eventHost.City, eventHost.State, eventHost.Zip, ""); customerLogEditModel.EventVenue = _strEventVenue = eventHost.Name + " " + strHostAddress; _spFullName.InnerText = strCustomerName; customerLogEditModel.EventDate = _strEventDate + " at " + appointment.StartTime.ToShortTimeString(); _spWhen.InnerText = HttpUtility.HtmlEncode(customerLogEditModel.EventDate); _spVenue.InnerText = _strEventVenue; var orderDetail = GetCurrentOrder(CustomerId, EventId); //decimal shippingPrice = orderDetail.ShippingDetailOrderDetails.Sum(shippingDetailOrderDetail => shippingDetailOrderDetail.Amount); decimal totalAmount = _order.DiscountedTotal; IEventCustomerPackageTestDetailService eventCustomerPackageTestDetailService = new EventCustomerPackageTestDetailService(); var eventCustomerPackageTestDetailViewData = eventCustomerPackageTestDetailService.GetEventPackageDetails(EventId, CustomerId); if (eventCustomerPackageTestDetailViewData.Package != null) { _spPackageName.InnerText = customerLogEditModel.PackageName = eventCustomerPackageTestDetailViewData.Package.Name; var packageTest = string.Empty; var packageTestAudit = string.Empty; foreach (var test in eventCustomerPackageTestDetailViewData.Package.Tests) { packageTest += "<li style=\"margin: 0px 10px; padding: 0px 0px; list-style: disc;\">" + test.Name + "</li>"; packageTestAudit += test.Name + ", "; } _spTestNames.InnerHtml = packageTest; customerLogEditModel.PackageTest = packageTestAudit.Length > 2 ? packageTestAudit.Substring(0, packageTestAudit.Length - 2) : "";; } else { _dvPackageMain.Visible = false; _dvAdditionalTest.InnerHtml = "Test(s):"; } var additionalTest = string.Empty; var additionalTestAudit = string.Empty; foreach (var test in eventCustomerPackageTestDetailViewData.Tests) { additionalTest += "<li style=\"margin: 0px 10px; padding: 0px 0px; list-style: disc;\">" + test.Name + "</li>"; additionalTestAudit += test.Name + ", "; } _spAdditionalTestNames.InnerHtml = additionalTest; customerLogEditModel.AdditionalTestAudit = additionalTestAudit.Length > 2 ? additionalTestAudit.Substring(0, additionalTestAudit.Length - 2) : ""; if (eventCustomerPackageTestDetailViewData.Tests.Count < 1) { _dvAdditionalTestMain.Visible = false; } _spPrice.InnerHtml = customerLogEditModel.OrderValue = totalAmount.ToString("C2"); //_spPaymentStatus.InnerHtml = (_order.TotalAmountPaid - _order.DiscountedTotal) >= 0 ? "<i>The payment captured sucessfully.</i>" : "<i>Not Paid</i>"; if (_order.DiscountedTotal > 0) { customerLogEditModel.PaymentStatus = _spPaymentStatus.InnerHtml = _order.TotalAmountPaid > 0 ? "<i>The payment captured sucessfully.</i>" : "<i>Not Paid</i>"; } else { customerLogEditModel.PaymentStatus = _spPaymentStatus.InnerHtml = "<i>Not charged.</i>"; } customerLogEditModel.PaymentStatus = ((string)customerLogEditModel.PaymentStatus).Replace("<i>", "").Replace("</i>", ""); if (eventCustomerPackageTestDetailViewData.ElectronicProduct != null) { ProductDiv.Visible = true; ProductSpan.InnerHtml = eventCustomerPackageTestDetailViewData.ElectronicProduct.Name + "<a class='jtip' title='Description|" + eventCustomerPackageTestDetailViewData.ElectronicProduct.ShortDescription + "'> <span class='smalltxtblu'>[More Info]</span></a>"; customerLogEditModel.ElectronicProduct = eventCustomerPackageTestDetailViewData.ElectronicProduct.Name; } else { ProductDiv.Visible = false; } //TODO:For Spike release it is kept here. it should be in db and need to have one more field in DB to identify Digital delivery shipping option var shippingOption = new ShippingOption { Id = 0, Name = "Unlimited Online Results (Free)", Price = 0.00m, Description = IoC.Resolve <ISettings>().CompanyName + " securely stores your screening results, including all medical device output and ultrasound images, online permanently and provides unlimited access, printing & emailing 24-hours a day, free of charge! Online results typically available in less than 2 business days however, guaranteed in 4 business days.", Disclaimer = "" }; long shippingDetailId = 0; if (orderDetail != null && orderDetail.ShippingDetailOrderDetails != null && orderDetail.ShippingDetailOrderDetails.Count() > 0) { shippingDetailId = orderDetail.ShippingDetailOrderDetails.Where(sdod => sdod.IsActive).Select(sdod => sdod.ShippingDetailId).FirstOrDefault(); } if (shippingDetailId > 0) { var shippingRepository = IoC.Resolve <IShippingDetailRepository>(); var shippingDetail = shippingRepository.GetById(shippingDetailId); IShippingOptionRepository shippingOptionRepository = new ShippingOptionRepository(); shippingOption = shippingOptionRepository.GetById(shippingDetail.ShippingOption.Id); } _spShippingOption.InnerHtml = shippingOption.Name + "<a class='jtip' title='Description/Disclaimer!|" + shippingOption.Description + "|<br /><strong>" + shippingOption.Disclaimer + "</strong><br /> '> <span class='smalltxtblu'>[More Info]</span></a>"; if (IoC.Resolve <ISessionContext>().UserSession.CurrentOrganizationRole.CheckRole((long)Roles.CallCenterRep)) { GetCcRepInstruction(EventId); } else { _spCCRepNotes.Visible = false; } var corporateAccountRepository = IoC.Resolve <ICorporateAccountRepository>(); var account = corporateAccountRepository.GetbyEventId(EventId); _spUserName.InnerText = customerLogEditModel.UserName = customer.UserLogin.UserName; //_spPassword.InnerHtml = customer.UserLogin.Password; hfUserID.Value = customer.UserLogin.Id.ToString(); SetPcpInfo(CustomerId); SetHafInfo(account); SetHraInfo(EventId, CustomerId, eventHost.EventDate, account); HideUserLoginDetails(account); } }