Пример #1
0
        public MedicalVendor Save(MedicalVendor medicalVendor)
        {
            using (var myAdapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var medicalVendorProfileEntity = _medicalVendorFactory.CreateMedicalVendorEntity(medicalVendor);
                try
                {
                    var entity = new MedicalVendorProfileEntity(medicalVendor.Id);
                    if (myAdapter.FetchEntity(entity))
                    {
                        medicalVendorProfileEntity.IsNew = false;
                    }
                }
                catch (ObjectNotFoundInPersistenceException <MedicalVendor> )
                {
                    medicalVendorProfileEntity.IsNew = true;
                }
                if (!myAdapter.SaveEntity(medicalVendorProfileEntity, true))
                {
                    throw new PersistenceFailureException();
                }

                medicalVendor.Id = medicalVendorProfileEntity.OrganizationId;
                return(medicalVendor);
            }
        }
Пример #2
0
        public MedicalVendorProfileEntity CreateMedicalVendorEntity(MedicalVendor vendor)
        {
            var profileEntity = new MedicalVendorProfileEntity(vendor.Id)
            {
                ContractId                   = vendor.ContractId,
                TypeId                       = (long)vendor.MedicalVendorType,
                IsHospitalPartner            = vendor.IsHospitalPartner,
                ResultLetterCoBrandingFileId = vendor.ResultLetterCoBrandingFileId,
                DoctorLetterFileId           = vendor.DoctorLetterFileId
            };

            return(profileEntity);
        }
Пример #3
0
        public MedicalVendor ToDomain(MedicalVendorEditModel model)
        {
            var binder        = new OrganizationCreateModelBinder();
            var medicalVendor = new MedicalVendor();

            medicalVendor = binder.ToDomain(medicalVendor, model) as MedicalVendor;
            medicalVendor.MedicalVendorType = model.MedicalVendorType;
            medicalVendor.ContractId        = model.ContractId;
            medicalVendor.IsHospitalPartner = model.IsHospitalPartner;
            //medicalVendor.PaymentInstructionId = model.PaymentInstructions.Id;
            //medicalVendor.EvaluationMode = model.EvaluationMode;
            return(medicalVendor);
        }
Пример #4
0
        public PhysicianInvoice GenerateInvoice(long medicalVendorId, long physicianId,
                                                DateTime payPeriodStartDate, DateTime payPeriodEndDate)
        {
            List <MedicalVendorInvoiceItem> medicalVendorInvoiceItems = _medicalVendorInvoiceItemRepository.
                                                                        GetMedicalVendorInvoiceItems(physicianId, payPeriodStartDate, payPeriodEndDate);

            if (medicalVendorInvoiceItems.IsEmpty())
            {
                return(null);
            }
            Physician physician =
                _physicianRepository.GetPhysician(physicianId);
            MedicalVendor medicalVendor = _medicalVendorRepository.GetMedicalVendor(medicalVendorId);

            return(_medicalVendorInvoiceFactory.CreateNewMedicalVendorInvoice(medicalVendor,
                                                                              physician, medicalVendorInvoiceItems, payPeriodStartDate, payPeriodEndDate));
        }
Пример #5
0
        public MedicalVendorEditModel ToModel(MedicalVendor organization, AddressEditModel billingAddress, AddressEditModel businessAddress, File logoImage, File teamImage, PaymentInstructions instructions,
                                              TestPayRate[] payRates, decimal customerPayRate, TestType[] permitted)
        {
            var binder = new OrganizationCreateModelBinder();
            var model  = new MedicalVendorEditModel();

            model = binder.ToModel(model, organization, billingAddress, businessAddress, logoImage, teamImage) as MedicalVendorEditModel;

            model.ContractId        = organization.ContractId;
            model.MedicalVendorType = organization.MedicalVendorType;
            model.IsHospitalPartner = organization.IsHospitalPartner;
            //model.CustomerPayRate = customerPayRate;
            //model.EvaluationMode = organization.EvaluationMode;
            //model.PaymentInstructions = instructions;
            //model.PermittedTests = permitted;
            //model.TestPayRates = payRates;
            return(model);
        }
 public PhysicianInvoice CreateNewMedicalVendorInvoice(MedicalVendor medicalVendor,
                                                       Physician physician, List <MedicalVendorInvoiceItem> medicalVendorInvoiceItems,
                                                       DateTime payPeriodStartDate, DateTime payPeriodEndDate)
 {
     return(new PhysicianInvoice
     {
         ApprovalGuid = Guid.NewGuid(),
         ApprovalStatus = ApprovalStatus.Unapproved,
         DateGenerated = DateTime.Now,
         MedicalVendorAddress = medicalVendor.BusinessAddressId.ToString(),
         MedicalVendorId = medicalVendor.Id,
         MedicalVendorInvoiceItems = medicalVendorInvoiceItems,
         MedicalVendorName = medicalVendor.Name,
         PhysicianId = physician.Id,
         PhysicianName = physician.Name.FullName,
         PaymentStatus = PaymentStatus.Unpaid,
         PayPeriodStartDate = payPeriodStartDate,
         PayPeriodEndDate = payPeriodEndDate
     });
 }
Пример #7
0
        public void GetMedicalVendorReturnsVendorWhenGivenValidId()
        {
            MedicalVendor medicalVendor = _medicalVendorRepository.GetMedicalVendor(VALID_MEDICAL_VENDOR_ID);

            Assert.IsNotNull(medicalVendor);
        }