public void DeleteProviderContract(Provider provider, ProviderContract providerContract, User user) { CheckPossibilityToDeleteContract(provider, providerContract, user); provider.RemoveProviderContract(providerContract); // TODO: если будет возможность связать с одним договором несколько поставщиков, удалять его совсем только после последнего (Providers.Count == 0) providerContractRepository.Delete(providerContract); }
public void Init() { storage = new Storage("Тестовое место хранения", StorageType.DistributionCenter) { Id = 1 }; writeoffReason = new WriteoffReason("Тестовая причина списания") { Id = 2 }; var juridicalLegalForm = new LegalForm("ООО", EconomicAgentType.JuridicalPerson) { Id = 3 }; var juridicalPerson = new JuridicalPerson(juridicalLegalForm) { Id = 4 }; var juridicalPerson2 = new JuridicalPerson(juridicalLegalForm) { Id = 15 }; accountOrganization = new AccountOrganization("Тестовое юридическое лицо", "Тестовое юридическое лицо", juridicalPerson) { Id = 5 }; var provider = new Provider("Тестовый поставщик", new ProviderType("Тестовый тип поставщика"), ProviderReliability.Medium, 5) { Id = 6 }; var providerOrganization = new ProviderOrganization("Организация поставщика", "Организация поставщика", juridicalPerson2); var articleGroup = new ArticleGroup("Тестовая группа", "Тестовая группа"); var measureUnit = new MeasureUnit("шт.", "Штука", "123", 0) { Id = 1 }; var customDeclarationNumber = new String('0', 25); article = new Article("Тестовый товар А", articleGroup, measureUnit, true); providerContract = new ProviderContract(accountOrganization, providerOrganization, "Договор", "4645", DateTime.Now, DateTime.Now); provider.AddProviderContract(providerContract); user = new User(new Employee("Иван", "Иванов", "Иванович", new EmployeePost("Менеджер"), null), "Иванов Иван", "ivanov", "pa$$w0rd", new Team("Тестовая команда", null), null); receiptWaybill = new ReceiptWaybill("123АБВ", DateTime.Today.AddDays(1), storage, accountOrganization, provider, 1234.5M, 0M, new ValueAddedTax("18%", 18), providerContract, customDeclarationNumber, user, user, DateTime.Now); receiptWaybillRow = new ReceiptWaybillRow(article, 100, 1234.5M, receiptWaybill.PendingValueAddedTax); receiptWaybill.AddRow(receiptWaybillRow); writeoffWaybill = new WriteoffWaybill("123", DateTime.Today, storage, accountOrganization, writeoffReason, user, user, DateTime.Now); priceLists = new List <ArticleAccountingPrice>() { new ArticleAccountingPrice(article, 10M) }; }
public void ProviderContract_Is_Must_Return_Correct_Values() { var date = new DateTime(2010, 12, 31); var providerContract = new ProviderContract(accountOrganization, providerOrganization, "Договор", "1", date, date); Assert.IsTrue(providerContract.Is <ProviderContract>()); Assert.IsTrue(providerContract.Is <Contract>()); Assert.IsFalse(providerContract.Is <ClientContract>()); Assert.IsFalse(providerContract.Is <AccountOrganization>()); Assert.IsFalse(providerContract.Is <InvalidCastException>()); Assert.IsTrue(providerContract.Is <Entity <short> >()); Assert.IsTrue(providerContract.Is <object>()); }
/// <summary> /// Можно ли изменять организации, указанные в договоре /// </summary> public bool IsPossibilityToEditOrganization(Provider provider, ProviderContract contract, User user) { try { CheckPossibilityToEditOrganization(provider, contract, user); return(true); } catch { return(false); } }
/// <summary> /// Можно ли удалить договор /// </summary> /// <param name="deal"></param> /// <param name="user"></param> /// <returns></returns> public bool IsPossibilityToDeleteContract(Provider provider, ProviderContract contract, User user) { try { CheckPossibilityToDeleteContract(provider, contract, user); return(true); } catch { return(false); } }
public void ProviderContract_As_Must_Return_Entity_Of_Correct_Type() { var date = new DateTime(2010, 12, 31); var providerContract = new ProviderContract(accountOrganization, providerOrganization, "Договор", "1", date, date); var contractReturnedByAs = providerContract.As <Contract>(); Assert.IsTrue(Object.ReferenceEquals(providerContract, contractReturnedByAs)); Assert.IsTrue(contractReturnedByAs is ProviderContract); Assert.IsNotNull(contractReturnedByAs as ProviderContract); Assert.IsNotNull((ProviderContract)contractReturnedByAs); Assert.IsNull(contractReturnedByAs as ClientContract); Assert.AreEqual(typeof(ProviderContract), contractReturnedByAs.GetType()); }
public void ProviderContract_Fields_MustBeFilled() { var date = new DateTime(2010, 12, 31); var providerContract = new ProviderContract(accountOrganization, providerOrganization, "Договор", "1945", date, date); Assert.AreEqual(accountOrganization, providerContract.AccountOrganization); Assert.AreEqual(providerOrganization, providerContract.ContractorOrganization); Assert.IsNotNull(providerContract.Contractors); Assert.IsNull(providerContract.DeletionDate); Assert.IsNull(providerContract.EndDate); Assert.AreEqual(String.Empty, providerContract.Comment); Assert.AreEqual("1945", providerContract.Number); Assert.AreEqual("Договор", providerContract.Name); Assert.AreEqual(date, providerContract.StartDate); Assert.AreEqual(date, providerContract.Date); Assert.AreEqual(1, accountOrganization.ContractCount); Assert.AreEqual(1, providerOrganization.ContractCount); Assert.AreEqual("Договор № 1945 от 31.12.2010", providerContract.FullName); }
public void Init() { articleGroup = new ArticleGroup("Бытовая техника", "Бытовая техника"); articleGroup.SalaryPercent = 15; articleGroup.Id = 8; measureUnit = new MeasureUnit("шт.", "Штука", "123", 0); measureUnit.Id = 17; articleA = new Article("Пылесос", articleGroup, measureUnit, true) { Id = 29, Number = "ПЫЛ" }; articleB = new Article("Холодильник", articleGroup, measureUnit, true) { Id = 38, Number = "ХО-1" }; articleC = new Article("Плита газовая", articleGroup, measureUnit, true) { Id = 48, Number = "ПГ1" }; articleAccountingPriceA1 = new ArticleAccountingPrice(articleA, 1M); articleAccountingPriceA2 = new ArticleAccountingPrice(articleA, 1001M); articleAccountingPriceA3 = new ArticleAccountingPrice(articleA, 1192.45M); articleAccountingPriceB = new ArticleAccountingPrice(articleB, 150M); articleAccountingPriceC = new ArticleAccountingPrice(articleC, 180M); articleAccountingPriceWrongListOnlyA = new List <ArticleAccountingPrice>(); articleAccountingPriceWrongListOnlyA.Add(articleAccountingPriceA1); articleAccountingPriceWrongListOnlyA.Add(articleAccountingPriceA2); articleAccountingPriceWrongListOnlyA.Add(articleAccountingPriceA3); articleAccountingPriceCorrectList1 = new List <ArticleAccountingPrice>(); articleAccountingPriceCorrectList1.Add(articleAccountingPriceA2); articleAccountingPriceCorrectList1.Add(articleAccountingPriceB); articleAccountingPriceCorrectList1.Add(articleAccountingPriceC); storage1 = new Storage("Торговая точка номер 1", StorageType.TradePoint); storage2 = new Storage("Доп. склад северный", StorageType.ExtraStorage); storage3 = new Storage("Торговая точка номер 2", StorageType.TradePoint); storageList1 = new List <Storage>(); storageList1.Add(storage1); storageList1.Add(storage2); storageList1.Add(storage3); var juridicalLegalForm = new LegalForm("ООО", EconomicAgentType.JuridicalPerson); var physicalLegalForm = new LegalForm("ИП", EconomicAgentType.PhysicalPerson); juridicalPerson = new JuridicalPerson(juridicalLegalForm) { Id = 1 }; physicalPerson = new PhysicalPerson(physicalLegalForm) { Id = 2 }; accountOrganization = new AccountOrganization("Тестовое юридическое лицо", "Тестовое юридическое лицо", juridicalPerson) { Id = 1 }; providerOrganization = new ProviderOrganization("Тестовое физическое лицо", "Тестовое физическое лицо", physicalPerson) { Id = 2 }; provider = new Provider("Тестовый поставщик", new ProviderType("Тестовый тип поставщика"), ProviderReliability.Medium, 5); provider.AddContractorOrganization(providerOrganization); providerContract = new ProviderContract(accountOrganization, providerOrganization, "ABC", "123", DateTime.Now, DateTime.Today); provider.AddProviderContract(providerContract); user = new User(new Employee("Иван", "Иванов", "Иванович", new EmployeePost("Менеджер"), null), "Иванов Иван", "ivanov", "pa$$w0rd", new Team("Тестовая команда", null), null); var customDeclarationNumber = new String('0', 25); receiptWaybill = new ReceiptWaybill("123АБВ", DateTime.Today, storage1, accountOrganization, provider, 100.05M, 0M, new ValueAddedTax("18%", 18), providerContract, customDeclarationNumber, user, user, DateTime.Now); priceRule = new AccountingPriceCalcRule( new AccountingPriceCalcByPurchaseCost(PurchaseCostDeterminationRuleType.ByMinimalPurchaseCost, new MarkupPercentDeterminationRule(10))); digitRule = new LastDigitCalcRule(LastDigitCalcRuleType.SetCustom); user = new User(new Employee("Иван", "Иванов", "Иванович", new EmployeePost("Менеджер"), null), "Иванов Иван", "ivanov", "pa$$w0rd", new Team("Тестовая команда", null), null); }
public void Init() { // инициализация IoC IoCInitializer.Init(); receiptWaybillRepository = Mock.Get(IoCContainer.Resolve <IReceiptWaybillRepository>()); articleRepository = Mock.Get(IoCContainer.Resolve <IArticleRepository>()); storageRepository = Mock.Get(IoCContainer.Resolve <IStorageRepository>()); movementWaybillRepository = Mock.Get(IoCContainer.Resolve <IMovementWaybillRepository>()); changeOwnerWaybillRepository = Mock.Get(IoCContainer.Resolve <IChangeOwnerWaybillRepository>()); writeoffWaybillRepository = Mock.Get(IoCContainer.Resolve <IWriteoffWaybillRepository>()); expenditureWaybillRepository = Mock.Get(IoCContainer.Resolve <IExpenditureWaybillRepository>()); returnFromClientWaybillRepository = Mock.Get(IoCContainer.Resolve <IReturnFromClientWaybillRepository>()); waybillRowArticleMovementRepository = Mock.Get(IoCContainer.Resolve <IWaybillRowArticleMovementRepository>()); var incomingWaybillRowService = new IncomingWaybillRowService(receiptWaybillRepository.Object, movementWaybillRepository.Object, changeOwnerWaybillRepository.Object, returnFromClientWaybillRepository.Object); var outgoingWaybillRowService = new OutgoingWaybillRowService(movementWaybillRepository.Object, IoCContainer.Resolve <IWriteoffWaybillRepository>(), IoCContainer.Resolve <IExpenditureWaybillRepository>(), changeOwnerWaybillRepository.Object, waybillRowArticleMovementRepository.Object); var articleMovementService = new ArticleMovementService(waybillRowArticleMovementRepository.Object, receiptWaybillRepository.Object, movementWaybillRepository.Object, changeOwnerWaybillRepository.Object, returnFromClientWaybillRepository.Object, Mock.Get(IoCContainer.Resolve <IWriteoffWaybillRepository>()).Object, Mock.Get(IoCContainer.Resolve <IExpenditureWaybillRepository>()).Object, incomingWaybillRowService, outgoingWaybillRowService); articleAvailabilityService = new ArticleAvailabilityService(receiptWaybillRepository.Object, movementWaybillRepository.Object, changeOwnerWaybillRepository.Object, writeoffWaybillRepository.Object, expenditureWaybillRepository.Object, returnFromClientWaybillRepository.Object, articleRepository.Object, storageRepository.Object, IoCContainer.Resolve <IIncomingAcceptedArticleAvailabilityIndicatorService>(), IoCContainer.Resolve <IOutgoingAcceptedFromExactArticleAvailabilityIndicatorService>(), IoCContainer.Resolve <IOutgoingAcceptedFromIncomingAcceptedArticleAvailabilityIndicatorService>(), IoCContainer.Resolve <IExactArticleAvailabilityIndicatorService>(), incomingWaybillRowService); var juridicalLegalForm = new LegalForm("ООО", EconomicAgentType.JuridicalPerson); var physicalLegalForm = new LegalForm("ИП", EconomicAgentType.PhysicalPerson); juridicalPerson = new JuridicalPerson(juridicalLegalForm) { Id = 1 }; physicalPerson = new PhysicalPerson(physicalLegalForm) { Id = 2 }; accountOrganization = new AccountOrganization("Тестовое юридическое лицо", "Тестовое юридическое лицо", juridicalPerson) { Id = 1 }; providerOrganization = new ProviderOrganization("Тестовое физическое лицо", "Тестовое физическое лицо", physicalPerson) { Id = 2 }; provider = new Provider("Тестовый поставщик", new ProviderType("Тестовый тип поставщика"), ProviderReliability.Medium, 5); provider.AddContractorOrganization(providerOrganization); providerContract = new ProviderContract(accountOrganization, providerOrganization, "ABC", "123", DateTime.Now, DateTime.Today); provider.AddProviderContract(providerContract); articleGroup = new ArticleGroup("Тестовая группа", "Тестовая группа"); measureUnit = new MeasureUnit("шт.", "Штука", "123", 0) { Id = 1 }; storageG = new Storage("G", StorageType.DistributionCenter) { Id = 1 }; storageM = new Storage("M", StorageType.DistributionCenter) { Id = 2 }; storageN = new Storage("N", StorageType.DistributionCenter) { Id = 3 }; articleA = new Article("A", articleGroup, measureUnit, false) { Id = 101 }; articleB = new Article("B", articleGroup, measureUnit, false) { Id = 102 }; articleC = new Article("C", articleGroup, measureUnit, false) { Id = 103 }; valueAddedTax = new ValueAddedTax("18%", 18); priceLists = new List <ArticleAccountingPrice>() { new ArticleAccountingPrice(articleA, 100), new ArticleAccountingPrice(articleB, 200), new ArticleAccountingPrice(articleC, 300) }; }
public void Init() { // инициализация IoC IoCInitializer.Init(); receiptWaybillRepository = Mock.Get(IoCContainer.Resolve <IReceiptWaybillRepository>()); receiptWaybillService = new ReceiptWaybillService(IoCContainer.Resolve <IArticleRepository>(), receiptWaybillRepository.Object, IoCContainer.Resolve <IMovementWaybillRepository>(), IoCContainer.Resolve <IExpenditureWaybillRepository>(), IoCContainer.Resolve <IStorageRepository>(), IoCContainer.Resolve <IUserRepository>(), IoCContainer.Resolve <IChangeOwnerWaybillRepository>(), IoCContainer.Resolve <IWriteoffWaybillRepository>(), IoCContainer.Resolve <IStorageService>(), IoCContainer.Resolve <IAccountOrganizationService>(), IoCContainer.Resolve <IProviderService>(), IoCContainer.Resolve <IProviderContractService>(), IoCContainer.Resolve <IValueAddedTaxService>(), IoCContainer.Resolve <IArticleMovementService>(), IoCContainer.Resolve <IArticlePriceService>(), IoCContainer.Resolve <IExactArticleAvailabilityIndicatorService>(), IoCContainer.Resolve <IIncomingAcceptedArticleAvailabilityIndicatorService>(), IoCContainer.Resolve <IArticleAccountingPriceIndicatorService>(), IoCContainer.Resolve <IArticleMovementOperationCountService>(), IoCContainer.Resolve <IOutgoingAcceptedFromExactArticleAvailabilityIndicatorService>(), IoCContainer.Resolve <IOutgoingAcceptedFromIncomingAcceptedArticleAvailabilityIndicatorService>(), IoCContainer.Resolve <IArticleMovementFactualFinancialIndicatorService>(), IoCContainer.Resolve <IFactualFinancialArticleMovementService>(), IoCContainer.Resolve <IAcceptedSaleIndicatorService>(), IoCContainer.Resolve <IShippedSaleIndicatorService>(), IoCContainer.Resolve <IReceiptedReturnFromClientIndicatorService>(), IoCContainer.Resolve <IAcceptedReturnFromClientIndicatorService>(), IoCContainer.Resolve <IReturnFromClientBySaleAcceptanceDateIndicatorService>(), IoCContainer.Resolve <IReturnFromClientBySaleShippingDateIndicatorService>(), IoCContainer.Resolve <IArticleRevaluationService>(), IoCContainer.Resolve <IArticlePurchaseService>(), IoCContainer.Resolve <IAcceptedPurchaseIndicatorService>(), IoCContainer.Resolve <IApprovedPurchaseIndicatorService>(), IoCContainer.Resolve <IArticleAvailabilityService>() ); var juridicalLegalForm = new LegalForm("ООО", EconomicAgentType.JuridicalPerson); var providerType = new ProviderType("Тестовый тип поставщика"); var articleGroup = new ArticleGroup("Бытовая техника", "Бытовая техника"); var measureUnit = new MeasureUnit("шт", "штука", "123", 0); var article = new Article("Пылесос", articleGroup, measureUnit, true) { Id = 1 }; priceLists = new List <ArticleAccountingPrice>() { new ArticleAccountingPrice(article, 100M) }; var provider = new Provider("Нейтральная организация", providerType, ProviderReliability.Medium, 5); var providerOrganization = new ProviderOrganization("Тестовое физическое лицо", "Тестовое физическое лицо", new JuridicalPerson(juridicalLegalForm)) { Id = 1 }; var accountOrganization = new AccountOrganization(@"ООО ""Юридическое лицо""", @"ООО ""Юридическое лицо""", new JuridicalPerson(juridicalLegalForm)) { Id = 2 }; provider.AddContractorOrganization(providerOrganization); var providerContract = new ProviderContract(accountOrganization, providerOrganization, "ABC", "123", DateTime.Now, DateTime.Today); provider.AddProviderContract(providerContract); role = new Role("Администратор"); role.AddPermissionDistribution(new PermissionDistribution(Permission.ReceiptWaybill_Delete_Row_Delete, PermissionDistributionType.All)); user = new User(new Employee("Иван", "Иванов", "Иванович", new EmployeePost("Менеджер"), null), "Иванов Иван", "ivanov", "pa$$w0rd", new Team("Тестовая команда", null), null); user.AddRole(role); createdBy = new User(new Employee("Олег", "Олегов", "Олегович", new EmployeePost("Менеджер"), null), "Олегов Олег", "olegov", "pa$$w0rd", new Team("Тестовая команда", null), null); createdBy.AddRole(role); acceptedBy = new User(new Employee("Петр", "Петров", "Петрович", new EmployeePost("Менеджер"), null), "Петров Петр", "petrov", "pa$$w0rd", new Team("Тестовая команда", null), null); acceptedBy.AddRole(role); receiptedBy = new User(new Employee("Николай", "Николаев", "Николаевия", new EmployeePost("Менеджер"), null), "Николаев Николай", "nikolaev", "pa$$w0rd", new Team("Тестовая команда", null), null); receiptedBy.AddRole(role); var customDeclarationNumber = new String('0', 25); receiptWaybill = new ReceiptWaybill("999999", DateTime.Today, new Storage("Третий склад", StorageType.DistributionCenter), accountOrganization, provider, 50, 0M, new ValueAddedTax("10%", 10), providerContract, customDeclarationNumber, user, createdBy, DateTime.Now); receiptWaybillRow = new ReceiptWaybillRow(article, 5, 50M, receiptWaybill.PendingValueAddedTax); receiptWaybill.AddRow(receiptWaybillRow); receiptWaybillList = new List <ReceiptWaybill> { receiptWaybill }; receiptWaybillRepository.Setup(x => x.Delete(It.IsAny <ReceiptWaybill>())).Callback <ReceiptWaybill>(waybill => receiptWaybillList.Remove(waybill)); }
public void AddProviderContract(Provider provider, ProviderContract providerContract) { provider.AddProviderContract(providerContract); providerContractRepository.Save(providerContract); }
public void Save(ProviderContract providerContract) { providerContractRepository.Save(providerContract); }
public void Init() { receiptWaybillRepository = Mock.Get(IoCContainer.Resolve <IReceiptWaybillRepository>()); productionOrderRepository = Mock.Get(IoCContainer.Resolve <IProductionOrderRepository>()); productionOrderBatchRepository = Mock.Get(IoCContainer.Resolve <IProductionOrderBatchRepository>()); defaultProductionOrderStageRepository = Mock.Get(IoCContainer.Resolve <IDefaultProductionOrderStageRepository>()); taskRepository = Mock.Get(IoCContainer.Resolve <ITaskRepository>()); articleAccountingPriceIndicatorService = Mock.Get(IoCContainer.Resolve <IArticleAccountingPriceIndicatorService>()); productionOrderService_accessor = new Mock <ProductionOrderService_Accessor>(productionOrderRepository.Object, productionOrderBatchRepository.Object, receiptWaybillRepository.Object, taskRepository.Object, defaultProductionOrderStageRepository.Object); productionOrderService = new Mock <ProductionOrderService>(productionOrderRepository.Object, productionOrderBatchRepository.Object, receiptWaybillRepository.Object, taskRepository.Object, defaultProductionOrderStageRepository.Object); var juridicalLegalForm = new LegalForm("ООО", EconomicAgentType.JuridicalPerson); var providerType = new ProviderType("Тестовый тип поставщика"); var articleGroup = new ArticleGroup("Бытовая техника", "Бытовая техника"); var measureUnit = new MeasureUnit("шт", "штука", "123", 0); article1 = new Article("Пылесос", articleGroup, measureUnit, true) { Id = 1 }; article2 = new Article("Пылесос2", articleGroup, measureUnit, true) { Id = 2 }; article3 = new Article("Пылесос3", articleGroup, measureUnit, true) { Id = 3 }; priceLists = new List <ArticleAccountingPrice>() { new ArticleAccountingPrice(article1, 100M), new ArticleAccountingPrice(article2, 150M), new ArticleAccountingPrice(article3, 200M) }; var provider = new Provider("Нейтральная организация", providerType, ProviderReliability.Medium, 5); var providerOrganization = new ProviderOrganization("Тестовое физическое лицо", "Тестовое физическое лицо", new JuridicalPerson(juridicalLegalForm)) { Id = 1 }; var accountOrganization = new AccountOrganization(@"ООО ""Юридическое лицо""", @"ООО ""Юридическое лицо""", new JuridicalPerson(juridicalLegalForm)) { Id = 2 }; provider.AddContractorOrganization(providerOrganization); var providerContract = new ProviderContract(accountOrganization, providerOrganization, "ABC", "123", DateTime.Now, DateTime.Today); provider.AddProviderContract(providerContract); role = new Role("Администратор"); role.AddPermissionDistribution(new PermissionDistribution(Permission.ReceiptWaybill_Delete_Row_Delete, PermissionDistributionType.All)); user = new User(new Employee("Иван", "Иванов", "Иванович", new EmployeePost("Менеджер"), null), "Иванов Иван", "ivanov", "pa$$w0rd", new Team("Тестовая команда", null), null); user.AddRole(role); storage = new Storage("МХ", StorageType.TradePoint); storage.AddAccountOrganization(accountOrganization); producer = new Producer("producer", "organization", 5, user, false); var producerContract = new ProducerContract(accountOrganization, producer.Organization, "ABC", "123", DateTime.Now, DateTime.Today); currency = new Currency("755", "EUR", "Евро"); var stage1 = new ProductionOrderBatchStage_Accessor("1", ProductionOrderBatchStageType.Calculation, 1, false) { IsDefault = true }; var stage2 = new ProductionOrderBatchStage_Accessor("2", ProductionOrderBatchStageType.Closed, 0, false) { IsDefault = true }; var stage3 = new ProductionOrderBatchStage_Accessor("3", ProductionOrderBatchStageType.Closed, 0, false) { IsDefault = true }; var currentDateTime = DateTimeUtils.GetCurrentDateTime(); productionOrder = new ProductionOrder("ЗАКАЗ", producer, currency, (ProductionOrderBatchStage)stage1.Target, (ProductionOrderBatchStage)stage2.Target, (ProductionOrderBatchStage)stage3.Target, ProductionOrderArticleTransportingPrimeCostCalculationType.Weight, true, true, true, true, true, false, false, user, currentDateTime) { Storage = storage }; productionOrder.AddContract(producerContract); productionOrderBatch = productionOrder.Batches.FirstOrDefault(); manufacturer = new Manufacturer("Изготовитель"); producer.AddManufacturer(manufacturer); productionOrderBatchRow1 = new ProductionOrderBatchRow(article1, currency, 5M, 10M, 1.0M, new Country("Страна1", "686"), manufacturer) { Id = Guid.NewGuid() }; productionOrderBatchRow2 = new ProductionOrderBatchRow(article2, currency, 25M, 5M, 2.0M, new Country("Страна2", "686"), manufacturer) { Id = Guid.NewGuid() }; productionOrderBatchRow3 = new ProductionOrderBatchRow(article3, currency, 100M, 2M, 1.5M, new Country("Страна3", "686"), manufacturer) { Id = Guid.NewGuid() }; productionOrderBatch.AddRow(productionOrderBatchRow1); productionOrderBatch.AddRow(productionOrderBatchRow2); productionOrderBatch.AddRow(productionOrderBatchRow3); var customDeclarationNumber = new String('0', 25); receiptWaybill_accessor = new ReceiptWaybill_Accessor(productionOrderBatch, "999999", DateTime.Today, new ValueAddedTax("10%", 10), customDeclarationNumber, user, user, DateTime.Now); receiptWaybill = (ReceiptWaybill)receiptWaybill_accessor.Target; receiptWaybillRow1 = new ReceiptWaybillRow(article1, 10M, 0M, receiptWaybill.PendingValueAddedTax) { Id = Guid.NewGuid() }; receiptWaybill.AddRow(receiptWaybillRow1); productionOrderBatch.Rows.Where(x => x.Article == article1).FirstOrDefault().ReceiptWaybillRow = receiptWaybillRow1; receiptWaybillRow2 = new ReceiptWaybillRow(article2, 5M, 0M, receiptWaybill.PendingValueAddedTax) { Id = Guid.NewGuid() }; receiptWaybill.AddRow(receiptWaybillRow2); productionOrderBatch.Rows.Where(x => x.Article == article2).FirstOrDefault().ReceiptWaybillRow = receiptWaybillRow2; receiptWaybillRow3 = new ReceiptWaybillRow(article3, 2M, 0M, receiptWaybill.PendingValueAddedTax) { Id = Guid.NewGuid() }; receiptWaybill.AddRow(receiptWaybillRow3); productionOrderBatch.Rows.Where(x => x.Article == article3).FirstOrDefault().ReceiptWaybillRow = receiptWaybillRow3; receiptWaybillList = new List <ReceiptWaybill> { receiptWaybill }; receiptWaybillRepository.Setup(x => x.Delete(It.IsAny <ReceiptWaybill>())).Callback <ReceiptWaybill>(waybill => receiptWaybillList.Remove(waybill)); receiptWaybill.Accept(priceLists, user, DateTime.Now); receiptWaybillRow1.ReceiptedCount = receiptWaybillRow1.PendingCount; receiptWaybillRow1.ProviderCount = receiptWaybillRow1.PendingCount; receiptWaybillRow1.ProviderSum = 0M; receiptWaybillRow2.ReceiptedCount = receiptWaybillRow2.PendingCount; receiptWaybillRow2.ProviderCount = receiptWaybillRow2.PendingCount; receiptWaybillRow2.ProviderSum = 0M; receiptWaybillRow3.ReceiptedCount = receiptWaybillRow3.PendingCount; receiptWaybillRow3.ProviderCount = receiptWaybillRow3.PendingCount; receiptWaybillRow3.ProviderSum = 0M; }
/// <summary> /// Есть ли по указанному договору какие-нибудь приходы /// </summary> public bool AnyReceipts(ProviderContract contract) { return(CurrentSession.Query <ReceiptWaybill>().Any(x => x.ProviderContract.Id == contract.Id && x.DeletionDate == null)); }
public void Delete(ProviderContract value) { value.DeletionDate = DateTime.Now; CurrentSession.SaveOrUpdate(value); }
public void Save(ProviderContract value) { CurrentSession.SaveOrUpdate(value); }
public ProviderContractViewModel CreateProviderContract(ProviderContractViewModel contract, int currentProviderId) { var providerType = int.Parse(this.Data.Providers .GetById(currentProviderId) .TypeOfCompany); var type = this.Data.TypeOfCompanies .GetById(providerType) .Type; var newContract = new ProviderContract { StartDate = contract.StartDate, TypeOfContract = type, EndDate = contract.EndDate, NoticePeriod = contract.NoticePeriod, BillingStartDate = contract.BillingStartDate, BillingEndDate = contract.BillingEndDate, NumberOfDaysForPaymentDueDate = contract.NumberOfDaysForPaymentDueDate, AcceptingReports = contract.AcceptingReports, GoverningLaw = contract.GoverningLaw, ProviderId = currentProviderId, CreatedOn = DateTime.Now, Comments = contract.Comments, AnnualIndexation = contract.AnnualIndexation, IsVisible = contract.IsVisible }; this.Data.ProviderContracts.Add(newContract); this.Data.SaveChanges(); contract.Id = newContract.Id; return contract; }