public void GeneratePO(Product prod, int week, int year, PurchaseOrderType pot, int repositionpoint)
        {
            PurchaseOrderStatus pos = PurchaseOrderStatus.Open;

            // Busco si ya existe una orden de compra abierta para este proveedor
            PurchaseOrder po = GetPurchaseOrder(prod.Provider, pot, pos);

            PurchaseOrderItem poi = new PurchaseOrderItem();

            poi.PurchaseOrder = po;
            poi.Product       = prod;
            poi.Forecast      = ControllerManager.Forecast.GetProductInfo(prod, Config.CurrentWeek + 1, Config.CurrentDate.Year);
            if (pot == PurchaseOrderType.Forecast)
            {
                poi.QuantitySuggested = poi.Forecast.QuantitySuggested;
                poi.Quantity          = poi.Forecast.QuantitySuggested;
            }
            else if (pot == PurchaseOrderType.Manual)
            {
                poi.QuantitySuggested = repositionpoint;
                poi.Quantity          = repositionpoint;
            }

            po.PurchaseOrderItems.Add(poi);
            this.Save(po);
        }
        public PurchaseOrder(OrderNo orderNo, Supplier supplier)
        {
            OrderNo  = orderNo ?? throw new ArgumentNullException(nameof(orderNo));
            Supplier = supplier ?? throw new ArgumentNullException(nameof(supplier));

            Status = new PurchaseOrderStatus();
        }
Example #3
0
        public IHttpActionResult PutPurchaseOrderStatus(int id, PurchaseOrderStatus purchaseOrderStatus)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != purchaseOrderStatus.PurchaseOrderStatusId)
            {
                return(BadRequest());
            }

            db.Entry(purchaseOrderStatus).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PurchaseOrderStatusExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public void GeneratePO(Product prod, int week, int year, PurchaseOrderType pot, int repositionpoint)
        {
            PurchaseOrderStatus pos = 0;
            PurchaseOrder       po  = GetPurchaseOrder(prod.Provider, pot, pos);

            PurchaseOrderItem poi = new PurchaseOrderItem();

            poi.PurchaseOrder = po;
            poi.Product       = prod;
            if (pot == (PurchaseOrderType)1)
            {
                poi.Forecast          = ControllerManager.Forecast.GetProductInfo(prod, Config.CurrentWeek + 1, Config.CurrentDate.Year);
                poi.QuantitySuggested = poi.Forecast.QuantitySuggested;
                poi.Quantity          = poi.Forecast.QuantitySuggested;
            }
            else if (pot == (PurchaseOrderType)2)
            {
                poi.Forecast          = ControllerManager.Forecast.GetProductInfo(prod, Config.CurrentWeek + 1, Config.CurrentDate.Year);
                poi.QuantitySuggested = repositionpoint;
                poi.Quantity          = repositionpoint;
            }

            po.PurchaseOrderItems.Add(poi);

            this.Save(po);
        }
 public void ChangeStatus(IList <PurchaseOrder> selectedOC, PurchaseOrderStatus status)
 {
     foreach (PurchaseOrder oc in selectedOC)
     {
         oc.PurchaseOrderStatus = status;
     }
 }
Example #6
0
 public PurchaseOrder(int id, Provider provider, DateTime date, PurchaseOrderStatus status)
 {
     this.id                  = id;
     this.provider            = provider;
     this.date                = date;
     this.purchaseOrderStatus = status;
 }
Example #7
0
 // When a purchase order is accepted, then process it.
 public void Accept()
 {
     if (_PurchaseOrderStatus == PurchaseOrderStatus.Created)
     {
         _OrderProcessor.HandlePurchaseOrder(this);
         _PurchaseOrderStatus = PurchaseOrderStatus.Accepted;
     }
 }
 public PurchaseOrderForRemoveProductTask(
     Guid purchaseOrderId,
     PurchaseOrderStatus status,
     IEnumerable <Guid> productIds)
 {
     PurchaseOrderId = purchaseOrderId;
     Status          = status;
     ProductIds      = productIds;
 }
Example #9
0
        /*
         * Developer: Sajid Khan
         * Date: 7-5-19
         * Action: Insert purchase order status to database
         * Input: new status data
         * output: string of status id
         */
        public async Task <string> Create(PurchaseOrderStatus NewPurchaseOrderStatus)
        {
            using (IDbConnection conn = Connection)
            {
                var result = await conn.InsertAsync <PurchaseOrderStatus>(NewPurchaseOrderStatus);

                return(result.ToString());
            }
        }
 private bool IsAuditedPO(PurchaseOrderStatus poStatus)
 {
     if (poStatus == PurchaseOrderStatus.Returned || poStatus == PurchaseOrderStatus.AutoAbandoned || poStatus == PurchaseOrderStatus.WaitingPMConfirm || poStatus == PurchaseOrderStatus.Abandoned || poStatus == PurchaseOrderStatus.Created || poStatus == PurchaseOrderStatus.WaitingAudit)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
Example #11
0
        public IHttpActionResult GetPurchaseOrderStatus(int id)
        {
            PurchaseOrderStatus purchaseOrderStatus = db.PurchaseOrderStatus.Find(id);

            if (purchaseOrderStatus == null)
            {
                return(NotFound());
            }

            return(Ok(purchaseOrderStatus));
        }
Example #12
0
        public IHttpActionResult PostPurchaseOrderStatus(PurchaseOrderStatus purchaseOrderStatus)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.PurchaseOrderStatus.Add(purchaseOrderStatus);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = purchaseOrderStatus.PurchaseOrderStatusId }, purchaseOrderStatus));
        }
Example #13
0
 public PurchaseOrderCreated(
     Guid purchaseOrderId,
     PurchaseOrderStatus status,
     Guid vendorId,
     IEnumerable <PurchaseOrderLine> lines
     )
 {
     PurchaseOrderId = purchaseOrderId;
     Status          = status;
     VendorId        = vendorId;
     Lines           = lines;
 }
Example #14
0
        public PurchaseOrder(Guid id, int reference, PurchaseOrderStatus status, Producer producer, Order order)
        {
            if (producer == null)
            {
                throw SheaftException.Validation("Impossible de créer la commande, le producteur est requis.");
            }

            Id = id;

            Products     = new List <PurchaseOrderProduct>();
            DomainEvents = new List <DomainEvent> {
                new PurchaseOrderCreatedEvent(Id)
            };

            SetSender(order.User);
            SetVendor(producer);

            var delivery = order.Deliveries.Single(d => d.DeliveryMode.ProducerId == producer.Id);
            var address  = (int)delivery.DeliveryMode.Kind <= 4
                ? new ExpectedAddress(delivery.DeliveryMode.Address.Line1, delivery.DeliveryMode.Address.Line2,
                                      delivery.DeliveryMode.Address.Zipcode, delivery.DeliveryMode.Address.City,
                                      delivery.DeliveryMode.Address.Country, delivery.DeliveryMode.Address.Longitude,
                                      delivery.DeliveryMode.Address.Latitude)
                : new ExpectedAddress(order.User.Address.Line1, order.User.Address.Line2, order.User.Address.Zipcode,
                                      order.User.Address.City, order.User.Address.Country, order.User.Address.Longitude,
                                      order.User.Address.Latitude);

            ExpectedDelivery = new ExpectedPurchaseOrderDelivery(delivery, address);

            SetComment(delivery.Comment);
            SetReference(reference);
            SetStatus(status, true);

            var orderProducts = order.Products.Where(p => p.ProducerId == producer.Id);

            foreach (var orderProduct in orderProducts)
            {
                AddProduct(orderProduct);
            }

            var shouldAddDeliveryFees = delivery.DeliveryMode.ApplyDeliveryFeesWhen is DeliveryFeesApplication.Always ||
                                        (delivery.DeliveryMode.ApplyDeliveryFeesWhen is DeliveryFeesApplication
                                         .TotalLowerThanPurchaseOrderAmount &&
                                         delivery.DeliveryMode.DeliveryFeesMinPurchaseOrdersAmount.HasValue &&
                                         delivery.DeliveryMode.DeliveryFeesMinPurchaseOrdersAmount.Value >
                                         TotalWholeSalePrice);

            if (shouldAddDeliveryFees)
            {
                ExpectedDelivery?.ApplyDeliveryModeFees(delivery.DeliveryMode);
                RefreshOrder();
            }
        }
Example #15
0
        public PurchaseOrder(Guid id, int reference, PurchaseOrderStatus status, DateTimeOffset expectedDeliveryDate, TimeSpan from, TimeSpan to, DeliveryMode deliveryMode, Producer producer, User client, IEnumerable <KeyValuePair <Domain.Product, int> > products, Catalog catalog, bool skipNotification, string comment = null)
        {
            if (producer == null)
            {
                throw SheaftException.Validation("Impossible de créer la commande, le producteur est requis.");
            }

            Id           = id;
            Products     = new List <PurchaseOrderProduct>();
            DomainEvents = new List <DomainEvent> {
                new PurchaseOrderCreatedEvent(Id)
            };
            Status    = PurchaseOrderStatus.Waiting;
            CreatedOn = DateTimeOffset.UtcNow;

            SetSender(client);
            SetVendor(producer);

            var address = (int)deliveryMode.Kind <= 4
                ? new ExpectedAddress(deliveryMode.Address.Line1, deliveryMode.Address.Line2,
                                      deliveryMode.Address.Zipcode, deliveryMode.Address.City,
                                      deliveryMode.Address.Country, deliveryMode.Address.Longitude,
                                      deliveryMode.Address.Latitude)
                : new ExpectedAddress(client.Address.Line1, client.Address.Line2, client.Address.Zipcode,
                                      client.Address.City, client.Address.Country, client.Address.Longitude,
                                      client.Address.Latitude);

            ExpectedDelivery = new ExpectedPurchaseOrderDelivery(deliveryMode, expectedDeliveryDate, from, to, address);

            SetComment(comment);
            SetReference(reference);

            foreach (var product in products)
            {
                AddProduct(new PurchaseOrderProduct(product.Key, catalog.Id, product.Value));
            }

            var shouldAddDeliveryFees = deliveryMode.ApplyDeliveryFeesWhen is DeliveryFeesApplication.Always ||
                                        (deliveryMode.ApplyDeliveryFeesWhen is DeliveryFeesApplication
                                         .TotalLowerThanPurchaseOrderAmount &&
                                         deliveryMode.DeliveryFeesMinPurchaseOrdersAmount.HasValue &&
                                         deliveryMode.DeliveryFeesMinPurchaseOrdersAmount.Value >
                                         TotalWholeSalePrice);

            if (shouldAddDeliveryFees)
            {
                ExpectedDelivery?.ApplyDeliveryModeFees(deliveryMode);
                RefreshOrder();
            }

            SetStatus(status, skipNotification);
        }
Example #16
0
        public IHttpActionResult DeletePurchaseOrderStatus(int id)
        {
            PurchaseOrderStatus purchaseOrderStatus = db.PurchaseOrderStatus.Find(id);

            if (purchaseOrderStatus == null)
            {
                return(NotFound());
            }

            db.PurchaseOrderStatus.Remove(purchaseOrderStatus);
            db.SaveChanges();

            return(Ok(purchaseOrderStatus));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public static PurchaseOrderStatusViewModel ToViewModel(this PurchaseOrderStatus entity)
        {
            return(entity == null ? null : new PurchaseOrderStatusViewModel
            {
                Id = entity.Id,
                Status = entity.Status



                         //
                         //RowGuid = entity.RowGuid,
                         //ModifiedDate = entity.ModifiedDate
            });
        }
        public void GenerateFullPO(int week, int year, PurchaseOrderType orderType)
        {
            PurchaseOrderStatus orderStatus = PurchaseOrderStatus.Open;

            IList <Forecast>     lst            = ControllerManager.Forecast.GetPOList((Config.CurrentWeek == 53) ? 1 : Config.CurrentWeek + 1, (Config.CurrentWeek == 53) ? Config.CurrentDate.Year + 1 : Config.CurrentDate.Year);
            List <PurchaseOrder> purchaseOrders = GetByCriteria(new EqExpression("PurchaseOrderType", orderType), new EqExpression("PurchaseOrderStatus", orderStatus), new EqExpression("Date", Config.CurrentDate)) as List <PurchaseOrder>;

            foreach (Forecast forecast in lst)
            {
                PurchaseOrder po = purchaseOrders.Find(delegate(PartnerNet.Domain.PurchaseOrder record)
                {
                    if (record.Provider == forecast.Product.Provider)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                });

                if (po == null)
                {
                    po                     = new PurchaseOrder();
                    po.Provider            = forecast.Product.Provider;
                    po.Date                = Config.CurrentDate;
                    po.PurchaseOrderStatus = orderStatus;
                    po.PurchaseOrderType   = orderType;
                    po.WOD                 = WayOfDelivery.Maritimo;
                    purchaseOrders.Add(po);
                }

                PurchaseOrderItem poi = new PurchaseOrderItem();
                poi.PurchaseOrder = po;
                poi.Product       = forecast.Product;
                poi.Forecast      = forecast;

                if (orderType == PurchaseOrderType.Forecast)
                {
                    poi.QuantitySuggested = poi.Forecast.QuantitySuggested;
                    poi.Quantity          = poi.Forecast.QuantitySuggested;
                }

                po.PurchaseOrderItems.Add(poi);

                Save(po);
            }

            NHibernateSession.Flush();
        }
        private async Task Submit()
        {
            var postatus = new PurchaseOrderStatus()
            {
                IsSubmitted = true
            };

            this.PurchaseOrderItem.PurchaseOrderStatus = postatus;
            var PO = await _purchaseOrdersBusinessService.SubmitPurchaseOrder(this.PurchaseOrderItem);

            if (PO != null)
            {
                _navigationService.NavigateBack();
            }
        }
        /// <summary>
        /// 批量打印
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnBatchPrint_Click(object sender, RoutedEventArgs e)
        {
            List <int> sysNoList   = new List <int>();
            List <int> noSysNoList = new List <int>();

            if (this.QueryResultGrid.ItemsSource != null)
            {
                dynamic viewList = this.QueryResultGrid.ItemsSource as dynamic;
                foreach (var view in viewList)
                {
                    if (view.IsChecked)
                    {
                        PurchaseOrderStatus status = (PurchaseOrderStatus)Enum.Parse(typeof(PurchaseOrderStatus), view.status.ToString(), false);
                        if (IsAuditedPO(status))
                        {
                            sysNoList.Add(view.sysno);
                        }
                        else
                        {
                            noSysNoList.Add(view.sysno);
                        }
                    }
                }
                if ((sysNoList != null && sysNoList.Count > 0) ||
                    (noSysNoList != null && noSysNoList.Count > 0))
                {
                    if (noSysNoList != null && noSysNoList.Count > 0)
                    {
                        Window.Alert(string.Format(ResPurchaseOrderQuery.Message_BatchPrintDataError, string.Join("|", noSysNoList)), MessageType.Information);
                    }
                    if (sysNoList == null || sysNoList.Count <= 0)
                    {
                        return;
                    }
                    Dictionary <string, string> filter = new Dictionary <string, string>();
                    filter.Add("POSysNoList", String.Join("|", sysNoList));
                    filter.Add("PrintAccessory", "1");
                    filter.Add("PrintTitle", ResPurchaseOrderQuery.Label_PrintTitle);
                    HtmlViewHelper.WebPrintPreview("PO", "POBatchPrintData", filter);
                }
                else
                {
                    Window.Alert(ResPurchaseOrderQuery.Message_SelectData, MessageType.Information);
                    return;
                }
            }
        }
Example #21
0
        public async Task <List <PurchaseOrderStatus> > GetAsync(int id)
        {
            List <PurchaseOrderStatus> ToReturn = new List <PurchaseOrderStatus>();

            try
            {
                PurchaseOrderStatus Res = await _PurchaseOrderStatusRepo.GetById(id);

                ToReturn.Add(Res);
            }
            catch (Exception ex)
            {
                var logger = _loggerFactory.CreateLogger("internal_error_log");
                logger.LogInformation("Problem happened in selecting the data for purchaseorderstatus lis by id with message" + ex.Message);
            }
            return(ToReturn);
        }
        private void Hyperlink_PrintWithoutPrice_Click(object sender, RoutedEventArgs e)
        {
            DynamicXml getObject = this.QueryResultGrid.SelectedItem as DynamicXml;

            if (null != getObject)
            {
                PurchaseOrderStatus status = (PurchaseOrderStatus)Enum.Parse(typeof(PurchaseOrderStatus), getObject["status"].ToString(), false);
                if (!IsAuditedPO(status))
                {
                    Window.Alert(ResPurchaseOrderQuery.InfoMsg_Error, string.Format(ResPurchaseOrderQuery.AlertMsg_EmailError, getObject["sysno"].ToString()));
                    return;
                }
                //打印操作:
                HtmlViewHelper.WebPrintPreview("PO", "PurchaseOrderWithoutPricePrint", new Dictionary <string, string>()
                {
                    { "POSysNo", getObject["sysno"].ToString() }, { "PrintAccessory", "1" }, { "PrintTitle", ResPurchaseOrderQuery.Label_PrintTitleWithoutPirce }
                });
            }
        }
        public PurchaseOrder GetPurchaseOrder(Provider provider, PurchaseOrderType pot, PurchaseOrderStatus pos)
        {
            ICriteria crit = GetCriteria();

            crit.Add(new EqExpression("Provider", provider));
            crit.Add(new EqExpression("Date", Config.CurrentDate));
            crit.Add(new EqExpression("PurchaseOrderType", pot));
            crit.Add(new EqExpression("PurchaseOrderStatus", pos));

            PurchaseOrder po = crit.UniqueResult <PurchaseOrder>();

            if (po == null)
            {
                po                     = new PurchaseOrder();
                po.Provider            = provider;
                po.Date                = Config.CurrentDate;
                po.PurchaseOrderStatus = 0;
                po.PurchaseOrderType   = pot;
                po.WOD                 = WayOfDelivery.Maritimo;
            }
            return(po);
        }
        public void fvPOStatus_InsertItem()
        {
            try
            {
                TextBox txtStatusInsert = (TextBox)fvPOStatus.FindControl("txtStatusInsert");
                TextBox txtStatusCodeInsert = (TextBox)fvPOStatus.FindControl("txtStatusCodeInsert");

                using (FormContext ctx = new FormContext())
                {
                    if (!ctx.Statuses.Any(x => x.StatusText == txtStatusInsert.Text))
                    {
                        PurchaseOrderStatus newStatus = new PurchaseOrderStatus();

                        newStatus.Status = txtStatusInsert.Text;
                        newStatus.StatusCode = txtStatusCodeInsert.Text;

                        ctx.POStatuses.Add(newStatus);

                        ctx.SaveChanges();
                        gvPOStatus.DataBind();

                        lblVariableMessage.Text = "";
                    }
                    else
                    {
                        lblVariableMessage.Text = "A PO Status named: " + txtStatusInsert.Text + " already exists.  Please try again.";
                    }
                }
            }
            catch (Exception ex)
            {
                lblVariableMessage.Text = "Unable to add this PO Status.  Please contact your system administrator.";
            }
        }
Example #25
0
 public PurchaseOrdersEndpoint Status(PurchaseOrderStatus status)
 {
     AddParameter("status", status.ToString().ToUpper());
     return(this);
 }
        public void Save_ResultIsPurchaseOrderCreated_PersistsExpectedDocument(PurchaseOrderStatus status)
        {
            /// Arrange
            // Get a purchase order created event.
            var @event = new PurchaseOrderCreated(
                purchaseOrderId: Guid.NewGuid(),
                status: status,
                vendorId: Guid.NewGuid(),
                lines: Enumerable.Empty <PurchaseOrderLine>()
                .Append(new PurchaseOrderLine(
                            productId: Guid.NewGuid(),
                            quantity: 14.25M,
                            measure: "EA",
                            pricePerUnit: 2.24M))
                .Append(new PurchaseOrderLine(
                            productId: Guid.NewGuid(),
                            quantity: 5.5M,
                            measure: "FT",
                            pricePerUnit: 0.75M)));

            // Get some next id.
            var nextId = Guid.NewGuid();

            // Get the expected document dictionary.
            var expected = new BsonDocument()
                           .Add(new BsonElement("_id", BsonString.Create(nextId.ToString())))
                           .Add(new BsonElement("_type", BsonString.Create(nameof(PurchaseOrderCreated))))
                           .Add(new BsonElement(nameof(PurchaseOrderCreated.PurchaseOrderId), new BsonString(@event.PurchaseOrderId.ToString())))
                           .Add(new BsonElement(nameof(PurchaseOrderCreated.Status), new BsonString(Enum.GetName <PurchaseOrderStatus>(@event.Status))))
                           .Add(new BsonElement(nameof(PurchaseOrderCreated.VendorId), new BsonString(@event.VendorId.ToString())))
                           .Add(new BsonElement(nameof(PurchaseOrderCreated.Lines), new BsonArray()
                                                .Add(new BsonDocument()
                                                     .Add(new BsonElement(nameof(PurchaseOrderLine.ProductId), BsonString.Create(@event.Lines.ElementAt(0).ProductId.ToString())))
                                                     .Add(new BsonElement(nameof(PurchaseOrderLine.Quantity), BsonDecimal128.Create(@event.Lines.ElementAt(0).Quantity)))
                                                     .Add(new BsonElement(nameof(PurchaseOrderLine.Measure), BsonString.Create(@event.Lines.ElementAt(0).Measure)))
                                                     .Add(new BsonElement(nameof(PurchaseOrderLine.PricePerUnit), BsonDecimal128.Create(@event.Lines.ElementAt(0).PricePerUnit))))
                                                .Add(new BsonDocument()
                                                     .Add(new BsonElement(nameof(PurchaseOrderLine.ProductId), BsonString.Create(@event.Lines.ElementAt(1).ProductId.ToString())))
                                                     .Add(new BsonElement(nameof(PurchaseOrderLine.Quantity), BsonDecimal128.Create(@event.Lines.ElementAt(1).Quantity)))
                                                     .Add(new BsonElement(nameof(PurchaseOrderLine.Measure), BsonString.Create(@event.Lines.ElementAt(1).Measure)))
                                                     .Add(new BsonElement(nameof(PurchaseOrderLine.PricePerUnit), BsonDecimal128.Create(@event.Lines.ElementAt(1).PricePerUnit))))));

            // Mock up a mongo client for the mongo db event store.
            BsonDocument actual     = null;
            var          collection = Mock.Create <IMongoCollection <BsonDocument> >();

            Mock.Arrange(() => collection.InsertOne(Arg.IsAny <BsonDocument>(), Arg.IsAny <InsertOneOptions>(), Arg.IsAny <CancellationToken>()))
            .DoInstead((BsonDocument document) => actual = document);
            var database = Mock.Create <IMongoDatabase>();

            Mock.Arrange(() => database.GetCollection <BsonDocument>(Arg.AnyString, Arg.IsAny <MongoCollectionSettings>()))
            .Returns(collection);
            var client = Mock.Create <IMongoClient>();

            Mock.Arrange(() => client.GetDatabase(Arg.AnyString, Arg.IsAny <MongoDatabaseSettings>()))
            .Returns(database);

            /// Act
            // Save the event.
            MongoDBEventStore.Save(client, nextId, @event);

            /// Assert
            // Verify that the actual document matches the expected document.
            Assert.Equal(expected, actual);
        }
        private void Hyperlink_Email_Click(object sender, RoutedEventArgs e)
        {
            //验证采购单是否通过审批 :
            DynamicXml getObject = this.QueryResultGrid.SelectedItem as DynamicXml;

            if (null != getObject)
            {
                PurchaseOrderStatus status = (PurchaseOrderStatus)Enum.Parse(typeof(PurchaseOrderStatus), getObject["status"].ToString(), false);
                if (!IsAuditedPO(status))
                {
                    Window.Alert(ResPurchaseOrderQuery.InfoMsg_Error, string.Format(ResPurchaseOrderQuery.AlertMsg_EmailError, getObject["sysno"].ToString()));
                    return;
                }
                //TODO:发送Email:
                string getPOSysNo = getObject["sysno"].ToString();

                //PO单:自动发送邮件地址:AutoMailAddress:
                string returnAutoSendMailResult = string.Empty;
                //PO单:已发送邮件MailAddress:
                string returnMailAddresResult = string.Empty;
                //供应商:Vendor MailAddress:
                string returnVendorMailResult = string.Empty;

                #region 获取、更新MailAddress:

                //自动Email:
                if (!string.IsNullOrEmpty(getPOSysNo))
                {
                    serviceFacade.LoadPurchaseOrderInfo(getPOSysNo, (obj, args) =>
                    {
                        if (args.FaultsHandle())
                        {
                            return;
                        }
                        PurchaseOrderInfo getPOInfo = args.Result;
                        if (null != getPOInfo)
                        {
                            if (!string.IsNullOrEmpty(getPOInfo.PurchaseOrderBasicInfo.AutoSendMailAddress))//AutoSendMail 不为空 只显示当前AutoSendMail 为空 显示 当前登录账户Email + Vendor 的Email
                            {
                                returnAutoSendMailResult = getPOInfo.PurchaseOrderBasicInfo.AutoSendMailAddress;
                            }
                            else if (!string.IsNullOrEmpty(CPApplication.Current.LoginUser.UserEmailAddress) && !string.IsNullOrEmpty(getPOInfo.VendorInfo.VendorFinanceInfo.AccountContactEmail))
                            {
                                returnAutoSendMailResult = CPApplication.Current.LoginUser.UserEmailAddress + ";" + getPOInfo.VendorInfo.VendorFinanceInfo.AccountContactEmail;
                            }
                            else if (!string.IsNullOrEmpty(CPApplication.Current.LoginUser.UserEmailAddress) && string.IsNullOrEmpty(getPOInfo.VendorInfo.VendorFinanceInfo.AccountContactEmail))
                            {
                                returnAutoSendMailResult = CPApplication.Current.LoginUser.UserEmailAddress;
                            }
                            else if (string.IsNullOrEmpty(CPApplication.Current.LoginUser.UserEmailAddress) && !string.IsNullOrEmpty(getPOInfo.VendorInfo.VendorFinanceInfo.AccountContactEmail))
                            {
                                returnAutoSendMailResult = getPOInfo.VendorInfo.VendorFinanceInfo.AccountContactEmail;
                            }
                            returnVendorMailResult = getPOInfo.VendorInfo.VendorBasicInfo.EmailAddress;

                            returnMailAddresResult = getPOInfo.PurchaseOrderBasicInfo.MailAddress;
                        }

                        PurchaseOrderEmailSendMaintain mailMaintain = new PurchaseOrderEmailSendMaintain(getPOInfo.VendorInfo.SysNo.Value, returnAutoSendMailResult, returnVendorMailResult, returnMailAddresResult);
                        mailMaintain.Dialog = Window.ShowDialog(ResPurchaseOrderQuery.AlertMsg_EmailMaintain, mailMaintain, (obj2, args2) =>
                        {
                            if (args2.DialogResult == DialogResultType.OK && args2.Data != null)
                            {
                                Dictionary <string, object> getReturnDict = args2.Data as Dictionary <string, object>;
                                if (null != getReturnDict)
                                {
                                    string getUpdatedVendorEmailAddress   = getReturnDict["updatedVendorMailAddress"].ToString();
                                    string getSelectedReceivedMailAddress = "";

                                    List <string> getSelectedReceivedMailAddressList = getReturnDict["updatedReceiveMailAddress"] as List <string>;
                                    if (null != getSelectedReceivedMailAddress)
                                    {
                                        getSelectedReceivedMailAddress = string.Join(";", getSelectedReceivedMailAddressList);
                                    }

                                    PurchaseOrderInfo sendMailInfo = new PurchaseOrderInfo()
                                    {
                                        PurchaseOrderBasicInfo = new PurchaseOrderBasicInfo()
                                        {
                                            MailAddress = getSelectedReceivedMailAddress
                                        },
                                        SysNo = Convert.ToInt32(getObject["sysno"].ToString())
                                    };
                                    //更新发送邮件地址 :
                                    serviceFacade.UpdateMailAddressAndHasSentMail(sendMailInfo, (obj3, args3) =>
                                    {
                                        if (args3.FaultsHandle())
                                        {
                                            return;
                                            //TODO:弹出Print页面进行打印:
                                            //window.open("<%= Url.Action("PrintToEmail")%>/"+InPOSysNO+"$"+InAutoSendMail);
                                        }
                                        //打印操作:
                                        HtmlViewHelper.WebPrintPreview("PO", "PurchaseOrderPrint", new Dictionary <string, string>()
                                        {
                                            { "POSysNo", getObject["sysno"].ToString() }, { "PrintAccessory", "1" }, { "PrintTitle", "给供应商发采购邮件" }
                                        });
                                    });
                                }
                            }
                        }, new Size(600, 300));
                    });
                }
                #endregion
            }
        }
            public void Always_DefaultsStatusToDraft()
            {
                var status = new PurchaseOrderStatus();

                Assert.That(status.CurrentState, Is.EqualTo(PurchaseOrderStatus.State.Draft));
            }
Example #29
0
        internal void SetStatus(PurchaseOrderStatus newStatus, bool skipNotification)
        {
            switch (newStatus)
            {
            case PurchaseOrderStatus.Accepted:
                if (Status is PurchaseOrderStatus.Processing or PurchaseOrderStatus.Accepted)
                {
                    break;
                }

                if (Status != PurchaseOrderStatus.Waiting)
                {
                    throw SheaftException.Validation("Impossible d'accepter la commande, elle n'est plus en attente.");
                }

                if (SenderInfo.Kind == ProfileKind.Consumer && CreatedOn.AddDays(3) < DateTimeOffset.UtcNow)
                {
                    throw SheaftException.Validation("Impossible d'accepter la commande, le délai de 72h est écoulé.");
                }

                AcceptedOn = DateTimeOffset.UtcNow;

                if (!skipNotification)
                {
                    DomainEvents.Add(new PurchaseOrderAcceptedEvent(Id));
                }

                break;

            case PurchaseOrderStatus.Completed:
                if (Status != PurchaseOrderStatus.Processing)
                {
                    throw SheaftException.Validation("La commande doit être en préparation pour pouvoir être complétée.");
                }

                CompletedOn ??= DateTimeOffset.UtcNow;

                if (!skipNotification)
                {
                    DomainEvents.Add(new PurchaseOrderCompletedEvent(Id));
                }
                break;

            case PurchaseOrderStatus.Delivered:
                if (Status != PurchaseOrderStatus.Completed)
                {
                    throw SheaftException.Validation("La commande doit être prête pour pouvoir être livrée.");
                }
                break;

            case PurchaseOrderStatus.Cancelled:
                if (Status == PurchaseOrderStatus.Cancelled)
                {
                    throw SheaftException.Validation("La commande a déjà été annulée.");
                }
                if (Status == PurchaseOrderStatus.Refused)
                {
                    throw SheaftException.Validation("La commande a déjà été refusée.");
                }
                if (Status == PurchaseOrderStatus.Delivered)
                {
                    throw SheaftException.Validation("La commande a déjà été livrée.");
                }
                if (Status == PurchaseOrderStatus.Expired)
                {
                    throw SheaftException.Validation("La commande est expirée.");
                }

                DroppedOn = DateTimeOffset.UtcNow;

                if (!skipNotification)
                {
                    DomainEvents.Add(new PurchaseOrderCancelledEvent(Id));
                }
                break;

            case PurchaseOrderStatus.Withdrawned:
                if (Status == PurchaseOrderStatus.Withdrawned)
                {
                    throw SheaftException.Validation("La commande a déjà été annulée.");
                }
                if (Status == PurchaseOrderStatus.Refused)
                {
                    throw SheaftException.Validation("La commande a déjà été refusée.");
                }
                if (Status == PurchaseOrderStatus.Delivered)
                {
                    throw SheaftException.Validation("La commande a déjà été livrée.");
                }
                if (Status == PurchaseOrderStatus.Expired)
                {
                    throw SheaftException.Validation("La commande est expirée.");
                }

                DroppedOn = DateTimeOffset.UtcNow;

                if (!skipNotification)
                {
                    DomainEvents.Add(new PurchaseOrderWithdrawnedEvent(Id));
                }
                break;

            case PurchaseOrderStatus.Refused:
                if (Status == PurchaseOrderStatus.Cancelled)
                {
                    throw SheaftException.Validation("La commande a déjà été annulée.");
                }
                if (Status == PurchaseOrderStatus.Refused)
                {
                    throw SheaftException.Validation("La commande a déjà été refusée.");
                }
                if (Status == PurchaseOrderStatus.Delivered)
                {
                    throw SheaftException.Validation("La commande a déjà été livrée.");
                }
                if (Status == PurchaseOrderStatus.Expired)
                {
                    throw SheaftException.Validation("La commande est expirée.");
                }

                DroppedOn = DateTimeOffset.UtcNow;

                if (!skipNotification)
                {
                    DomainEvents.Add(new PurchaseOrderRefusedEvent(Id));
                }
                break;

            case PurchaseOrderStatus.Expired:
                if (Status != PurchaseOrderStatus.Waiting)
                {
                    throw SheaftException.Validation("La commande ne peut pas être expirée, elle doit être en attente.");
                }

                DroppedOn = DateTimeOffset.UtcNow;

                if (!skipNotification)
                {
                    DomainEvents.Add(new PurchaseOrderExpiredEvent(Id));
                }
                break;
            }

            Status = newStatus;
        }
        protected override void Seed(Tingle_WebForms.Models.FormContext context)
        {
            //Seed Roles
            UserRoles roleUser = new UserRoles {
                RoleName = "User", RoleDescription = "User can submit forms."
            };
            UserRoles roleReportsUser = new UserRoles {
                RoleName = "ReportsUser", RoleDescription = "User can view reports, but not edit them."
            };
            UserRoles roleReportsAdmin = new UserRoles {
                RoleName = "ReportsAdmin", RoleDescription = "User can view and edit reports."
            };
            UserRoles roleSuperUser = new UserRoles {
                RoleName = "SuperUser", RoleDescription = "User has full administrative rights."
            };
            UserRoles roleDeveloper = new UserRoles {
                RoleName = "Developer", RoleDescription = "Developer"
            };

            context.UserRoles.AddOrUpdate(u => u.RoleName, roleUser);
            context.UserRoles.AddOrUpdate(u => u.RoleName, roleReportsUser);
            context.UserRoles.AddOrUpdate(u => u.RoleName, roleReportsAdmin);
            context.UserRoles.AddOrUpdate(u => u.RoleName, roleSuperUser);
            context.UserRoles.AddOrUpdate(u => u.RoleName, roleDeveloper);


            //Seed Forms
            TForm expeditedOrder = new TForm
            {
                FormCreator  = "Admin",
                FormName     = "Expedited Order",
                FormNameHtml = "Expedited Order",
                FormUrl      = "ExpeditedOrderForm.aspx",
                Notes        = "Expedited Order Form",
                Status       = 1,
                Timestamp    = DateTime.Now
            };

            TForm priceChangeRequest = new TForm
            {
                FormCreator  = "Admin",
                FormName     = "Price Change Request",
                FormNameHtml = "Price Change<br />Request",
                FormUrl      = "PriceChangeRequestForm.aspx",
                Notes        = "Price Change Request Form Notes",
                Status       = 0,
                Timestamp    = DateTime.Now
            };

            TForm orderCancellation = new TForm
            {
                FormCreator  = "Admin",
                FormName     = "Order Cancellation",
                FormNameHtml = "Order Cancellation",
                FormUrl      = "OrderCancellationForm.aspx",
                Notes        = "Order Cancellation Form Notes",
                Status       = 0,
                Timestamp    = DateTime.Now
            };

            TForm hotRushForm = new TForm
            {
                FormCreator  = "Admin",
                FormName     = "Hot Rush",
                FormNameHtml = "Hot Rush",
                FormUrl      = "HotRushForm.aspx",
                Notes        = "Hot Rush Form Notes",
                Status       = 0,
                Timestamp    = DateTime.Now
            };

            TForm lowInventory = new TForm
            {
                FormCreator  = "Admin",
                FormName     = "Low Inventory",
                FormNameHtml = "Low Inventory",
                FormUrl      = "LowInventoryForm.aspx",
                Notes        = "Low Inventory Form Notes",
                Status       = 0,
                Timestamp    = DateTime.Now
            };

            TForm sampleRequest = new TForm
            {
                FormCreator  = "Admin",
                FormName     = "Sample Request",
                FormNameHtml = "Sample Request",
                FormUrl      = "SampleRequestForm.aspx",
                Notes        = "Sample Request Form Notes",
                Status       = 0,
                Timestamp    = DateTime.Now
            };

            TForm directOrder = new TForm
            {
                FormCreator  = "Admin",
                FormName     = "Direct Order",
                FormNameHtml = "Direct Order",
                FormUrl      = "DirectOrderForm.aspx",
                Notes        = "Direct Order Form Notes",
                Status       = 0,
                Timestamp    = DateTime.Now
            };

            TForm requestForCheck = new TForm
            {
                FormCreator  = "Admin",
                FormName     = "Request For Check",
                FormNameHtml = "Request For<br />Check",
                FormUrl      = "RequestForCheckForm.aspx",
                Notes        = "Request For Check Form Notes",
                Status       = 0,
                Timestamp    = DateTime.Now
            };

            TForm mustIncludeForm = new TForm
            {
                FormCreator  = "Admin",
                FormName     = "Must Include",
                FormNameHtml = "Must Include",
                FormUrl      = "MustIncludeForm.aspx",
                Notes        = "Must Include Form Notes",
                Status       = 0,
                Timestamp    = DateTime.Now
            };

            TForm cannotWaitForContainerForm = new TForm
            {
                FormCreator  = "Admin",
                FormName     = "Cannot Wait For Container",
                FormNameHtml = "Cannot<br />Wait For<br />Container",
                FormUrl      = "CannotWaitForContainerForm.aspx",
                Notes        = "Cannot Wait For Container Form Notes",
                Status       = 0,
                Timestamp    = DateTime.Now
            };

            if (!context.TForms.Any(x => x.FormName == orderCancellation.FormName))
            {
                context.TForms.Add(orderCancellation);
            }
            if (!context.TForms.Any(x => x.FormName == expeditedOrder.FormName))
            {
                context.TForms.Add(expeditedOrder);
            }
            if (!context.TForms.Any(x => x.FormName == priceChangeRequest.FormName))
            {
                context.TForms.Add(priceChangeRequest);
            }
            if (!context.TForms.Any(x => x.FormName == hotRushForm.FormName))
            {
                context.TForms.Add(hotRushForm);
            }
            if (!context.TForms.Any(x => x.FormName == lowInventory.FormName))
            {
                context.TForms.Add(lowInventory);
            }
            if (!context.TForms.Any(x => x.FormName == sampleRequest.FormName))
            {
                context.TForms.Add(sampleRequest);
            }
            if (!context.TForms.Any(x => x.FormName == directOrder.FormName))
            {
                context.TForms.Add(directOrder);
            }
            if (!context.TForms.Any(x => x.FormName == requestForCheck.FormName))
            {
                context.TForms.Add(requestForCheck);
            }
            if (!context.TForms.Any(x => x.FormName == mustIncludeForm.FormName))
            {
                context.TForms.Add(mustIncludeForm);
            }
            if (!context.TForms.Any(x => x.FormName == cannotWaitForContainerForm.FormName))
            {
                context.TForms.Add(cannotWaitForContainerForm);
            }

            //Seed ExpediteCodes
            ExpediteCode expCode1 = new ExpediteCode {
                Code = "EXP100", Description = "Mill Error", Status = 1, Timestamp = DateTime.Now
            };
            ExpediteCode expCode2 = new ExpediteCode {
                Code = "EXP200", Description = "Customer Error", Status = 1, Timestamp = DateTime.Now
            };
            ExpediteCode expCode3 = new ExpediteCode {
                Code = "EXP300", Description = "Tingle Error", Status = 1, Timestamp = DateTime.Now
            };
            ExpediteCode expCode4 = new ExpediteCode {
                Code = "EXP400", Description = "Install Date", Status = 1, Timestamp = DateTime.Now
            };
            ExpediteCode expCode5 = new ExpediteCode {
                Code = "EXP500", Description = "Can't wait on production date", Status = 1, Timestamp = DateTime.Now
            };
            ExpediteCode expCode6 = new ExpediteCode {
                Code = "EXP600", Description = "Search Other Distributors", Status = 1, Timestamp = DateTime.Now
            };
            ExpediteCode expCode7 = new ExpediteCode {
                Code = "EXP777", Description = "General", Status = 1, Timestamp = DateTime.Now
            };
            ExpediteCode expCode8 = new ExpediteCode {
                Code = "EXP800", Description = "Direct Order", Status = 1, Timestamp = DateTime.Now
            };
            ExpediteCode expCode9 = new ExpediteCode {
                Code = "EXP911", Description = "Immediate Attn", Status = 1, Timestamp = DateTime.Now
            };

            if (context.ExpediteCodes.Count() < 1)
            {
                if (!context.ExpediteCodes.Any(x => x.Code == expCode1.Code))
                {
                    context.ExpediteCodes.Add(expCode1);
                }
                if (!context.ExpediteCodes.Any(x => x.Code == expCode2.Code))
                {
                    context.ExpediteCodes.Add(expCode2);
                }
                if (!context.ExpediteCodes.Any(x => x.Code == expCode3.Code))
                {
                    context.ExpediteCodes.Add(expCode3);
                }
                if (!context.ExpediteCodes.Any(x => x.Code == expCode4.Code))
                {
                    context.ExpediteCodes.Add(expCode4);
                }
                if (!context.ExpediteCodes.Any(x => x.Code == expCode5.Code))
                {
                    context.ExpediteCodes.Add(expCode5);
                }
                if (!context.ExpediteCodes.Any(x => x.Code == expCode6.Code))
                {
                    context.ExpediteCodes.Add(expCode6);
                }
                if (!context.ExpediteCodes.Any(x => x.Code == expCode7.Code))
                {
                    context.ExpediteCodes.Add(expCode7);
                }
                if (!context.ExpediteCodes.Any(x => x.Code == expCode8.Code))
                {
                    context.ExpediteCodes.Add(expCode8);
                }
                if (!context.ExpediteCodes.Any(x => x.Code == expCode9.Code))
                {
                    context.ExpediteCodes.Add(expCode9);
                }
            }

            //Seed Statuses
            Status status1 = new Status {
                StatusText = "In Progress"
            };
            Status status2 = new Status {
                StatusText = "On Hold"
            };
            Status status3 = new Status {
                StatusText = "Completed"
            };

            if (!context.Statuses.Any())
            {
                if (!context.Statuses.Any(x => x.StatusText == status1.StatusText))
                {
                    context.Statuses.Add(status1);
                }
                if (!context.Statuses.Any(x => x.StatusText == status2.StatusText))
                {
                    context.Statuses.Add(status2);
                }
                if (!context.Statuses.Any(x => x.StatusText == status3.StatusText))
                {
                    context.Statuses.Add(status3);
                }
            }


            //Seed PO Statuses
            PurchaseOrderStatus poStatus1 = new PurchaseOrderStatus {
                Status = "Open", StatusCode = "O"
            };
            PurchaseOrderStatus poStatus2 = new PurchaseOrderStatus {
                Status = "Assigned", StatusCode = "A"
            };
            PurchaseOrderStatus poStatus3 = new PurchaseOrderStatus {
                Status = "Transit", StatusCode = "T"
            };
            PurchaseOrderStatus poStatus4 = new PurchaseOrderStatus {
                Status = "Future", StatusCode = "F"
            };
            PurchaseOrderStatus poStatus5 = new PurchaseOrderStatus {
                Status = "Rejected", StatusCode = "R"
            };
            PurchaseOrderStatus poStatus6 = new PurchaseOrderStatus {
                Status = "Confirmed", StatusCode = "K"
            };


            if (!context.POStatuses.Any())
            {
                context.POStatuses.Add(poStatus1);
                context.POStatuses.Add(poStatus2);
                context.POStatuses.Add(poStatus3);
                context.POStatuses.Add(poStatus4);
                context.POStatuses.Add(poStatus5);
                context.POStatuses.Add(poStatus6);
            }


            //Seed Prioties
            Priority pri1 = new Priority {
                PriorityText = "High"
            };
            Priority pri2 = new Priority {
                PriorityText = "Normal"
            };
            Priority pri3 = new Priority {
                PriorityText = "Low"
            };

            if (!context.Priorities.Any())
            {
                context.Priorities.Add(pri1);
                context.Priorities.Add(pri2);
                context.Priorities.Add(pri3);
            }


            //Seed Price Change Request Products
            PriceChangeRequestProducts prod1 = new PriceChangeRequestProducts {
                ProductText = "Armstrong"
            };
            PriceChangeRequestProducts prod2 = new PriceChangeRequestProducts {
                ProductText = "Other"
            };

            if (!context.PriceChangeRequestProducts.Any())
            {
                context.PriceChangeRequestProducts.Add(prod1);
                context.PriceChangeRequestProducts.Add(prod2);
            }


            //Seed Plants
            Plant plant1 = new Plant {
                PlantText = "Dickson"
            };
            Plant plant2 = new Plant {
                PlantText = "Kankakee"
            };
            Plant plant3 = new Plant {
                PlantText = "Stillwater"
            };
            Plant plant4 = new Plant {
                PlantText = "Lancaster"
            };
            Plant plant5 = new Plant {
                PlantText = "Southgate"
            };
            Plant plant6 = new Plant {
                PlantText = "Other"
            };
            Plant plant7 = new Plant {
                PlantText = "West Plains"
            };
            Plant plant8 = new Plant {
                PlantText = "JacksonTN"
            };
            Plant plant9 = new Plant {
                PlantText = "Jackson"
            };
            Plant plant10 = new Plant {
                PlantText = "Beverly"
            };
            Plant plant11 = new Plant {
                PlantText = "Givens"
            };

            if (!context.Plants.Any())
            {
                context.Plants.Add(plant1);
                context.Plants.Add(plant2);
                context.Plants.Add(plant3);
                context.Plants.Add(plant4);
                context.Plants.Add(plant5);
                context.Plants.Add(plant6);
                context.Plants.Add(plant7);
                context.Plants.Add(plant8);
                context.Plants.Add(plant9);
                context.Plants.Add(plant10);
                context.Plants.Add(plant11);
            }

            //Seed Warehouses
            Warehouse wh1 = new Warehouse {
                WarehouseText = "KAN"
            };
            Warehouse wh2 = new Warehouse {
                WarehouseText = "DEN"
            };
            Warehouse wh3 = new Warehouse {
                WarehouseText = "STL"
            };
            Warehouse wh4 = new Warehouse {
                WarehouseText = "HYD"
            };
            Warehouse wh5 = new Warehouse {
                WarehouseText = "SFG"
            };
            Warehouse wh6 = new Warehouse {
                WarehouseText = "SFH"
            };

            if (!context.Warehouses.Any())
            {
                context.Warehouses.Add(wh1);
                context.Warehouses.Add(wh2);
                context.Warehouses.Add(wh3);
                context.Warehouses.Add(wh4);
                context.Warehouses.Add(wh5);
                context.Warehouses.Add(wh6);
            }


            //Seed User Statuses
            UserStatus us1 = new UserStatus {
                StatusText = "Online"
            };
            UserStatus us2 = new UserStatus {
                StatusText = "Away"
            };
            UserStatus us3 = new UserStatus {
                StatusText = "Busy"
            };

            if (!context.UserStatuses.Any())
            {
                context.UserStatuses.Add(us1);
                context.UserStatuses.Add(us2);
                context.UserStatuses.Add(us3);
            }

            //Seed Vendors
            Vendor v1 = new Vendor {
                Timestamp = DateTime.Now, VendorName = "Armstrong Laminate"
            };
            Vendor v2 = new Vendor {
                Timestamp = DateTime.Now, VendorName = "Armstrong Wood"
            };

            if (!context.Vendors.Any())
            {
                context.Vendors.Add(v1);
                context.Vendors.Add(v2);
            }

            //Seed Inventory Approval Statuses
            InventoryApprovalStatus s1 = new InventoryApprovalStatus {
                StatusDescription = "Pending Approval"
            };
            InventoryApprovalStatus s2 = new InventoryApprovalStatus {
                StatusDescription = "Approved"
            };
            InventoryApprovalStatus s3 = new InventoryApprovalStatus {
                StatusDescription = "Ordered"
            };
            InventoryApprovalStatus s4 = new InventoryApprovalStatus {
                StatusDescription = "Arrived"
            };
            InventoryApprovalStatus s5 = new InventoryApprovalStatus {
                StatusDescription = "Invoiced"
            };
            InventoryApprovalStatus s6 = new InventoryApprovalStatus {
                StatusDescription = "Cancelled"
            };

            if (!context.InventoryApprovalStatuses.Any())
            {
                context.InventoryApprovalStatuses.Add(s1);
                context.InventoryApprovalStatuses.Add(s2);
                context.InventoryApprovalStatuses.Add(s3);
                context.InventoryApprovalStatuses.Add(s4);
                context.InventoryApprovalStatuses.Add(s5);
                context.InventoryApprovalStatuses.Add(s6);
            }



            base.Seed(context);
        }
Example #31
0
 private PurchaseOrder(IPurchaseOrderProcessor orderProcessor)
 {
     _OrderProcessor = orderProcessor;
     Id = NextId();
     _PurchaseOrderStatus = PurchaseOrderStatus.Created;
 }