public async Task <ObservationChangeResponse> ObservationChangeUpdate(string description, int observationId, int observation_change_id, string email) { var request = new ObservationChangeRequest { description = description, user_email = email, observation_id = observationId, observation_change_id = observation_change_id }; var response = await WebServiceClientBase.Post <ObservationChangeRequest, ObservationChangeResponse>(Constants.OperationChangeUpdateUri, request, true); return(response); }
public async Task <ObservationCommentResponse> ObservationCommentUpdate(string comment, int observationId, int observation_comment_id, string email) { var request = new ObservationCommentRequest { comment = comment, user_email = email, observation_id = observationId, observation_comment_id = observation_comment_id }; var response = await WebServiceClientBase.Post <ObservationCommentRequest, ObservationCommentResponse>(Constants.OperationCommentUpdateUri, request, true); return(response); }
public async Task <ObservationUpdateResponse> ObservationUpdate(string email, int observationId, int indicatorId, int siteId, DateTime begin, DateTime end) { var request = new ObservationUpdateRequest { user_email = email, observation_id = observationId, indicator_id = indicatorId, site_id = siteId, begin_date = begin, end_date = end }; var response = await WebServiceClientBase.Post <ObservationUpdateRequest, ObservationUpdateResponse>(Constants.OperationUpdateUri, request, true); return(response); }
public async Task <ObservationEntryUpdateResponse> ObservationEntryUpdate(int observationEntryId, int observationId, int indicatorAgeRange, string indicatorGender, int numerator, int denominator, double count, double rate, bool yesNo, string email) { var request = new ObservationEntryUpdateRequest { count = (int)count, denominator = denominator, indicator_age_range_id = indicatorAgeRange, indicator_gender = indicatorGender, numerator = numerator, observation_entry_id = observationEntryId, observation_id = observationId, rate = rate, user_email = email, yes_no = yesNo }; var response = await WebServiceClientBase.Post <ObservationEntryUpdateRequest, ObservationEntryUpdateResponse>(Constants.OperationEntryUpdateUri, request, true); return(response); }
public async Task <SubmitCreditAppResponse> SubmitCreditApp(CreditApp creditApp) { //=== test data === //var submitCreditAppRequest = new SubmitCreditAppRequest //{ // Application = new CreditAppMetaData // { // EnteredBy = "", // ApplicationType = "New", // ApplicationFormat = "STD", // TotalfinancedAmount = 0 // }, // Terms = new TermData // { // Payment = 0, // SecurityDeposit = 0.0, // RatecardID = 0, // Term = 0, // LeaseType = "", // PurchaseOption = "" // }, // Vendor = new Vendor // { // DealerContactName = "", // DealerContactEmail = "", // DealerContactphone = "" // }, // Lessee = new Lessee // { // LegalName = "test", // Address1 = "", // City = "", // State = "", // Zip = "", // Phone = "", // Contact = "" // }, // Assets = new List<Asset>() // { // new Asset // { // Quantity = 1, // Description = "", // SerialNumber = "", // Model = "", // Manufacturer = "", // TotalAmount = 0, // IsUsed = 0 // } // } //}; var dealerProfile = _profileRepo.GetDealerProfile(); var submitCreditAppRequest = new SubmitCreditAppRequest { Application = new CreditAppMetaData { EnteredBy = dealerProfile.DealerContactName, ApplicationType = "New", ApplicationFormat = "STD", TotalFinancedAmount = creditApp.TotalFinancedAmount, MaintenanceFeeAmount = creditApp.MaintenanceFeeAmount, Notes = creditApp.Comments }, Terms = new TermData { Payment = creditApp.Payment, //from quote SecurityDeposit = 0.0, RatecardID = creditApp.RateCardId, //from quote Term = creditApp.DesiredFinanceTerm, LeaseType = "", //new field on screen, wait for Carol to get back to us PurchaseOption = creditApp.DesiredPurchaseOption }, Vendor = new Vendor { DealerName = dealerProfile.DealerName, DealerContactName = dealerProfile.DealerContactName, DealerContactEmail = dealerProfile.DealerContactEmail, DealerContactPhone = dealerProfile.DealerContactPhone, DealerRelationship = "Booking" }, Lessee = new Lessee { LegalName = creditApp.CompanyName, Address1 = creditApp.MailingAddress, City = creditApp.City, State = creditApp.State, Zip = creditApp.PostalCode, Phone = creditApp.PhoneNumber, DBA = creditApp.DBA, Contact = creditApp.ContactName, ContactEmail = creditApp.ContactEmail, ContactPhone = creditApp.ContactPhone }, Assets = new List <Asset>() { new Asset { //new fields on screen, wait for Carol to get back to us Quantity = 1, Description = creditApp.EquipmentDescription, TotalAmount = creditApp.TotalAmount, SerialNumber = "", Model = "", Manufacturer = "", IsUsed = 0 } }, Guarantors = new List <Guarantor>() { new Guarantor { FirstName = creditApp.GuarantorFirstName, MiddleInitial = creditApp.GuarantorMiddleInitial, LastName = creditApp.GuarantorLastName, Address = creditApp.GuarantorAddress, City = creditApp.GuarantorCity, State = creditApp.GuarantorState, Zip = creditApp.GuarantorZip } } }; var response = await WebServiceClientBase.Post <SubmitCreditAppRequest, SubmitCreditAppResponse>(Constants.CreditAppUri, submitCreditAppRequest, true); return(response); }
public async Task <MonthlyPaymentResponse> GetMonthlyPayments(Quote quote) { //loop through quote rate cards and maintenancy types to create list of PaymentCalculationParameterSets //terms, purchase options, IEnumerable <int> terms = quote.Terms.Select(t => t.Term); IEnumerable <string> maintenanceTypes = quote.MaintenanceTypes.Select(m => m.MaintenanceTypeDescription); IEnumerable <string> purchaseOptions = quote.PurchaseOptions.Select(p => p.PurchaseOptionDesc); var paymentParamList = new List <PaymentCalculationParameterSet> (); foreach (RateCardLocal card in quote.RateCards) { if (maintenanceTypes.Count() > 0) { foreach (string mtype in maintenanceTypes) { //need to create a set for each rate card/maint type combo //var paymentSet = new PaymentCalculationParameterSet () { // RateCardID = card.RateCardID, // EquipmentCost = quote.EquipmentAmount, // NumberOfPoints = quote.Points, // MaintenanceType = mtype, // MaintenanceAmount = 0, // IncludeInvalidPayments = 0, // AdvancePayments = new List<AdvancePayment> { new AdvancePayment { AdvancePaymentValue = quote.PassThrough } }, // PurchaseOptions = purchaseOptions.ToList(), // Terms = terms.ToList() //}; //paymentParamList.Add (paymentSet); var payment = new PaymentCalculationParameterSet() { RateCardID = card.RateCardID, EquipmentCost = quote.EquipmentAmount, NumberOfPoints = quote.Points, MaintenanceType = mtype.ToString(), MaintenanceAmount = quote.PassThrough, IncludeInvalidPayments = 0, AdvancePayments = quote.AdvancePayments, //AdvancePayments = new List<AdvancePayment> { new AdvancePayment { AdvancePaymentDescription = "Pass Through", AdvancePaymentValue = quote.PassThrough } }, PurchaseOptions = purchaseOptions.ToList(), Terms = terms.ToList() }; paymentParamList.Add(payment); } } else { var paymentSet = new PaymentCalculationParameterSet() { RateCardID = card.RateCardID, EquipmentCost = quote.EquipmentAmount, NumberOfPoints = quote.Points, MaintenanceType = "", MaintenanceAmount = quote.PassThrough, IncludeInvalidPayments = 0, AdvancePayments = new List <AdvancePayment> { new AdvancePayment { AdvancePaymentDescription = "Pass Through", AdvancePaymentValue = quote.PassThrough } }, PurchaseOptions = purchaseOptions.ToList(), Terms = terms.ToList() }; paymentParamList.Add(paymentSet); } } var monthlyPaymentRequest = new MonthlyPaymentRequest() { CalculatePayments = paymentParamList }; //TODO: mocked this out for testing, replace with user inputs //var paymentParamList = new List<PaymentCalculationParameterSet>() //{ // new PaymentCalculationParameterSet() // { // RateCardID = 8509, // EquipmentCost = 50000, // NumberOfPoints = 3, // MaintenanceType = "TPM", // MaintenanceAmount = 1000, // IncludeInvalidPayments = 0, // AdvancePayments = new List<AdvancePayment> { new AdvancePayment { AdvancePaymentValue = 0 } }, // PurchaseOptions = new List<string> { "FMV Lease", "FMV Rental" }, // Terms = new List<int> { 36, 39, 48, 60 } // } //}; //var monthlyPaymentRequest = new MonthlyPaymentRequest() //{ // CalculatePayments = paymentParamList //}; var response = await WebServiceClientBase.Post <MonthlyPaymentRequest, MonthlyPaymentResponse> (Constants.MonthlyPaymentUri, monthlyPaymentRequest, true); ////TODO: mocked this out for testing, replace with user inputs //var paymentParamList = new List<PaymentCalculationParameterSet>() //{ // new PaymentCalculationParameterSet() // { // RateCardID = 9816, // EquipmentCost = 50000, // NumberOfPoints = 3, // MaintenanceType = "TPM", // MaintenanceAmount = 1000, // IncludeInvalidPayments = 0, // AdvancePayments = new List<AdvancePayment> { new AdvancePayment { AdvancePaymentValue = 0 } }, // PurchaseOptions = new List<string> { "FMV Lease", "FMV Rental" }, // Terms = new List<int> { 36, 39, 48, 60 } // } //}; //var monthlyPaymentRequest = new MonthlyPaymentRequest() //{ // CalculatePayments = paymentParamList //}; return(response); }
public async Task <ObservationSaveResponse> ObservationSave(string email, Observation observation) { //need to call all the saves ObservationSaveResponse returnValue = new ObservationSaveResponse(); //observation var request = new ObservationUpdateRequest { user_email = email, observation_id = observation.Observation_id, indicator_id = observation.Indicator_id, site_id = observation.Site_id, begin_date = (System.DateTime)observation.Begin_Date, end_date = (System.DateTime)observation.End_Date }; var response = await WebServiceClientBase.Post <ObservationUpdateRequest, ObservationUpdateResponse>(Constants.OperationUpdateUri, request, true); if (response != null) { observation.Observation_id = response.observation_id; observation.ModifiedLocally = false; //save observation entry foreach (ObservationEntry entry in observation.ObservationEntries) { var entryRes = await ObservationEntryUpdate(entry.ObservationEntryId == null? 0 : (int)entry.ObservationEntryId, observation.Observation_id, entry.Indicator_Age_Range_Id == null? 0 : (int)entry.Indicator_Age_Range_Id, entry.Indicator_Gender, entry.Numerator == null? 0 : (int)entry.Numerator, entry.Denominator == null? 0 : (int)entry.Denominator, entry.Count == null? 0 : (int)entry.Count, entry.Rate == null? 0 : (int)entry.Rate, entry.Yes_No == null?false : (bool)entry.Yes_No, email); if (entryRes != null) { entry.ObservationEntryId = entryRes.observation_entry_id; entry.ModifiedLocally = false; } } //save observation change foreach (ObservationChange change in observation.Changes) { var changeRes = await ObservationChangeUpdate(change.Description, observation.Observation_id, change.ChangeId, email); if (changeRes != null) { change.ChangeId = changeRes.observation_change_id; change.ModifiedLocally = false; } } //save observation comment foreach (ObservationComment comment in observation.Comments) { var commentRes = await ObservationCommentUpdate(comment.Comment, observation.Observation_id, comment.CommentId, email); if (commentRes != null) { comment.CommentId = commentRes.observation_comment_id; comment.ModifiedLocally = false; } } //save observation attachment foreach (ObservationAttachment attach in observation.Attachments) { //byte[] file = new byte[attach.Bytes.Length]; //int result = fileBytes.InputStream.Read(file, 0, fileBytes.ContentLength); //attachment.attachment = file; //attachment.approved = false; //attachment.createdby_userid = CurrentUser.Id; //attachment.created_date = DateTime.Now; //db.t_observation_attachment.Add(attachment); //db.SaveChanges(); var buffer = attach.Bytes; if (buffer != null) { string s = System.Text.Encoding.UTF8.GetString(buffer, 0, buffer.Length); var attachRes = await ObservationAttachmentUpdate(attach.Bytes, s, attach.Attachment_File_Name, observation.Observation_id, attach.AttachmentId, email); if (attachRes != null) { attach.AttachmentId = attachRes.observation_attachment_id; attach.ModifiedLocally = false; } } } } else { returnValue.ErrorStatusCode = 500; } returnValue.observation = observation; return(returnValue); }