public Error InsertOrUpdateCreditClaimReplacementOrder(CreditClaimReplacementOrderModel ccro, string lockGuid)
        {
            var error = new Error();

            error = validateModel(ccro);
            if (!error.IsError)
            {
                // Check that the lock is still current
                if (!db.IsLockStillValid(typeof(CreditClaimReplacementOrder).ToString(), ccro.Id, lockGuid))
                {
                    error.SetError(EvolutionResources.errRecordChangedByAnotherUser, "");
                }
                else
                {
                    CreditClaimReplacementOrder temp = null;
                    if (ccro.Id != 0)
                    {
                        temp = db.FindCreditClaimReplacementOrder(ccro.Id);
                    }
                    if (temp == null)
                    {
                        temp = new CreditClaimReplacementOrder();
                    }

                    Mapper.Map <CreditClaimReplacementOrderModel, CreditClaimReplacementOrder>(ccro, temp);

                    db.InsertOrUpdateCreditClaimReplacementOrder(temp);
                    ccro.Id = temp.Id;
                }
            }
            return(error);
        }
        private CreditClaimReplacementOrderModel getCreditClaimReplacementOrder(CompanyModel company, CreditClaimHeaderModel cch, SalesOrderHeaderModel soh)
        {
            var model = new CreditClaimReplacementOrderModel();

            model.CompanyId           = company.Id;
            model.CreditClaimHeaderId = cch.Id;
            model.SalesOrderHeaderId  = soh.Id;
            return(model);
        }
        public void IsCreditClaimReplacementOrderTest()
        {
            var testUser     = GetTestUser();
            var testCompany  = GetTestCompany(testUser);
            var testCustomer = GetTestCustomer(testCompany, testUser);
            var testSale     = GetTestSalesOrderHeader(testCompany, testCustomer, testUser, 10);

            // Test there is no credit replacement order
            var result = SalesService.IsCreditClaimReplacementOrder(testSale);

            Assert.IsTrue(result == false, "Error: true was returned when false was expected");

            // Create a Credit Claim Header
            CreditClaimHeaderModel cchm = getCreditClaimHeader();

            // Create CCRO Model & Insert it to db
            CreditClaimReplacementOrderModel model = getCreditClaimReplacementOrder(testCompany, cchm, testSale);

            SalesService.InsertOrUpdateCreditClaimReplacementOrder(model, "");

            // Read db & Compare db record against Model
            var dbData = db.FindCreditClaimReplacementOrder(model.Id);
            var temp   = SalesService.MapToModel(dbData);

            AreEqual(temp, model);

            // Test there is a credit replacement order
            result = SalesService.IsCreditClaimReplacementOrder(testSale);
            Assert.IsTrue(result == true, "Error: false was returned when true was expected");

            // Delete it
            db.DeleteCreditClaimReplacementOrder(model.Id);

            // Read db - make sure model has been deleted from db
            dbData = db.FindCreditClaimReplacementOrder(model.Id);
            Assert.IsTrue(dbData == null, "Error: ");

            // Test there is no credit replacement order
            result = SalesService.IsCreditClaimReplacementOrder(testSale);
            Assert.IsTrue(result == false, "Error: true was returned when false was expected");
        }
 private Error validateModel(CreditClaimReplacementOrderModel model)
 {
     return(new Error());
 }