예제 #1
0
    protected void UpdateStudentRegistar()
    {
        if (Request["id"] != null)
        {
            int HomestayStudentId       = Id;
            var cHomestayStudentRequest = new CHomestayStudentRequest();

            if (ScheduleChange == 0)
            {
                if (HomestayStudentId == 0) //New Registrar
                {
                    int AddResult = 0;
                    HomestayStudentBasic Student = new HomestayStudentBasic();

                    //Retrive Data from Form
                    Student = GetFormData(Student);
                    //Homestay Status
                    Student.HomestayStudentStatus = 0; //Pending=0, Requested=1, Placed by School=2, Placed by Agency =3, Canceled =4
                    Student.CreatedDate           = DateTime.Now;
                    Student.CreatedUserId         = CurrentUserId;
                    AddResult = cHomestayStudentRequest.Add(Student);
                    if (AddResult > 0)
                    {
                        file_upload.SaveFile(AddResult);
                        //  GenerateInvoice(AddResult, (int)CConstValue.InvoiceType.Homestay);
                        RunClientScript("Close();");
                        ShowMessage("Added a new homestay registar and Generated an invoice successfully.");
                    }
                    else //Failed
                    {
                        ShowMessage("Failed to add a new homestay registar, Please try it again.");
                    }
                }
                else //Update Registrar
                {
                    bool UpdateResult = false;
                    HomestayStudentBasic UpdateStudent = cHomestayStudentRequest.GetHomestayStudentRequest(HomestayStudentId);
                    // Retrive Data from From
                    UpdateStudent = GetFormData(UpdateStudent);

                    UpdateStudent.HomestayStudentStatus = 1; //Requested

                    UpdateStudent.UpdateUserId = CurrentUserId;
                    UpdateStudent.UpdatedDate  = DateTime.Now;
                    UpdateResult = cHomestayStudentRequest.Update(UpdateStudent);
                    int InvoiceId = 0;
                    var cInvoice  = new CInvoice();
                    InvoiceId = cInvoice.GetInvoiceIdbyHomestayStudentId(HomestayStudentId);

                    if (InvoiceId == 0)
                    {
                        GenerateInvoice(HomestayStudentId, (int)CConstValue.InvoiceType.Homestay);  //Generate Invoice
                    }


                    file_upload.SaveFile(UpdateStudent.HomestayStudentId);

                    if (UpdateResult)
                    {
                        RunClientScript("Close();");
                        ShowMessage("Requested Homestay Registar successfully.");
                    }
                    else //Failed
                    {
                        ShowMessage("Failed to update Homestay Registrar, please try it again.");
                    }
                }
            }
            else  //Schedule Change: New Homestay Replacement Request
            {
                //int SCResult = 0;
                //HomestayStudentBasic StudentBasic = new HomestayStudentBasic();

                ////Retrive Data from Form
                //StudentBasic = GetFormData(StudentBasic);
                ////Homestay Status
                //StudentBasic.HomestayStudentStatus = 1; //Requested=1, Placed by School=2, Placed by Agency =3, Canceled =4, Schedule Change=5
                //StudentBasic.CreatedDate = DateTime.Now;
                //StudentBasic.CreatedUserId = CurrentUserId;
                //SCResult = cHomestayStudentRequest.Add(StudentBasic);
                //if (SCResult > 0)
                //{
                //    file_upload.SaveFile(SCResult);
                //    GenerateInvoice(SCResult, 16);
                //    var cHomestayCancleSheduleChange = new CHomestayCancelSheduleChange();
                //    HomestayCancelScheduleChange Cancel = new HomestayCancelScheduleChange();
                //    Cancel.CancellationDate = DateTime.MaxValue;
                //    Cancel.Comment = txtScheduleComment.Text;
                //    Cancel.ChangeType = 2; // 1=Cancel, 2=Schedule Change
                //    Cancel.OriginalStudentBasicId = Convert.ToInt32(Request["Id"]);
                //    Cancel.NewStudentBasicId = SCResult;
                //    Cancel.RequestStatus = 0; //0=Pending, 1=Rejected, 2=Approved
                //    Cancel.CreatedDate = DateTime.Now;
                //    Cancel.CreatedId = CurrentUserId;
                //    Cancel.UpdatedDate = DateTime.Now;
                //    Cancel.UpdatedId = CurrentUserId;

                //    int result = 0;
                //    result = cHomestayCancleSheduleChange.Add(Cancel);
                //    Grid_ChangeList.Rebind();
                //    ShowMessage("Homestay Schedule Change are added and Generated an invoice successfully.");
                //}
                //else //Failed
                //{
                //    ShowMessage("Failed to Add Schedule Change, Please try it again.");

                //}
                //Wait for Jun's Schedule Change Invoice Function
                //Update Student Request Status: Schedule Change
                //Release Homestay Placement (Host Bed)
            }
        }
    }