protected void GenerateInvoiceItem(int InvoiceId, int CoaItemId, Decimal DormitoryPrice) { // Save Invoice Item var invoiceItemDormitory = new InvoiceItem(); invoiceItemDormitory.InvoiceId = InvoiceId; invoiceItemDormitory.InvoiceCoaItemId = CoaItemId; invoiceItemDormitory.StandardPrice = DormitoryPrice; invoiceItemDormitory.StudentPrice = DormitoryPrice; invoiceItemDormitory.AgencyPrice = DormitoryPrice; invoiceItemDormitory.CreatedId = CurrentUserId; invoiceItemDormitory.CreatedDate = DateTime.Now; invoiceItemDormitory.UpdatedId = CurrentUserId; invoiceItemDormitory.UpdatedDate = DateTime.Now; var cInvoiceDormitory = new CInvoiceItem(); cInvoiceDormitory.Add(invoiceItemDormitory); }
protected void RadToolBar1_ButtonClick(object sender, RadToolBarEventArgs e) { switch (e.Item.Text) { case "Save": if (IsValid) { foreach (var chkItem in RadComboBoxMenu.CheckedItems) { var cInvoice = new CInvoice(); var invoice = new Erp2016.Lib.Invoice(); invoice.StudentId = Convert.ToInt32(chkItem.Value); invoice.Status = (int)CConstValue.InvoiceStatus.Pending; // pending invoice.SiteLocationId = CurrentSiteLocationId; invoice.InvoiceType = (int)CConstValue.InvoiceType.Simple; //Simple Invoice(SI) invoice.CreatedId = CurrentUserId; invoice.CreatedDate = DateTime.Now; var invoiceId = cInvoice.Add(invoice); //DB:Invoice if (invoiceId > 0) { var cInvoiceItem = new CInvoiceItem(); var gridData = InvoiceItemGrid1.GetGridData(); gridData = gridData.Insert(0, ","); var gridDataRows = gridData.Split('|'); foreach (var gridDataRow in gridDataRows) { if (string.IsNullOrEmpty(gridDataRow)) { break; } var gridDataRowCell = gridDataRow.Split(','); var invoiceCoaItem = gridDataRowCell[1]; var standardPrice = gridDataRowCell[2]; var studentPrice = gridDataRowCell[3]; var agencyPrice = gridDataRowCell[4]; var remark = gridDataRowCell[5]; var invoiceItem = new InvoiceItem(); invoiceItem.InvoiceId = invoiceId; var cInvoiceCoaItem = new CInvoiceCoaItem(); invoiceItem.InvoiceCoaItemId = cInvoiceCoaItem.Get(invoiceCoaItem).InvoiceCoaItemId; if (!string.IsNullOrEmpty(standardPrice)) { invoiceItem.StandardPrice = Convert.ToDecimal(standardPrice.Replace("$", string.Empty)); } if (!string.IsNullOrEmpty(studentPrice)) { invoiceItem.StudentPrice = Convert.ToDecimal(studentPrice.Replace("$", string.Empty)); } if (!string.IsNullOrEmpty(agencyPrice)) { invoiceItem.AgencyPrice = Convert.ToDecimal(agencyPrice.Replace("$", string.Empty)); } invoiceItem.Remark = remark; invoiceItem.CreatedId = CurrentUserId; invoiceItem.CreatedDate = DateTime.Now; cInvoiceItem.Add(invoiceItem); } } } RunClientScript("Close();"); } else { ShowMessage("Error to add Simple Invoice"); } break; case "Cancel": RunClientScript("Close();"); break; } }
public void ValidateInvoiceItems() { if (ViewState["IsSaveChanged"] != null) { // init ViewState["IsSaveChanged"] = null; // =========== // validation // =========== var cInvoice = new CInvoice(); var invoice = cInvoice.Get(InvoiceId); var cInvoiceItem = new CInvoiceItem(); var invoiceItem = cInvoiceItem.GetInvoiceItems(InvoiceId); decimal calCommissionFee = 0; foreach (InvoiceItem item in invoiceItem) { // direct Student if (invoice.AgencyId == null) { if (item.AgencyPrice != 0) { // update price which isnot zero item.AgencyPrice = 0; cInvoiceItem.Update(item); } } // from Agency else { switch (item.InvoiceCoaItemId) { // tuition case 1: calCommissionFee = (decimal)item.AgencyPrice; break; // scholarship case 2: // promotion Credit case 3: // Advertising fee case 4: // Commision - Incentive case 5: calCommissionFee += (decimal)item.AgencyPrice; break; // Commission - Tuition case 6: var cAgency = new CAgency(); var agency = cAgency.Get((int)invoice.AgencyId); if (agency.CommissionRateBasic != null) { // update calculated commissionFee item.AgencyPrice = calCommissionFee * ((decimal)agency.CommissionRateBasic / -100); cInvoiceItem.Update(item); } break; } } // get standardPrice decimal maximumPrice = (decimal)(item.StudentPrice > item.AgencyPrice ? (item.StudentPrice < 0 ? 0 : item.StudentPrice) : (item.AgencyPrice < 0 ? 0 : item.AgencyPrice)); decimal?tempStandardPrice = 0; // tuition if (item.InvoiceCoaItemId == 1) { if (item.StandardPrice > 0) { tempStandardPrice = item.StandardPrice; } else { tempStandardPrice = item.StandardPrice > maximumPrice ? item.StandardPrice : maximumPrice; } } // others else { tempStandardPrice = item.StandardPrice > maximumPrice ? item.StandardPrice : maximumPrice; } if (item.StandardPrice != tempStandardPrice) { item.StandardPrice = tempStandardPrice; cInvoiceItem.Update(item); } } } }
protected void ToolbarButtonClick(object sender, RadToolBarEventArgs e) { switch (e.Item.Text) { case "Request": if (IsValid) { var cInvoice = new CInvoice(); var original = cInvoice.Get(InvoiceId); if (original != null) { original.Status = (int)CConstValue.InvoiceStatus.Invoiced_Hold; original.UpdatedId = CurrentUserId; if (cInvoice.Update(original)) { var cRefundInvoice = new CInvoice(); var refundInvoice = new Erp2016.Lib.Invoice(); CGlobal.Copy(original, refundInvoice); refundInvoice.OriginalInvoiceId = original.InvoiceId; switch (original.InvoiceType) { case (int)CConstValue.InvoiceType.General: case (int)CConstValue.InvoiceType.Simple: case (int)CConstValue.InvoiceType.Manual: refundInvoice.InvoiceType = (int)CConstValue.InvoiceType.Refund_RF; break; case (int)CConstValue.InvoiceType.Homestay: refundInvoice.InvoiceType = (int)CConstValue.InvoiceType.Refund_HR; break; case (int)CConstValue.InvoiceType.Dormitory: refundInvoice.InvoiceType = (int)CConstValue.InvoiceType.Refund_DR; break; } refundInvoice.Status = (int)CConstValue.InvoiceStatus.Pending; refundInvoice.CreatedId = CurrentUserId; refundInvoice.CreatedDate = DateTime.Now; var invoiceId = cRefundInvoice.Add(refundInvoice); if (invoiceId > 0) { var refundInvoiceItems = new CInvoiceItem(); refundInvoiceItems.RefundItemsUpdate(original.InvoiceId, invoiceId, Convert.ToDecimal(RefundInfo1.GetRefundRate().Value), CurrentUserId); var cCreditMemo = new CCreditMemo(); var creditMemo = new CreditMemo(); creditMemo.CreditMemoType = (int)CConstValue.CreditMemoType.Refund; creditMemo.InvoiceId = invoiceId; //Refund Invoice Id creditMemo.OriginalCreditMemoAmount = 0; creditMemo.CreatedId = CurrentUserId; creditMemo.CreatedDate = DateTime.Now; creditMemo.IsActive = false; var creditMemoId = cCreditMemo.Add(creditMemo); if (creditMemoId > 0) { var cCreditMemoPayout = new CCreditMemoPayout(); var creditMemoPayout = new CreditMemoPayout(); creditMemoPayout.CreditMemoId = creditMemoId; creditMemoPayout.Amount = 0; creditMemoPayout.IsActive = false; creditMemoPayout.CreatedId = CurrentUserId; creditMemoPayout.CreatedDate = DateTime.Now; var creditMemoPayoutId = cCreditMemoPayout.Add(creditMemoPayout); if (creditMemoPayoutId > 0) { var cRefund = new CRefund(); var refund = new Refund(); refund.CreditMemoPayoutId = creditMemoPayoutId; refund.InvoiceId = invoiceId; refund.RefundDate = Convert.ToDateTime(RefundInfo1.RadActualDate().SelectedDate); refund.RefundRate = Convert.ToDouble(RefundInfo1.GetRefundRate().Value); refund.RefundReason = RefundInfo1.GetReason().Text; refund.IsActive = false; refund.CreatedId = CurrentUserId; refund.CreatedDate = DateTime.Now; if (cRefund.Add(refund) > 0) { // save uploading file FileDownloadList1.SaveFile(refund.RefundId); RunClientScript("Close();"); } ShowMessage("failed to update inqury (Add Refund Info)"); } else { ShowMessage("failed to update inqury (Add CreditMemoPayout)"); } } else { ShowMessage("failed to update inqury (Add CreditMemo)"); } } else { ShowMessage("failed to update inqury (Add Refund Invoice)"); } } else { ShowMessage("failed to update inqury (Update Original Invoice)"); } } else { ShowMessage("failed to update inqury (Original Invoice is null)"); } } break; case "Close": RunClientScript("Close();"); break; } }
protected void ToolbarButtonClick(object sender, RadToolBarEventArgs e) { if (e.Item.Text == @"Save") { if (IsValid) { if (!string.IsNullOrEmpty(ddlAgency.SelectedValue) && (tbCommissionRate.Value == 0 || tbCommissionRate.Value == null)) { ShowMessage("Commision Rate should be written."); return; } var programId = Convert.ToInt32(ddlPackageProgram.SelectedValue.Split(',')[1]); var packageProgramId = Convert.ToInt32(ddlPackageProgram.SelectedValue.Split(',')[0]); var cProgramReg = new CProgramRegistration(); var programReg = new ProgramRegistration(); programReg.StudentId = Id; programReg.ProgramId = programId; programReg.PackageProgramId = packageProgramId; programReg.StartDate = tbPrgStartDate.SelectedDate; programReg.EndDate = tbPrgEndDate.SelectedDate; programReg.ProgramRegistrationType = 9; programReg.CreatedId = CurrentUserId; programReg.CreatedDate = DateTime.Now; var proRegId = cProgramReg.Add(programReg); //DB:ProgramRegistration if (proRegId > 0) { // add basic invoice first, then homestay or dormitory if exists. var cInvoice = new CInvoice(); var invoice = new Invoice(); invoice.ProgramRegistrationId = proRegId; invoice.StudentId = Id; if (!string.IsNullOrEmpty(ddlAgency.SelectedValue)) { invoice.AgencyId = Convert.ToInt32(ddlAgency.SelectedValue); invoice.IsAgencySeasonalRate = RadButtonAgencyRateSeasonal.Checked; invoice.AgencyRate = tbCommissionRate.Value; } invoice.SiteLocationId = CurrentSiteLocationId; invoice.InvoiceType = (int)CConstValue.InvoiceType.General; //General Invoice(IN) invoice.Status = (int)CConstValue.InvoiceStatus.Pending; // Pending invoice.CreatedId = CurrentUserId; invoice.CreatedDate = DateTime.Now; var invoiceId = cInvoice.Add(invoice); //DB:Invoice if (invoiceId > 0) { var invoiceItems = new List <InvoiceItem>(); var homestayInvoiceItems = new List <InvoiceItem>(); var dormitoryInvoiceItems = new List <InvoiceItem>(); var airportInvoiceItems = new List <InvoiceItem>(); var cInvoiceItem = new CInvoiceItem(); foreach (GridDataItem item in _radGridInvoiceItems.Items) { var invoiceCoaItemId = (RadDropDownList)item.FindControl("ddlInvoiceItems"); var standardPrice = (Label)item.FindControl("lblStandardPrice"); var studentPrice = (Label)item.FindControl("lblStudentPrice"); var agencyPrice = (Label)item.FindControl("lblAgencyPrice"); var invoiceItem = new InvoiceItem(); invoiceItem.InvoiceId = invoiceId; invoiceItem.InvoiceCoaItemId = Convert.ToInt32(invoiceCoaItemId.SelectedValue); invoiceItem.StandardPrice = Convert.ToDecimal(standardPrice.Text.Replace("$", string.Empty)); invoiceItem.StudentPrice = Convert.ToDecimal(studentPrice.Text.Replace("$", string.Empty)); invoiceItem.AgencyPrice = Convert.ToDecimal(agencyPrice.Text.Replace("$", string.Empty)); invoiceItem.CreatedId = CurrentUserId; invoiceItem.CreatedDate = DateTime.Now; switch (invoiceItem.InvoiceCoaItemId) { case (int)CConstValue.InvoiceCoaItemForHomestay.HomestayBasic: case (int)CConstValue.InvoiceCoaItemForHomestay.HomestayBasicDiscount: case (int)CConstValue.InvoiceCoaItemForHomestay.HomestayPlacement: case (int)CConstValue.InvoiceCoaItemForHomestay.HomestayPlacementDiscount: case (int)CConstValue.InvoiceCoaItemForHomestay.HomestayInternetGuarantee: case (int)CConstValue.InvoiceCoaItemForHomestay.HomestayOtherDiscount: homestayInvoiceItems.Add(invoiceItem); break; case (int)CConstValue.InvoiceCoaItemForDormitory.DormitoryBasic: case (int)CConstValue.InvoiceCoaItemForDormitory.DormitoryBasicDiscount: case (int)CConstValue.InvoiceCoaItemForDormitory.DormitoryPlacement: case (int)CConstValue.InvoiceCoaItemForDormitory.DormitoryPlacementDiscount: case (int)CConstValue.InvoiceCoaItemForDormitory.DormitoryKeyDeposit: case (int)CConstValue.InvoiceCoaItemForDormitory.DormitoryKeyDepositDiscount: dormitoryInvoiceItems.Add(invoiceItem); break; case (int)CConstValue.InvoiceCoaItem.AirportPickup: case (int)CConstValue.InvoiceCoaItem.AirportPickupDiscount: case (int)CConstValue.InvoiceCoaItem.AirportDropoff: case (int)CConstValue.InvoiceCoaItem.AirportDropoffDiscount: case (int)CConstValue.InvoiceCoaItem.AirportPickupAndDropoff: case (int)CConstValue.InvoiceCoaItem.AirportPickupAndDropoffDiscount: airportInvoiceItems.Add(invoiceItem); break; default: invoiceItems.Add(invoiceItem); break; } } // add invoiceItems except for homestay and dormitory if (cInvoiceItem.Add(invoiceItems) == false) { ShowMessage("Error : add invoiceItem"); } // add homestay if exist. if (homestayInvoiceItems.Count > 0) { var newHomestayRegistrationId = new CHomestayStudentRequest().Add(new HomestayStudentBasic() { HomestayStudentStatus = 0, // Pending StudentId = Id, PlacedUserId = 0, CreatedUserId = CurrentUserId, CreatedDate = DateTime.Now }); if (newHomestayRegistrationId > 0) { var invoiceForHomestay = new Invoice(); invoiceForHomestay.HomestayRegistrationId = newHomestayRegistrationId; invoiceForHomestay.StudentId = Id; if (!string.IsNullOrEmpty(ddlAgency.SelectedValue)) { invoiceForHomestay.AgencyId = Convert.ToInt32(ddlAgency.SelectedValue); invoiceForHomestay.IsAgencySeasonalRate = RadButtonAgencyRateSeasonal.Checked; invoiceForHomestay.AgencyRate = tbCommissionRate.Value; } invoiceForHomestay.SiteLocationId = CurrentSiteLocationId; invoiceForHomestay.InvoiceType = (int)CConstValue.InvoiceType.Homestay; invoiceForHomestay.Status = (int)CConstValue.InvoiceStatus.Pending; invoiceForHomestay.CreatedId = CurrentUserId; invoiceForHomestay.CreatedDate = DateTime.Now; var invoiceForHomestayId = cInvoice.Add(invoiceForHomestay); if (invoiceForHomestayId > 0) { foreach (var h in homestayInvoiceItems) { h.InvoiceId = invoiceForHomestayId; } foreach (var a in airportInvoiceItems) { a.InvoiceId = invoiceForHomestayId; } // merge between homestay Items and airport Items homestayInvoiceItems.AddRange(airportInvoiceItems); if (cInvoiceItem.Add(homestayInvoiceItems) == false) { ShowMessage("Error : add invoiceHomestayItem"); } } else { ShowMessage("Error : add Homestay"); } } else { ShowMessage("Error : add Homestay registration"); } } // add dormitory if exist. if (dormitoryInvoiceItems.Count > 0) { var newDormitoryRegistrationId = new CDormitoryRegistrations().Add(new DormitoryRegistration() { DormitoryStudentStatus = 0, // Pending StudentId = Id, PlacedUserId = 0, CreatedId = CurrentUserId, CreatedDate = DateTime.Now }); if (newDormitoryRegistrationId > 0) { var invoiceForDormitory = new Invoice(); invoiceForDormitory.DormitoryRegistrationId = newDormitoryRegistrationId; invoiceForDormitory.StudentId = Id; if (!string.IsNullOrEmpty(ddlAgency.SelectedValue)) { invoiceForDormitory.AgencyId = Convert.ToInt32(ddlAgency.SelectedValue); invoiceForDormitory.IsAgencySeasonalRate = RadButtonAgencyRateSeasonal.Checked; invoiceForDormitory.AgencyRate = tbCommissionRate.Value; } invoiceForDormitory.SiteLocationId = CurrentSiteLocationId; invoiceForDormitory.InvoiceType = (int)CConstValue.InvoiceType.Dormitory; invoiceForDormitory.Status = (int)CConstValue.InvoiceStatus.Pending; invoiceForDormitory.CreatedId = CurrentUserId; invoiceForDormitory.CreatedDate = DateTime.Now; var invoiceForDormitoryId = cInvoice.Add(invoiceForDormitory); if (invoiceForDormitoryId > 0) { foreach (var h in dormitoryInvoiceItems) { h.InvoiceId = invoiceForDormitoryId; } foreach (var a in airportInvoiceItems) { a.InvoiceId = invoiceForDormitoryId; } // merge between dormitory Items and airport Items dormitoryInvoiceItems.AddRange(airportInvoiceItems); if (cInvoiceItem.Add(dormitoryInvoiceItems) == false) { ShowMessage("Error : add invoiceDormitoryItem"); } } else { ShowMessage("Error : add Dormitory"); } } else { ShowMessage("Error : add Dormitory registration"); } } RunClientScript("Close();"); } else { ShowMessage("failed to update inqury (Invoice)"); } } else { ShowMessage("failed to update inqury (Program Registragion)"); } } } }
protected void ToolbarButtonClick(object sender, RadToolBarEventArgs e) { if (e.Item.Text == "Save") { if (IsValid) { if (!string.IsNullOrEmpty(ddlAgency.SelectedValue) && (tbCommissionRate.Value == 0 || tbCommissionRate.Value == null)) { ShowMessage("Commision Rate should be written."); return; } var cScholarship = new CScholarship(); if (ScholarshipId != null) { var scholarship = cScholarship.GetVwScholarship((int)ScholarshipId); if (RadButtonAvailableScholarshipAmount.Checked) { if (scholarship.AvailableAmount == 0 || (double)scholarship.AvailableAmount < RadNumericTextBoxScholarshipAmount.Value) { ShowMessage("Scholarship Amount is bigger than availalble Amount."); return; } } else { if (scholarship.AvailableWeeks == 0 || (double)scholarship.AvailableWeeks < RadNumericTextBoxScholarshipWeeks.Value) { ShowMessage("Scholarship Weeks are bigger than availalble Weeks."); return; } } } var cProgramReg = new CProgramRegistration(); var programReg = new ProgramRegistration(); programReg.StudentId = Id; programReg.ProgramId = Convert.ToInt32(ddlProgramName.SelectedValue); programReg.StartDate = tbPrgStartDate.SelectedDate; programReg.EndDate = tbPrgEndDate.SelectedDate; programReg.ProgramRegistrationType = 9; if (!string.IsNullOrEmpty(ddlProgramWeeks.SelectedValue)) { programReg.Weeks = Convert.ToInt32(ddlProgramWeeks.SelectedValue); } if (!string.IsNullOrEmpty(ddlPrgHours.SelectedValue)) { programReg.HrsStatus = Convert.ToInt32(ddlPrgHours.SelectedValue); } programReg.CreatedId = CurrentUserId; programReg.CreatedDate = DateTime.Now; var proRegId = cProgramReg.Add(programReg); //DB:ProgramRegistration if (proRegId > 0) { var cInvoice = new CInvoice(); var invoice = new Invoice(); invoice.ProgramRegistrationId = proRegId; invoice.StudentId = Id; if (!string.IsNullOrEmpty(ddlAgency.SelectedValue)) { invoice.AgencyId = Convert.ToInt32(ddlAgency.SelectedValue); invoice.IsAgencySeasonalRate = RadButtonAgencyRateSeasonal.Checked; invoice.AgencyRate = tbCommissionRate.Value; } if (ScholarshipId != null) { invoice.ScholarshipId = ScholarshipId; if (RadButtonAvailableScholarshipAmount.Checked) { invoice.ScholarshipAmount = (decimal)RadNumericTextBoxScholarshipAmount.Value; } else { invoice.ScholarshipAmount = (decimal)RadNumericTextBoxScholarshipAmount.Value; invoice.ScholarshipWeeks = (int)RadNumericTextBoxScholarshipWeeks.Value; } } invoice.PromotionId = PromotionId; invoice.SiteLocationId = CurrentSiteLocationId; invoice.InvoiceType = (int)CConstValue.InvoiceType.General; //General Invoice(IN) invoice.Status = (int)CConstValue.InvoiceStatus.Pending; // Pending invoice.CreatedId = CurrentUserId; invoice.CreatedDate = DateTime.Now; var invoiceId = cInvoice.Add(invoice); //DB:Invoice if (invoiceId > 0) { var cInvoiceItem = new CInvoiceItem(); foreach (GridDataItem item in _radGridInvoiceItems.Items) { var invoiceCoaItemId = (RadDropDownList)item.FindControl("ddlInvoiceItems"); var standardPrice = (Label)item.FindControl("lblStandardPrice"); var studentPrice = (Label)item.FindControl("lblStudentPrice"); var agencyPrice = (Label)item.FindControl("lblAgencyPrice"); var invoiceItem = new InvoiceItem(); invoiceItem.InvoiceId = invoiceId; invoiceItem.InvoiceCoaItemId = Convert.ToInt32(invoiceCoaItemId.SelectedValue); invoiceItem.StandardPrice = Convert.ToDecimal(standardPrice.Text.Replace("$", string.Empty)); invoiceItem.StudentPrice = Convert.ToDecimal(studentPrice.Text.Replace("$", string.Empty)); invoiceItem.AgencyPrice = Convert.ToDecimal(agencyPrice.Text.Replace("$", string.Empty)); invoiceItem.CreatedId = CurrentUserId; invoiceItem.CreatedDate = DateTime.Now; cInvoiceItem.Add(invoiceItem); } // disable used scholarship if (ScholarshipId != null) { var sScholarship = new CScholarship(); var scholarship = sScholarship.Get((int)ScholarshipId); scholarship.IsActive = true; sScholarship.Update(scholarship); } RunClientScript("Close();"); } else { ShowMessage("failed to update inqury (Add Invoice Items)"); } } else { ShowMessage("failed to update inqury (Invoice)"); } } } else { ShowMessage("Fill in data"); } }
protected void ToolbarButtonClick(object sender, RadToolBarEventArgs e) { switch (e.Item.Text) { case "Request": if (IsValid) { var cOriginalInvoice = new CInvoice(); var original = cOriginalInvoice.Get(InvoiceId); if (original != null) { original.Status = (int)CConstValue.InvoiceStatus.Invoiced_Hold; //Invoiced(Hold) if (cOriginalInvoice.Update(original)) { var originalInvoiceId = original.InvoiceId; var cTransferInvoice = new CInvoice(); var transferInvoice = new Invoice(); transferInvoice.OriginalInvoiceId = originalInvoiceId; transferInvoice.InvoiceType = (int)CConstValue.InvoiceType.Refund_TF; //Transfer Invoice transferInvoice.StudentId = original.StudentId; transferInvoice.AgencyId = original.AgencyId; transferInvoice.ProgramRegistrationId = original.ProgramRegistrationId; transferInvoice.HomestayRegistrationId = original.HomestayRegistrationId; transferInvoice.ScholarshipId = original.ScholarshipId; transferInvoice.PromotionId = original.PromotionId; transferInvoice.SiteLocationId = original.SiteLocationId; transferInvoice.IsFinancialGurantee = original.IsFinancialGurantee; transferInvoice.Status = (int)CConstValue.InvoiceStatus.Pending; // Pending transferInvoice.CreatedId = CurrentUserId; transferInvoice.CreatedDate = DateTime.Now; var invoiceId = cTransferInvoice.Add(transferInvoice); if (invoiceId > 0) { var transferInvoiceItems = new CInvoiceItem(); //if (transferInvoiceItems.TransferCancelItemsUpdate(originalInvoiceId, invoiceId, Convert.ToInt32(tbTotalDaysOfProgram.Value), Convert.ToInt32(tbTransferDays.Value), CurrentUserId)) //{ // var refundAmt = transferInvoiceItems.TotalAmount(invoiceId); // var cCreditMemo = new CCreditMemo(); // var creditMemo = new CreditMemo(); // creditMemo.CreditMemoType = (int)CConstValue.CreditType.Refund; //Transfer // creditMemo.InvoiceId = invoiceId; // Transfer Invoice Id // creditMemo.OriginalCreditMemoAmount = Math.Abs(refundAmt); // creditMemo.CreatedId = CurrentUserId; // creditMemo.CreatedDate = DateTime.Now; // creditMemo.IsActive = false; // var creditMemoId = cCreditMemo.Add(creditMemo); // if (creditMemoId > 0) // { // //var cBCTinfo = new CBCT(); // //var BCTinfo = new BCT(); // //BCTinfo.CreditMemoId = creditMemoId; // //BCTinfo.InvoiceId = invoiceId; // //BCTinfo.RequestDate = Convert.ToDateTime(tbRequestDate.SelectedDate); // //BCTinfo.ActualBCTdate = Convert.ToDateTime(tbTransferDate.SelectedDate); // //BCTinfo.BCTamount = Math.Abs(refundAmt); // //BCTinfo.CreatedId = CurrentUserId; // //BCTinfo.ApprovalStatus = (int)CConstValue.ApprovalStatus.Requested; // ////payout status > Requested:2 Progress:3 Approved:99 Reject:98 Revise:97 // //BCTinfo.Reason = tbTransferReason.Text; // //BCTinfo.TransferToDepartmentId = Convert.ToInt32(ddlDepartment.SelectedValue); // //BCTinfo.TransferDays = Convert.ToInt32(tbTransferDays.Value); // //BCTinfo.TransferTotalDayTaken = Convert.ToInt32(tbTotalTakenDays.Value); // //BCTinfo.TransferTotalDaysOfProgram = Convert.ToInt32(tbTotalDaysOfProgram.Value); // //var BCTid = cBCTinfo.Add(BCTinfo, CConstValue.BctTypeTransfer); // //if (BCTid > 0) // //{ // // var approval = new CApproval(); // // if (approval.ApproveRequstCreate(CConstValue.ApprovalBct, CurrentUserId, BCTid) > 0) // // { // // RunClientScript("Close();"); // // } // // else // // { // // ShowMessage("failed to update inqury (BCT(Transfer) ApprovalHistory)"); // // } // //} // //else // //{ // // ShowMessage("failed to update inqury (BCT(Transfer))"); // //} // } // else // { // ShowMessage("failed to update inqury (Credit Memo)"); // } //} //else //{ // ShowMessage("failed to update inqury (Invoice Items)"); //} } else { ShowMessage("failed to update inqury (transfer Invoice)"); } } else { ShowMessage("failed to update inqury (Update Original Invoice)"); } } else { ShowMessage("failed to update inqury (Original Invoice is null)"); } } break; case "Close": RunClientScript("Close();"); break; } }
public RLetterOfAcceptanceInTable(int invoiceId) { // // Required for telerik Reporting designer support // InitializeComponent(); var invoice = new CInvoice().Get(invoiceId); if (invoice?.ProgramRegistrationId == null) { return; } var programRegistration = new CProgramRegistration().Get((int)invoice.ProgramRegistrationId); if (programRegistration == null) { return; } var cStudent = new CStudent(); var student = cStudent.Get((int)invoice.StudentId); if (student == null) { return; } var program = new CProgram().Get(programRegistration.ProgramId); var siteLocation = new CSiteLocation().Get(student.SiteLocationId); var site = new CSite().Get(siteLocation.SiteId); textBoxDLI.Value = $@"Designated learning institution number (DLI #) : {"O19375754382"}"; textBoxDateOfIssue.Value = $@"Date of Issue : {DateTime.Today.ToString("MM-dd-yy")}"; htmlTextBoxFaimlyName.Value = $@"1. Family Name : <br><b>{student.LastName1}</b>"; htmlTextBoxFirstName.Value = $@"2. First Name and Initials : <br><b>{student.FirstName}</b>"; htmlTextBoxDateOfBirth.Value = $@"3. Date of Birth : <br><b>{student.DOB?.ToString("MM-dd-yy")}</b>"; htmlTextBoxStudentId.Value = $@"4. Student ID Number : <br><b>{student.StudentNo}</b>"; htmlTextBoxStudentFull.Value = $@"5. Student Full Mailing Address : <br><b>{student.Address1InCanada}</b>"; htmlTextBoxDates.Value = $@"6. Dates : <br>Start Date : <b>{programRegistration.StartDate?.ToString("MM-dd-yy")}</b><br>Completion Date : <b>{programRegistration.EndDate?.ToString("MM-dd-yy")}</b>"; htmlTextBoxNameOfSchool.Value = $@"7. Name of School/Institution(include public or private) : <br><b>{site.Name}</b>"; htmlTextBoxLevelOfStudy.Value = $@"8. Level of Study : <br><b>{"N/A"}</b>"; htmlTextBoxProgram.Value = $@"9. Program/Major/Course : <br><b>{program.ProgramFullName + " " + (programRegistration.HrsStatus == null ? string.Empty : "(" + programRegistration.HrsStatus + "/week)")}</b>"; htmlTextBoxHoursOfInstruction.Value = $@"10. Hours of Instruction per Week : <br><b>{programRegistration.Weeks}</b>"; htmlTextBoxAcademicYear.Value = $@"11. Academic Year of Study which the student will enter (e.g., Year 2 of 3 Year Program)<br><b>{"N/A"}</b>"; htmlTextBoxLateRegistrationDate.Value = $@"12. Late Registration Date : <br><b>{"N/A"}</b>"; var vwStudentContract = new CStudent().GetVwStudentContract(invoiceId); var isFullPayment = false; if (vwStudentContract?.DepositConfirmCnt == vwStudentContract?.PaymentCnt && vwStudentContract.Balance == 0) { isFullPayment = true; } htmlTextBoxConditionOfAcceptance.Value = $@"13. Condition of Acceptance : (must be paid in full at least 2 weeks before start date)<br><b>{(isFullPayment ? "Full Fee Payment" : "Not fully Fee Payment")}</b>"; var invoiceItemList = new CInvoiceItem().GetInvoiceItems(invoiceId); var tuitionFee = invoiceItemList.FirstOrDefault(x => x.InvoiceCoaItemId == (int)CConstValue.InvoiceCoaItem.TuitionBasic); htmlTextBoxEstimatedTuitionFees.Value = $@"14. Estimated Tuition Fees : (not including homestay accommodation fee)<br>Tuition Fee : <b>${tuitionFee}</b>"; string scholarshipMasterNo = string.Empty; if (invoice.ScholarshipId != null) { scholarshipMasterNo = new CScholarship().Get((int)invoice.ScholarshipId)?.ScholarshipMasterNo; } htmlTextBoxScholarship.Value = $@"15. Scholarship/Teaching Assistantship: <br><b>{scholarshipMasterNo}</b>"; htmlTextBoxExchangeStudent.Value = $@"16. Exchange Student (yes/no) : <br><b>{"No"}</b>"; htmlTextBoxLicensingInformation.Value = $@"17. Licensing Information where applicable for Private Institution (yes/no/not applicable): <br><b>{"N/A"}</b>"; htmlTextBoxIfDestinedForQuebec.Value = $@"18. If destined for Quebec, has CAQ information been sent to student (yes/no/not applicable) : <br><b>{"N/A"}</b>"; htmlTextBoxGuardianship.Value = $@"19. Guardianship/Custodianship details if applicable : <br><b>{"N/A"}</b>"; htmlTextBoxCredentials.Value = $@"20. Credentials : <br><b>{site.Name} Certificates and/or Diploma</b>"; htmlTextBoxRequirementsForSuccessful.Value = $@"21. Requirements for successful program completion : <br><b>{"70% grade and 85% attendance"}</b>"; htmlTextBoxSignatureOfInstitution.Value = $@"22. Signature of Institution Representative : <br>"; string name = string.Empty; string position = string.Empty; switch (siteLocation.SiteId) { // CAC case 2: name = "Christine Jang"; position = "Site Administrator"; break; default: name = string.Empty; position = string.Empty; break; } htmlTextBoxNameOfInstitution.Value = $@"23. Name of Institution Representative (please print) : <br><b>{name} - {position}</b>"; htmlTextBoxStudentSignature.Value = $@"24. Student's signature : <br><br><br><br><br>I have read and received a copy this contract and a copy of statement of the student's rights and responsibilities."; try { var logoPath = new CGlobal().GetLogoImagePath((int)invoice.SiteLocationId, CConstValue.ImageType.Logo); if (logoPath != string.Empty) { pictureBoxCompanyLogo.Value = Image.FromFile(logoPath); } } catch (Exception ex) { Debug.Print(ex.Message); } try { var signPath = new CGlobal().GetLogoImagePath((int)invoice.SiteLocationId, CConstValue.ImageType.Sign); if (signPath != string.Empty) { pictureBoxSign.Value = Image.FromFile(signPath); } } catch (Exception ex) { Debug.Print(ex.Message); } try { var sideLogoPath = new CGlobal().GetLogoImagePath((int)invoice.SiteLocationId, CConstValue.ImageType.LogoSide); if (sideLogoPath != string.Empty) { pictureBoxSideLogo.Value = Image.FromFile(sideLogoPath); } } catch (Exception ex) { Debug.Print(ex.Message); } }
protected void InvoiceToolbarButtonClicked(object sender, RadToolBarEventArgs e) { switch (e.Item.Text) { case "Confirm": if (RadGridInvoice.SelectedValue != null) { var cInvoice = new CInvoice(); var invoice = cInvoice.Get(Convert.ToInt32(RadGridInvoice.SelectedValue)); invoice.Status = (int)CConstValue.InvoiceStatus.Invoiced; // Invoice Status(34) : Invoiced invoice.UpdatedId = CurrentUserId; invoice.UpdatedDate = DateTime.Now; if (cInvoice.Update(invoice)) { ShowMessage("Update inquiry successfully"); } else { ShowMessage("Failed to update inquiry"); } e.Item.Enabled = false; RadGridInvoice.Rebind(); } break; case "Cancel": if (RadGridInvoice.SelectedValue != null) { var cInvoice = new CInvoice(); var invoice = cInvoice.Get(Convert.ToInt32(RadGridInvoice.SelectedValue)); if (invoice.Status == (int)CConstValue.InvoiceStatus.Pending) { RunClientScript("ShowCancelWindow(" + RadGridInvoice.SelectedValue + ");"); } else if (invoice.Status == (int)CConstValue.InvoiceStatus.Invoiced) { if (new CPayment().InvoiceCheck(invoice.InvoiceId) == 0) { RunClientScript("ShowCancelWindow(" + RadGridInvoice.SelectedValue + ");"); } else { ShowMessage("It can't because of already paid in invoice"); } } RadGridInvoice.Rebind(); } break; case "Agency Invoice": if (RadGridInvoice.SelectedValue != null) { var selectedInvoiceList = new List <int>(); foreach (GridDataItem item in RadGridInvoice.SelectedItems) { selectedInvoiceList.Add((int)item.GetDataKeyValue("InvoiceId")); } RunClientScript("ShowReportPop('" + String.Join(", ", selectedInvoiceList.ToArray()) + "', '" + (int)CConstValue.Report.InvoiceAgency + "' );"); } break; case "Student Invoice": if (RadGridInvoice.SelectedValue != null) { var selectedInvoiceList = new List <int>(); foreach (GridDataItem item in RadGridInvoice.SelectedItems) { selectedInvoiceList.Add((int)item.GetDataKeyValue("InvoiceId")); } RunClientScript("ShowReportPop('" + String.Join(", ", selectedInvoiceList.ToArray()) + "', '" + (int)CConstValue.Report.InvoiceStudent + "' );"); } break; case "Modify": if (RadGridInvoice.SelectedValue != null) { var cInvoice = new CInvoice(); var invoice = cInvoice.Get(Convert.ToInt32(RadGridInvoice.SelectedValue)); if (invoice.Status == (int)CConstValue.InvoiceStatus.Invoiced || invoice.InvoiceType == (int)CConstValue.InvoiceType.General || invoice.InvoiceType == (int)CConstValue.InvoiceType.Simple || invoice.InvoiceType == (int)CConstValue.InvoiceType.Manual || invoice.InvoiceType == (int)CConstValue.InvoiceType.Homestay || invoice.InvoiceType == (int)CConstValue.InvoiceType.Dormitory) //invoiced { var payments = new CPayment(); if (payments.InvoiceCheck(invoice.InvoiceId) == 0) { invoice.Status = (int)CConstValue.InvoiceStatus.Cancelled_MD; // Invoice Status(34) : Cancelled_M invoice.UpdatedId = CurrentUserId; invoice.UpdatedDate = DateTime.Now; if (cInvoice.Update(invoice)) { var cNewInvoice = new CInvoice(); var newInvoice = new Erp2016.Lib.Invoice(); CGlobal.Copy(invoice, newInvoice); newInvoice.OriginalInvoiceId = invoice.InvoiceId; newInvoice.Status = (int)CConstValue.InvoiceStatus.Pending; // pending newInvoice.CreatedId = CurrentUserId; newInvoice.CreatedDate = DateTime.Now; if (cNewInvoice.Add(newInvoice) > 0) { var cInvoiceItem = new CInvoiceItem(); List <InvoiceItem> originalInvoiceItems = cInvoiceItem.GetInvoiceItems(invoice.InvoiceId); List <InvoiceItem> newInvoiceItems = new List <InvoiceItem>(); foreach (InvoiceItem ori in originalInvoiceItems) { var newInvoiceItem = new InvoiceItem(); CGlobal.Copy(ori, newInvoiceItem); newInvoiceItem.InvoiceId = newInvoice.InvoiceId; newInvoiceItem.CreatedId = CurrentUserId; newInvoiceItem.CreatedDate = DateTime.Now; newInvoiceItems.Add(newInvoiceItem); } // copy invoiceItems if (cInvoiceItem.Add(newInvoiceItems) == false) { ShowMessage("Error inserting invoice Items"); } RadGridInvoice.Rebind(); } } } else { ShowMessage("It can't because of already paid in invoice"); } } } break; case "New Simple Invoice": RunClientScript("ShowNewSimpleInvoice();"); break; case "Student Page": if (RadGridInvoice.SelectedValue != null) { Response.Redirect("~/Student?id=" + RadGridInvoice.SelectedValues["StudentId"]); } break; case "Payment Page": if (RadGridInvoice.SelectedValue != null) { Response.Redirect("~/Payment?id=" + RadGridInvoice.SelectedValues["StudentId"]); } break; case "Deposit Page": if (RadGridInvoice.SelectedValue != null) { Response.Redirect("~/Deposit?id=" + RadGridInvoice.SelectedValues["StudentId"]); } break; case "CreditMemo Page": if (RadGridInvoice.SelectedValue != null) { Response.Redirect("~/CreditMemo?id=" + RadGridInvoice.SelectedValues["StudentId"]); } break; case "Refund Page": if (RadGridInvoice.SelectedValue != null) { Response.Redirect("~/Refund?id=" + RadGridInvoice.SelectedValues["StudentId"]); } break; } }
protected void ddlFG_OnSelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e) { var cInvoice = new CInvoice(); var invoice = cInvoice.Get(Convert.ToInt32(RadGridInvoice.SelectedValue.ToString())); invoice.IsFinancialGurantee = Convert.ToBoolean(ddlFG.SelectedValue); if (cInvoice.Update(invoice)) { var cInvoiceItem = new CInvoiceItem(); var invoiceItems = cInvoiceItem.GetInvoiceItems(invoice.InvoiceId); // fg mode if (invoice.IsFinancialGurantee) { foreach (var v in invoiceItems) { // save fg var cInvoiceItemFg = new CInvoiceItemFg(); var InvoiceItemFg = cInvoiceItemFg.Get(v.InvoiceItemId); if (InvoiceItemFg == null) { cInvoiceItemFg.Add(new InvoiceItemFg() { InvoiceItemId = v.InvoiceItemId, StandardPrice = v.StandardPrice, StudentPrice = v.StudentPrice, AgencyPrice = v.AgencyPrice, CreatedId = CurrentUserId, CreatedDate = DateTime.Now }); } else { InvoiceItemFg.StandardPrice = v.StandardPrice; InvoiceItemFg.StudentPrice = v.StudentPrice; InvoiceItemFg.AgencyPrice = v.AgencyPrice; InvoiceItemFg.UpdatedId = CurrentUserId; InvoiceItemFg.UpdatedDate = DateTime.Now; cInvoiceItemFg.Update(InvoiceItemFg); } // original invoice set negative value to zero if (v.StandardPrice < 0) { v.StandardPrice = 0; } if (v.StudentPrice < 0) { v.StudentPrice = 0; } cInvoiceItem.Update(v); } } else { foreach (var v in invoiceItems) { // save fg var cInvoiceItemFg = new CInvoiceItemFg(); var invoiceItemFg = cInvoiceItemFg.Get(v.InvoiceItemId); if (invoiceItemFg != null) { v.StandardPrice = invoiceItemFg.StandardPrice; v.StudentPrice = invoiceItemFg.StudentPrice; v.AgencyPrice = invoiceItemFg.AgencyPrice; v.UpdatedId = CurrentUserId; v.UpdatedDate = DateTime.Now; } cInvoiceItem.Update(v); } } ShowMessage("Updated to Financial Gurantee status"); } RadGridInvoice.Rebind(); }
protected void MainToolBar_ButtonClick(object sender, RadToolBarEventArgs e) { if (e.Item.Text == @"Approve" && !string.IsNullOrEmpty(hfId.Value)) { if (IsValid) { var type = Convert.ToInt32(hfType.Value); var id = Convert.ToInt32(hfId.Value); var idNumber = string.Empty; var cApprovalHistory = new CApprovalHistory(); var approvalHistory = cApprovalHistory.Get(type, id, CurrentUserId); approvalHistory.ApprovalDate = DateTime.Now; approvalHistory.ApprovalMemo = tbRemark.Text; // cal int approvalStatus = cApprovalHistory.CheckApprovalStep(type, id); if (approvalStatus == (int)CConstValue.ApprovalStatus.Approved) { approvalStatus = new CGlobal().GetApprovalValue(type); } approvalHistory.ApprovalStep = approvalStatus; // update approvalHistory cApprovalHistory.Update(approvalHistory); //Refund & Commission if (type == (int)CConstValue.Approval.Refund) { var cRefundInfo = new CRefund(); var refundInfo = cRefundInfo.Get(Convert.ToInt32(hfId.Value)); refundInfo.ApprovalDate = approvalHistory.ApprovalDate; refundInfo.ApprovalId = approvalHistory.ApprovalUser; refundInfo.ApprovalMemo = approvalHistory.ApprovalMemo; refundInfo.ApprovalStatus = approvalHistory.ApprovalStep; if (cRefundInfo.Update(refundInfo)) { //if last approve if (refundInfo.ApprovalStatus == (int)CConstValue.ApprovalStatus.Approved) { var vwRefund = cRefundInfo.GetVwRefund(refundInfo.RefundId); var refundAmount = Math.Abs((decimal)vwRefund.RefundAmount); var sumOfMdfAndCp = new CCreditMemo().GetSumOfMdfAndCp(vwRefund.RefundId); var cCreditMemoPayout = new CCreditMemoPayout(); var creditMemoPayout = cCreditMemoPayout.Get(refundInfo.CreditMemoPayoutId); var cCreditMemo = new CCreditMemo(); var creditMemo = cCreditMemo.Get(creditMemoPayout.CreditMemoId); creditMemo.OriginalCreditMemoAmount = refundAmount - sumOfMdfAndCp; creditMemo.CreditMemoStartDate = DateTime.Now; creditMemo.CreditMemoEndDate = DateTime.Now.AddYears(1); creditMemo.IsActive = true; creditMemo.UpdatedId = CurrentUserId; creditMemo.UpdatedDate = DateTime.Now; // Approved creditMemoPayout.ApprovalStatus = (int)CConstValue.ApprovalStatus.Approved; creditMemoPayout.ApprovalDate = DateTime.Now; creditMemoPayout.ApprovalId = CurrentUserId; creditMemoPayout.Amount = refundAmount; creditMemoPayout.PayoutMethod = vwRefund.PayoutMethod; creditMemoPayout.IsActive = true; creditMemoPayout.UpdatedId = CurrentUserId; creditMemoPayout.UpdatedDate = DateTime.Now; cCreditMemoPayout.Update(creditMemoPayout); if (cCreditMemo.Update(creditMemo)) { var cInvoiceInfo = new CInvoice(); var invoiceInfo = cInvoiceInfo.Get(refundInfo.InvoiceId); var cOriginalInvoiceInfo = new CInvoice(); var originalInvoiceInfo = cOriginalInvoiceInfo.Get(Convert.ToInt32(invoiceInfo.OriginalInvoiceId)); invoiceInfo.Status = (int)CConstValue.InvoiceStatus.Invoiced; // Invoiced invoiceInfo.UpdatedId = CurrentUserId; originalInvoiceInfo.Status = (int)CConstValue.InvoiceStatus.Cancelled_RF; // Canceled_RF originalInvoiceInfo.UpdatedId = CurrentUserId; var startDate = DateTime.Now; var endDate = DateTime.Now; //invoice status update if (cInvoiceInfo.Update(invoiceInfo) && cOriginalInvoiceInfo.Update(originalInvoiceInfo)) { // Program if (invoiceInfo.ProgramRegistrationId != null) { var cProgramRegiInfo = new CProgramRegistration(); var programRegiInfo = cProgramRegiInfo.Get(Convert.ToInt32(invoiceInfo.ProgramRegistrationId)); programRegiInfo.UpdatedId = CurrentUserId; programRegiInfo.UpdatedDate = DateTime.Now; programRegiInfo.ProgramRegistrationType = 12; // cancel cProgramRegiInfo.Update(programRegiInfo); startDate = programRegiInfo.StartDate.Value; endDate = programRegiInfo.EndDate.Value; } // Homestay else if (invoiceInfo.HomestayRegistrationId != null) { var cHomestayStudentRequest = new CHomestayStudentRequest(); var homestayStudentRequest = cHomestayStudentRequest.GetHomestayStudentRequest(Convert.ToInt32(invoiceInfo.HomestayRegistrationId)); homestayStudentRequest.UpdateUserId = CurrentUserId; homestayStudentRequest.UpdatedDate = DateTime.Now; homestayStudentRequest.HomestayStudentStatus = 1; // cancel cHomestayStudentRequest.Update(homestayStudentRequest); startDate = homestayStudentRequest.StartDate.Value; endDate = homestayStudentRequest.EndDate.Value; } // Dormitory else if (invoiceInfo.DormitoryRegistrationId != null) { var cDormitoryStudentRequest = new CDormitoryRegistrations(); var dormitoryStudentRequest = cDormitoryStudentRequest.GetDormitoryStudentRequest(Convert.ToInt32(invoiceInfo.ProgramRegistrationId)); dormitoryStudentRequest.DormitoryStudentStatus = 1; // cancel dormitoryStudentRequest.UpdatedId = CurrentUserId; dormitoryStudentRequest.UpdatedDate = DateTime.Now; cDormitoryStudentRequest.Update(dormitoryStudentRequest); startDate = dormitoryStudentRequest.StartDate.Value; endDate = dormitoryStudentRequest.EndDate.Value; } // Rev var cInterimInvoice = new CInvoice(); var interimInvoice = new Invoice(); CGlobal.Copy(invoiceInfo, interimInvoice); interimInvoice.OriginalInvoiceId = invoiceInfo.InvoiceId; interimInvoice.InvoiceType = (int)CConstValue.InvoiceType.Refund_RV; interimInvoice.Status = (int)CConstValue.InvoiceStatus.Invoiced; interimInvoice.CreatedId = CurrentUserId; interimInvoice.CreatedDate = DateTime.Now; if (cInterimInvoice.Add(interimInvoice) > 0) { var totalDays = Convert.ToDateTime(endDate) - Convert.ToDateTime(startDate); var interimDays = Convert.ToDateTime(endDate) - Convert.ToDateTime(refundInfo.RefundDate); var interimRate = Math.Round((interimDays.TotalDays / totalDays.TotalDays), 2) * 100; var cInvoiceItem = new CInvoiceItem(); var cOriginalInvoiceItemModels = cInvoiceItem.GetInvoiceItemModels(invoiceInfo.InvoiceId); List <InvoiceItem> newInvoiceItems = new List <InvoiceItem>(); foreach (CInvoiceItemModel ori in cOriginalInvoiceItemModels) { if (ori.InvoiceCoaItem.RevenueRecognition == 1) { var newInvoiceRevItem = new InvoiceItem(); CGlobal.Copy(ori.InvoiceItem, newInvoiceRevItem); newInvoiceRevItem.InvoiceId = interimInvoice.InvoiceId; newInvoiceRevItem.StandardPrice *= (decimal)interimRate; newInvoiceRevItem.StudentPrice *= (decimal)interimRate; newInvoiceRevItem.AgencyPrice *= (decimal)interimRate; newInvoiceRevItem.CreatedId = CurrentUserId; newInvoiceRevItem.CreatedDate = DateTime.Now; newInvoiceRevItem.Remark = "Refund Rev"; newInvoiceItems.Add(newInvoiceRevItem); } } if (newInvoiceItems.Count > 0) { // copy invoiceItems if (cInvoiceItem.Add(newInvoiceItems)) { RunClientScript("Close();"); } else { ShowMessage("failed to update inqury (Refund Ref Invoice Item)"); } } else { RunClientScript("Close();"); } } else { ShowMessage("failed to update inqury (Refund Ref Invoice)"); } } else { ShowMessage("failed to update inqury (Original Invoice and Refund Invoice)"); } } else { ShowMessage("failed to update inqury (CreditMemo Info)"); } } else { RunClientScript("Close();"); } } else { ShowMessage("failed to update inqury (Refund Info)"); } } // Agency else if (type == (int)CConstValue.Approval.Agency) { try { var cAgency = new CAgency(); var agency = cAgency.Get(id); idNumber = agency.AgencyNumber; agency.ApprovalDate = approvalHistory.ApprovalDate; agency.ApprovalId = approvalHistory.ApprovalUser; agency.ApprovalMemo = approvalHistory.ApprovalMemo; agency.ApprovalStatus = approvalHistory.ApprovalStep; cAgency.Update(agency); RunClientScript("Close();"); } catch (Exception ex) { ShowMessage(ex.Message); } } // BusinessTrip else if (type == (int)CConstValue.Approval.BusinessTrip) { try { var cBusinessTrip = new CBusinessTrip(); var businessTrip = cBusinessTrip.Get(id); businessTrip.ApprovalDate = approvalHistory.ApprovalDate; businessTrip.ApprovalId = approvalHistory.ApprovalUser; businessTrip.ApprovalMemo = approvalHistory.ApprovalMemo; businessTrip.ApprovalStatus = approvalHistory.ApprovalStep; cBusinessTrip.Update(businessTrip); RunClientScript("Close();"); } catch (Exception ex) { ShowMessage(ex.Message); } } // Purchase Order else if (type == (int)CConstValue.Approval.PurchaseOrder) { try { var cPurchaseOrder = new CPurchaseOrder(); var purchaseOrder = cPurchaseOrder.Get(id); purchaseOrder.ApprovalDate = approvalHistory.ApprovalDate; purchaseOrder.ApprovalId = approvalHistory.ApprovalUser; purchaseOrder.ApprovalMemo = approvalHistory.ApprovalMemo; purchaseOrder.ApprovalStatus = approvalHistory.ApprovalStep; cPurchaseOrder.Update(purchaseOrder); RunClientScript("Close();"); } catch (Exception ex) { ShowMessage(ex.Message); } } // Package Program else if (type == (int)CConstValue.Approval.Package) { try { var cP = new CPackageProgram(); var packageProgram = cP.GetPackageProgram(id); packageProgram.ApprovalDate = approvalHistory.ApprovalDate; packageProgram.ApprovalId = approvalHistory.ApprovalUser; packageProgram.ApprovalMemo = approvalHistory.ApprovalMemo; packageProgram.ApprovalStatus = approvalHistory.ApprovalStep; if (packageProgram.ApprovalStatus == (int)CConstValue.ApprovalStatus.Approved) { packageProgram.IsActive = true; } cP.Update(packageProgram); RunClientScript("Close();"); } catch (Exception ex) { ShowMessage(ex.Message); } } //Scholarship// else if (type == (int)CConstValue.Approval.Scholarship) { try { var cScholar = new CScholarship(); var scholar = cScholar.Get(Convert.ToInt32(id)); idNumber = scholar.ScholarshipMasterNo; scholar.ApprovalDate = approvalHistory.ApprovalDate; scholar.ApprovalId = approvalHistory.ApprovalUser; scholar.ApprovalMemo = approvalHistory.ApprovalMemo; scholar.ApprovalStatus = approvalHistory.ApprovalStep; if (scholar.ApprovalStatus == (int)CConstValue.ApprovalStatus.Approved) { scholar.IsActive = true; } cScholar.Update(scholar); RunClientScript("Close();"); } catch (Exception ex) { ShowMessage(ex.Message); } } //Promotion// else if (type == (int)CConstValue.Approval.Promotion) { try { var cPromo = new CPromotion(); var promo = cPromo.Get(Convert.ToInt32(id)); idNumber = promo.PromotionMasterNo; promo.ApprovalDate = approvalHistory.ApprovalDate; promo.ApprovalId = approvalHistory.ApprovalUser; promo.ApprovalMemo = approvalHistory.ApprovalMemo; promo.ApprovalStatus = approvalHistory.ApprovalStep; if (promo.ApprovalStatus == (int)CConstValue.ApprovalStatus.Approved) { promo.IsActive = true; } cPromo.Update(promo); RunClientScript("Close();"); } catch (Exception ex) { ShowMessage(ex.Message); } } // Expense Program else if (type == (int)CConstValue.Approval.Expense) { try { var cExpense = new CExpense(); var expense = cExpense.Get(id); expense.ApprovalDate = approvalHistory.ApprovalDate; expense.ApprovalId = approvalHistory.ApprovalUser; expense.ApprovalMemo = approvalHistory.ApprovalMemo; expense.ApprovalStatus = approvalHistory.ApprovalStep; cExpense.Update(expense); RunClientScript("Close();"); } catch (Exception ex) { ShowMessage(ex.Message); } } // Hire else if (type == (int)CConstValue.Approval.Hire) { try { var cHire = new CHire(); var hire = cHire.Get(id); hire.ApprovalDate = approvalHistory.ApprovalDate; hire.ApprovalId = approvalHistory.ApprovalUser; hire.ApprovalMemo = approvalHistory.ApprovalMemo; hire.ApprovalStatus = approvalHistory.ApprovalStep; cHire.Update(hire); RunClientScript("Close();"); } catch (Exception ex) { ShowMessage(ex.Message); } } // Vacation else if (type == (int)CConstValue.Approval.Vacation) { try { var cVacationDetail = new CVacation(); var vacation = cVacationDetail.Get(id); vacation.ApprovalDate = approvalHistory.ApprovalDate; vacation.ApprovalId = approvalHistory.ApprovalUser; vacation.ApprovalMemo = approvalHistory.ApprovalMemo; vacation.ApprovalStatus = approvalHistory.ApprovalStep; cVacationDetail.Update(vacation); RunClientScript("Close();"); } catch (Exception ex) { ShowMessage(ex.Message); } } // CreditMemoPayout else if (type == (int)CConstValue.Approval.CreditMemoPayout) { try { var cCreditMemo = new CCreditMemoPayout(); var creditMemo = cCreditMemo.Get(id); creditMemo.ApprovalDate = approvalHistory.ApprovalDate; creditMemo.ApprovalId = approvalHistory.ApprovalUser; creditMemo.ApprovalMemo = approvalHistory.ApprovalMemo; creditMemo.ApprovalStatus = approvalHistory.ApprovalStep; cCreditMemo.Update(creditMemo); RunClientScript("Close();"); } catch (Exception ex) { ShowMessage(ex.Message); } } if (approvalHistory.ApprovalStep != (int)CConstValue.ApprovalStatus.Approved) //if has a next approver, request approve { var approvalInfo = new CApproval(); var supervisor = approvalInfo.GetSupuervisor(type, CurrentUserId); if (supervisor > 0) { var cNextApprove = new CApprovalHistory(); var nextApprove = cNextApprove.Get(type, id, supervisor); nextApprove.IsApprovalRequest = true; cNextApprove.Update(nextApprove); } new CMail().SendMail((CConstValue.Approval)type, CConstValue.MailStatus.ToApproveUserAndRequestUser, id, idNumber, CurrentUserId); } // approved else { new CMail().SendMail((CConstValue.Approval)type, CConstValue.MailStatus.ToRequestUser, id, idNumber, CurrentUserId); } } } }