public void PrepareDataToDataset(TADocumentDataSet taDocumentDS, long taDocumentID)
        {
            IList <TADocumentTraveller> taDocumentTravellerList = ScgeAccountingQueryProvider.TADocumentTravellerQuery.FindTADocumentTravellerByTADocumentID(taDocumentID);

            TADocumentDataSet.TADocumentRow taDocumentRow = taDocumentDS.TADocument.FindByTADocumentID(taDocumentID);

            foreach (TADocumentTraveller taDocumentTraveller in taDocumentTravellerList.OrderBy(t => t.TravellerID))
            {
                TADocumentDataSet.TADocumentTravellerRow taDocumentTravellerRow = taDocumentDS.TADocumentTraveller.NewTADocumentTravellerRow();

                taDocumentTravellerRow.TravellerID = taDocumentTraveller.TravellerID;

                if (taDocumentTraveller.TADocumentID != null)
                {
                    taDocumentTravellerRow.TADocumentID = taDocumentTraveller.TADocumentID.TADocumentID;
                }
                if (taDocumentTraveller.UserID != null)
                {
                    taDocumentTravellerRow.UserID = taDocumentTraveller.UserID.Userid;
                }
                if (taDocumentTraveller.EmployeeNameEng != null)
                {
                    taDocumentTravellerRow.EmployeeNameEng = taDocumentTraveller.EmployeeNameEng;
                }
                if (taDocumentTraveller.AirLineMember != null)
                {
                    taDocumentTravellerRow.AirLineMember = taDocumentTraveller.AirLineMember;
                }
                if (taDocumentTraveller.CostCenterID != null)
                {
                    taDocumentTravellerRow.CostCenterID = taDocumentTraveller.CostCenterID.CostCenterID;
                }
                if (taDocumentTraveller.Account != null)
                {
                    taDocumentTravellerRow.AccountID = taDocumentTraveller.Account.AccountID;
                }

                if (taDocumentTraveller.IOID != null)
                {
                    taDocumentTravellerRow.IOID = taDocumentTraveller.IOID.IOID;
                }

                taDocumentTravellerRow.Active  = taDocumentTraveller.Active;
                taDocumentTravellerRow.CreBy   = taDocumentTraveller.CreBy;
                taDocumentTravellerRow.CreDate = taDocumentTraveller.CreDate;
                taDocumentTravellerRow.UpdBy   = taDocumentTraveller.UpdBy;
                taDocumentTravellerRow.UpdDate = taDocumentTraveller.UpdDate;
                taDocumentTravellerRow.UpdPgm  = taDocumentTraveller.UpdPgm;

                // Add document initiator to datatable taDocumentDS.
                taDocumentDS.TADocumentTraveller.AddTADocumentTravellerRow(taDocumentTravellerRow);
            }
        }
        public long AddTADocumentTransaction(Guid txID)
        {
            //Initial Data for another table.
            TADocumentDataSet taDocumentDS = (TADocumentDataSet)TransactionService.GetDS(txID);

            TADocumentDataSet.DocumentRow documentRow = taDocumentDS.Document.NewDocumentRow(); //create new row to dataset.
            taDocumentDS.Document.AddDocumentRow(documentRow);                                  //add new row to dataset.

            TADocumentDataSet.TADocumentRow taDocumentRow = taDocumentDS.TADocument.NewTADocumentRow();
            taDocumentRow.DocumentID = documentRow.DocumentID;
            taDocumentDS.TADocument.AddTADocumentRow(taDocumentRow);

            return(taDocumentRow.TADocumentID);
        }
        public long SaveTADocument(Guid txID, long taDocumentID)
        {
            TADocumentDataSet taDocumentDS = (TADocumentDataSet)TransactionService.GetDS(txID);

            TADocumentDataSet.TADocumentRow taDocumentRow = taDocumentDS.TADocument.FindByTADocumentID(taDocumentID);
            long documentID = taDocumentRow.DocumentID;

            // Insert, Update SCGDocument.
            // Insert, Update, Delete DocumentInitiator.
            // Insert, Delete DocumentAttachment.
            documentID = SCGDocumentService.SaveSCGDocument(txID, documentID);

            // Insert, Update, Delete TADocument.
            taDocumentID = ScgeAccountingDaoProvider.TADocumentDao.Persist(taDocumentDS.TADocument);

            // Insert, Update, Delete TADocumentTraveller.
            TADocumentTravellerService.SaveTADocumentTraveller(txID, taDocumentID);

            // Insert, Update, Delete TADocumentSchedule.
            TADocumentScheduleService.SaveTADocumentSchedule(txID, taDocumentID);

            return(taDocumentID);
        }
        public void UpdateTADocumentTravellerTransaction(Guid txID, TADocumentTraveller taDocumentTraveller)
        {
            Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors();

            TADocumentDataSet taDocumentDS = (TADocumentDataSet)TransactionService.GetDS(txID);

            TADocumentDataSet.TADocumentTravellerRow taDocumentTravellerRow = taDocumentDS.TADocumentTraveller.FindByTravellerID(taDocumentTraveller.TravellerID);
            TADocumentDataSet.TADocumentRow          taDocumentRow          = taDocumentDS.TADocument.FindByTADocumentID(taDocumentTraveller.TADocumentID.TADocumentID);

            taDocumentTravellerRow.BeginEdit();

            if (taDocumentTraveller.TADocumentID != null)
            {
                taDocumentTravellerRow.TADocumentID = taDocumentTraveller.TADocumentID.TADocumentID;
            }

            if (taDocumentTraveller.UserID == null)
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("UserIDIsRequired"));
            }
            else
            {
                taDocumentTravellerRow.UserID = taDocumentTraveller.UserID.Userid;
            }

            if (string.IsNullOrEmpty(taDocumentTraveller.EmployeeNameEng))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("FullNameEngIsRequired"));
            }
            else
            {
                taDocumentTravellerRow.EmployeeNameEng = taDocumentTraveller.EmployeeNameEng;
            }

            if (!errors.IsEmpty)
            {
                throw new ServiceValidationException(errors);
            }

            taDocumentTravellerRow.AirLineMember = taDocumentTraveller.AirLineMember;

            taDocumentTravellerRow.Active = taDocumentTraveller.Active;

            if (taDocumentRow.Ticketing.Trim().ToUpper().Equals("T") && (!string.IsNullOrEmpty(taDocumentRow.Ticketing)))
            {
                if (taDocumentTraveller.CostCenterID == null || taDocumentTraveller.CostCenterID.CostCenterID <= 0)
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("CostCenterIsRequired", new object[] { taDocumentTraveller.UserName, " " }));
                }
                else
                {
                    taDocumentTravellerRow.CostCenterID = taDocumentTraveller.CostCenterID.CostCenterID;
                }

                if (taDocumentTraveller.IOID == null || taDocumentTraveller.IOID.IOID <= 0)
                {
                    taDocumentTravellerRow.IOID = 0;
                }
                else
                {
                    taDocumentTravellerRow.IOID = taDocumentTraveller.IOID.IOID;
                }

                if (taDocumentTraveller.Account == null || taDocumentTraveller.Account.AccountID <= 0)
                {
                    errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("ExpenseGroupIsRequired", new object[] { taDocumentTraveller.UserName, " " }));
                }
                else
                {
                    taDocumentTravellerRow.AccountID = taDocumentTraveller.Account.AccountID;
                }
            }
            else
            {
                taDocumentTravellerRow.CostCenterID = 0;
                taDocumentTravellerRow.AccountID    = 0;
                taDocumentTravellerRow.IOID         = 0;
            }

            if (!errors.IsEmpty)
            {
                throw new ServiceValidationException(errors);
            }

            taDocumentTravellerRow.CreBy   = UserAccount.UserID;
            taDocumentTravellerRow.CreDate = DateTime.Now;
            taDocumentTravellerRow.UpdBy   = UserAccount.UserID;
            taDocumentTravellerRow.UpdDate = DateTime.Now;
            taDocumentTravellerRow.UpdPgm  = UserAccount.CurrentProgramCode;

            taDocumentTravellerRow.EndEdit();
        }
Пример #5
0
        public void UpdateTADocumentScheduleTransaction(Guid txID, TADocumentSchedule taDocumentSchedule)
        {
            Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors();

            TADocumentDataSet taDocumentDS = (TADocumentDataSet)TransactionService.GetDS(txID);

            TADocumentDataSet.TADocumentScheduleRow taDocumentScheduleRow = taDocumentDS.TADocumentSchedule.FindByScheduleID(taDocumentSchedule.ScheduleID);
            TADocumentDataSet.TADocumentRow         taDocumentRow         = taDocumentDS.TADocument.FindByTADocumentID(taDocumentSchedule.TADocumentID.TADocumentID);

            taDocumentScheduleRow.BeginEdit();

            if (taDocumentSchedule.TADocumentID != null)
            {
                taDocumentScheduleRow.TADocumentID = taDocumentSchedule.TADocumentID.TADocumentID;
            }

            if (taDocumentSchedule.Date == null)
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("TravellingDateIsRequired"));
            }
            else
            {
                if (!taDocumentRow.IsNull("FromDate") && !taDocumentRow.IsNull("ToDate"))
                {
                    if (taDocumentSchedule.Date >= taDocumentRow.FromDate && taDocumentSchedule.Date <= taDocumentRow.ToDate)
                    {
                        taDocumentScheduleRow.Date = taDocumentSchedule.Date.Value;
                    }
                    else
                    {
                        errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("TravellingDateIsNotBetweenTravellingFromToDate"));
                    }
                }
            }

            if (string.IsNullOrEmpty(taDocumentSchedule.DepartureFrom))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("DepartureFromIsRequired"));
            }
            else
            {
                taDocumentScheduleRow.DepartureFrom = taDocumentSchedule.DepartureFrom;
            }

            if (string.IsNullOrEmpty(taDocumentSchedule.ArrivalAt))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("ArrivalAtIsRequired"));
            }
            else
            {
                taDocumentScheduleRow.ArrivalAt = taDocumentSchedule.ArrivalAt;
            }

            if (!errors.IsEmpty)
            {
                throw new ServiceValidationException(errors);
            }

            taDocumentScheduleRow.TravelBy         = taDocumentSchedule.TravelBy;
            taDocumentScheduleRow.Time             = taDocumentSchedule.Time;
            taDocumentScheduleRow.FlightNo         = taDocumentSchedule.FlightNo;
            taDocumentScheduleRow.TravellingDetail = taDocumentSchedule.TravellingDetail;
            taDocumentScheduleRow.Active           = taDocumentSchedule.Active;
            taDocumentScheduleRow.CreBy            = UserAccount.UserID;
            taDocumentScheduleRow.CreDate          = DateTime.Now;
            taDocumentScheduleRow.UpdBy            = UserAccount.UserID;
            taDocumentScheduleRow.UpdDate          = DateTime.Now;
            taDocumentScheduleRow.UpdPgm           = UserAccount.CurrentProgramCode;

            taDocumentScheduleRow.EndEdit();
        }
        public DataSet PrepareDataToDataset(long documentID, bool isCopy)
        {
            TADocumentDataSet taDocumentDS = new TADocumentDataSet();

            TADocument taDocument = ScgeAccountingQueryProvider.TADocumentQuery.GetTADocumentByDocumentID(documentID);

            Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors();

            if (taDocument == null)
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("NoTADocumentFound"));
            }
            if (!errors.IsEmpty)
            {
                throw new ServiceValidationException(errors);
            }

            // Prepare Data to Document datatable.
            if (!isCopy)
            {
                SCGDocumentService.PrepareDataToDataset(taDocumentDS, documentID);
            }
            else
            {
                SCGDocumentService.PrepareDataInternalToDataset(taDocumentDS, documentID, isCopy);
            }

            // Set data to Budget Document row in budgetDocumentDS.
            TADocumentDataSet.TADocumentRow taDocumentRow = taDocumentDS.TADocument.NewTADocumentRow();

            taDocumentRow.TADocumentID = taDocument.TADocumentID;

            if (!isCopy)
            {
                if (taDocument.DocumentID != null)
                {
                    taDocumentRow.DocumentID = taDocument.DocumentID.DocumentID;
                }
            }
            else
            {
                if (taDocumentDS.Document.Rows.Count > 0)
                {
                    TADocumentDataSet.DocumentRow docRow = (TADocumentDataSet.DocumentRow)taDocumentDS.Document.Rows[0];
                    taDocumentRow.DocumentID = docRow.DocumentID;
                }
            }

            taDocumentRow.FromDate           = taDocument.FromDate;
            taDocumentRow.ToDate             = taDocument.ToDate;
            taDocumentRow.IsBusinessPurpose  = taDocument.IsBusinessPurpose;
            taDocumentRow.IsTrainningPurpose = taDocument.IsTrainningPurpose;
            taDocumentRow.IsOtherPurpose     = taDocument.IsOtherPurpose;
            if (taDocument.OtherPurposeDescription != null)
            {
                taDocumentRow.OtherPurposeDescription = taDocument.OtherPurposeDescription;
            }
            taDocumentRow.TravelBy = taDocument.TravelBy;
            if (taDocument.Province != null)
            {
                taDocumentRow.Province = taDocument.Province;
            }
            if (taDocument.Country != null)
            {
                taDocumentRow.Country = taDocument.Country;
            }
            taDocumentRow.Ticketing = taDocument.Ticketing;

            //if (taDocument.CostCenterID != null)
            //{
            //    taDocumentRow.CostCenterID = taDocument.CostCenterID.CostCenterID;
            //}
            //if (taDocument.Account != null)
            //{
            //    taDocumentRow.AccountID = taDocument.Account.AccountID;
            //}
            //if (taDocument.IOID != null)
            //{
            //    taDocumentRow.IOID = taDocument.IOID.IOID;
            //}

            taDocumentRow.Active  = taDocument.Active;
            taDocumentRow.CreBy   = taDocument.CreBy;
            taDocumentRow.CreDate = taDocument.CreDate;
            taDocumentRow.UpdBy   = taDocument.UpdBy;
            taDocumentRow.UpdDate = taDocument.UpdDate;
            taDocumentRow.UpdPgm  = taDocument.UpdPgm;

            // Add ta document row to taDocument.
            taDocumentDS.TADocument.AddTADocumentRow(taDocumentRow);

            // Prepare Data to TADocumentTravellerService Datatable.
            TADocumentTravellerService.PrepareDataToDataset(taDocumentDS, taDocument.TADocumentID);

            // Prepare Data to TADocumentScheduleService Datatable.
            TADocumentScheduleService.PrepareDataToDataset(taDocumentDS, taDocument.TADocumentID);

            //Not Save to TADocumemtAdvance Table.
            // Prepare Data to TADocumentAdvanceService Datatable.
            ////TADocumentAdvanceService.PrepareDataToDataset(taDocumentDS, taDocument.TADocumentID);

            return(taDocumentDS);
        }
        public void UpdateTADocumentTransaction(Guid txID, TADocument taDocument)
        {
            Spring.Validation.ValidationErrors errors = new Spring.Validation.ValidationErrors();

            TADocumentDataSet taDocumentDS = (TADocumentDataSet)TransactionService.GetDS(txID);

            TADocumentDataSet.TADocumentRow taDocumentRow = taDocumentDS.TADocument.FindByTADocumentID(taDocument.TADocumentID);

            taDocumentRow.BeginEdit();

            taDocumentRow.DocumentID = taDocument.DocumentID.DocumentID;

            if (taDocument.FromDate < DateTime.Today)
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("FromDateMoreOrEqualToDay"));
            }

            if (taDocument.FromDate > taDocument.ToDate)
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("FromDateLessOrEqualToDate"));
            }

            if (taDocument.FromDate.Equals(DateTime.MinValue))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("FromDateIsRequired"));
            }
            else
            {
                taDocumentRow.FromDate = taDocument.FromDate;
            }

            if (taDocument.ToDate.Equals(DateTime.MinValue))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("ToDateIsRequired"));
            }
            else
            {
                taDocumentRow.ToDate = taDocument.ToDate;
            }

            if (((!taDocument.IsBusinessPurpose) && (!taDocument.IsTrainningPurpose) && (!taDocument.IsOtherPurpose)))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("PurposeIsRequired"));
            }
            else
            {
                taDocumentRow.IsBusinessPurpose  = taDocument.IsBusinessPurpose;
                taDocumentRow.IsTrainningPurpose = taDocument.IsTrainningPurpose;
                taDocumentRow.IsOtherPurpose     = taDocument.IsOtherPurpose;
            }

            if (taDocument.IsOtherPurpose && string.IsNullOrEmpty(taDocument.OtherPurposeDescription))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("OtherIsRequired"));
            }
            else
            {
                taDocumentRow.OtherPurposeDescription = taDocument.OtherPurposeDescription;
            }

            if ((!string.IsNullOrEmpty(taDocument.TravelBy)) && taDocument.TravelBy.Trim().ToUpper().Equals("D") && string.IsNullOrEmpty(taDocument.Province))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("TravelByProvinceIsRequired"));
            }
            else
            {
                taDocumentRow.Province = taDocument.Province;
            }

            if ((!string.IsNullOrEmpty(taDocument.TravelBy)) && taDocument.TravelBy.Trim().ToUpper().Equals("F") && string.IsNullOrEmpty(taDocument.Country))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("TravelByCountryIsRequired"));
            }
            else
            {
                taDocumentRow.Country = taDocument.Country;
            }

            if (string.IsNullOrEmpty(taDocument.TravelBy))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("TravelByIsRequired"));
            }
            else
            {
                taDocumentRow.TravelBy = taDocument.TravelBy;
            }

            if (string.IsNullOrEmpty(taDocument.Ticketing))
            {
                errors.AddError("Provider.Error", new Spring.Validation.ErrorMessage("TicketingIsRequired"));
            }
            else
            {
                taDocumentRow.Ticketing = taDocument.Ticketing;
            }

            if (!errors.IsEmpty)
            {
                throw new ServiceValidationException(errors);
            }

            taDocumentRow.Active  = taDocument.Active;
            taDocumentRow.CreBy   = UserAccount.UserID;
            taDocumentRow.CreDate = DateTime.Now;
            taDocumentRow.UpdBy   = UserAccount.UserID;
            taDocumentRow.UpdDate = DateTime.Now;
            taDocumentRow.UpdPgm  = UserAccount.CurrentProgramCode;

            taDocumentRow.EndEdit();
        }