コード例 #1
0
 public AssemblySiteInventoryForm(Model.AssemblySiteInventory model, string action)
     : this()
 {
     this._assemblySiteInventory = model;
     this.isLast = 1;
     this.action = action;
 }
コード例 #2
0
 protected override void AddNew()
 {
     this._assemblySiteInventory = new Book.Model.AssemblySiteInventory();
     this._assemblySiteInventory.AssemblySiteInventoryId = this.manager.GetId();
     this._assemblySiteInventory.Employee = BL.V.ActiveOperator.Employee;
     this.action = "insert";
 }
コード例 #3
0
        protected override void Delete()
        {
            if (this._assemblySiteInventory.InvoiceState.HasValue && _assemblySiteInventory.InvoiceState.Value)
            {
                throw new Exception("该单据已经生成组装现场盘点差异单,请勿删除!");
            }

            if (MessageBox.Show(Properties.Resources.ConfirmToDelete, this.Text, MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
            {
                return;
            }
            try
            {
                this.manager.Delete(_assemblySiteInventory.AssemblySiteInventoryId);
                _assemblySiteInventory = this.manager.GetNext(_assemblySiteInventory);
                if (_assemblySiteInventory == null)
                {
                    _assemblySiteInventory = this.manager.GetLast();
                }
            }
            catch
            {
                throw;
            }
        }
コード例 #4
0
        /// <summary>
        /// Update a AssemblySiteInventory.
        /// </summary>
        public void Update(Model.AssemblySiteInventory assemblySiteInventory)
        {
            //
            // todo: add other logic here.
            //
            try
            {
                BL.V.BeginTransaction();
                this.Validate(assemblySiteInventory);
                assemblySiteInventory.UpdateTime = DateTime.Now;

                accessor.Update(assemblySiteInventory);

                detailaccessor.DeleteByHeaderId(assemblySiteInventory.AssemblySiteInventoryId);
                foreach (var item in assemblySiteInventory.Details)
                {
                    item.AssemblySiteInventoryId = assemblySiteInventory.AssemblySiteInventoryId;
                    detailaccessor.Insert(item);
                }

                BL.V.CommitTransaction();
            }
            catch (Exception ex)
            {
                BL.V.RollbackTransaction();
                throw ex;
            }
        }
コード例 #5
0
        public AssemblySiteDifferenceForm(Model.AssemblySiteInventory model)
            : this()
        {
            this._assemblySiteDifference = new Book.Model.AssemblySiteDifference();
            this._assemblySiteDifference.AssemblySiteDifferenceId = this.manager.GetId();
            this._assemblySiteDifference.Employee = BL.V.ActiveOperator.Employee;
            this._assemblySiteDifference.AssemblySiteInventoryId = model.AssemblySiteInventoryId;
            this._assemblySiteDifference.InvoiceDate             = model.InvoiceDate;

            Model.AssemblySiteDifferenceDetai detail;
            foreach (var item in model.Details)
            {
                detail = new Book.Model.AssemblySiteDifferenceDetai();
                detail.AssemblySiteDifferenceDetaiId = Guid.NewGuid().ToString();
                detail.Product        = item.Product;
                detail.ProductId      = item.ProductId;
                detail.ActualQuantity = item.Quantity;

                detail.TheoryQuantity = this.CountSiteQuantity(detail.ProductId, model.InvoiceDate.Value.Date.AddDays(1));

                this._assemblySiteDifference.Details.Add(detail);
            }

            this.action = "insert";
            this.isLast = 1;
        }
コード例 #6
0
 protected override void MoveLast()
 {
     if (this.isLast == 1)
     {
         this.isLast = 0;
         return;
     }
     _assemblySiteInventory = this.manager.Get(this.manager.GetLast() == null ? "" : this.manager.GetLast().AssemblySiteInventoryId);
 }
コード例 #7
0
        protected override Book.UI.Settings.BasicData.BaseEditForm GetEditForm(object[] args)
        {
            Type type = typeof(AssemblySiteInventoryForm);

            Model.AssemblySiteInventory model = (args[0] as Model.AssemblySiteInventoryDetail).AssemblySiteInventory;

            args[0] = model;
            return((AssemblySiteInventoryForm)type.Assembly.CreateInstance(type.FullName, false, System.Reflection.BindingFlags.CreateInstance, null, args, null, null));
        }
コード例 #8
0
        protected override void MovePrev()
        {
            Model.AssemblySiteInventory model = this.manager.GetPrev(_assemblySiteInventory);
            if (model == null)
            {
                throw new InvalidOperationException(Properties.Resources.ErrorNoMoreRows);
            }

            _assemblySiteInventory = model;
        }
コード例 #9
0
        public Model.AssemblySiteInventory GetDetail(string id)
        {
            Model.AssemblySiteInventory model = this.Get(id);
            if (model != null)
            {
                model.Details = detailaccessor.SelectByHeaderId(id);
            }

            return(model);
        }
コード例 #10
0
 public override void gridView1_DoubleClick(object sender, EventArgs e)
 {
     if (type == 0)
     {
         Settings.BasicData.BaseEditForm f1 = this.GetEditForm(new object[] { this.bindingSource1.Current });
         f1.ShowDialog();
     }
     else
     {
         this.SelectItem   = new BL.AssemblySiteInventoryManager().GetDetail((this.bindingSource1.Current as Model.AssemblySiteInventoryDetail).AssemblySiteInventoryId);
         this.DialogResult = DialogResult.OK;
     }
 }
コード例 #11
0
        public override void Refresh()
        {
            if (_assemblySiteInventory == null)
            {
                this.AddNew();
            }
            else if (this.action == "view")
            {
                this._assemblySiteInventory = this.manager.GetDetail(this._assemblySiteInventory.AssemblySiteInventoryId);
            }
            if (this._assemblySiteInventory.InvoiceState.HasValue && this._assemblySiteInventory.InvoiceState.Value)
            {
                this.bar_GenerateInvoice.Enabled = false;

                if (this.action == "update")
                {
                    this.action = "view";
                    MessageBox.Show("该单据已经生成组装现场盘点差异单,请勿修改!", this.Text, MessageBoxButtons.OK);
                    return;
                }
            }
            else
            {
                this.bar_GenerateInvoice.Enabled = true;
            }

            this.txt_ID.EditValue         = this._assemblySiteInventory.AssemblySiteInventoryId;
            this.date_Inventory.EditValue = this._assemblySiteInventory.InvoiceDate;
            this.ncc_Employee.EditValue   = this._assemblySiteInventory.Employee;
            this.txt_Note.EditValue       = this._assemblySiteInventory.Note;


            this.bindingSourceDetail.DataSource = _assemblySiteInventory.Details;
            this.gridControl1.RefreshDataSource();
            base.Refresh();

            switch (this.action)
            {
            case "insert":
            case "update":
                this.gridView1.OptionsBehavior.Editable = true;
                break;

            case "view":
                this.gridView1.OptionsBehavior.Editable = false;
                break;
            }
            this.txt_ID.Properties.ReadOnly = true;
        }
コード例 #12
0
        public void Validate(Model.AssemblySiteInventory model)
        {
            if (model.InvoiceDate == null)
            {
                throw new Helper.InvalidValueException(Model.AssemblySiteInventory.PRO_InvoiceDate);
            }

            foreach (var item in model.Details)
            {
                if (item.Quantity == null)
                {
                    throw new Helper.MessageValueException(string.Format("商品:{0} 的盘点数量不能为空!", item.Product.ToString()));
                }
            }
        }
コード例 #13
0
 public void TiGuiExists(Model.AssemblySiteInventory model)
 {
     if (this.ExistsPrimary(model.AssemblySiteInventoryId))
     {
         //设置KEY值
         string invoiceKind   = this.GetInvoiceKind().ToLower();
         string sequencekey_y = string.Format("{0}-y-{1}", invoiceKind, DateTime.Now.Year);
         string sequencekey_m = string.Format("{0}-m-{1}-{2}", invoiceKind, DateTime.Now.Year, DateTime.Now.Month);
         string sequencekey_d = string.Format("{0}-d-{1}", invoiceKind, DateTime.Now.ToString("yyyy-MM-dd"));
         string sequencekey   = string.Format(invoiceKind);
         SequenceManager.Increment(sequencekey_y);
         SequenceManager.Increment(sequencekey_m);
         SequenceManager.Increment(sequencekey_d);
         SequenceManager.Increment(sequencekey);
         model.AssemblySiteInventoryId = this.GetId(DateTime.Now);
         TiGuiExists(model);
     }
 }
コード例 #14
0
        public AssemblySiteInventoryRO(Model.AssemblySiteInventory model)
        {
            InitializeComponent();

            this.DataSource = model.Details;

            this.lbl_CompanyName.Text = BL.Settings.CompanyChineseName;
            this.lbl_ReportName.Text  = "组装现场盘点录入";
            this.lbl_ReportDate.Text += DateTime.Now.ToString("yyyy-MM-dd");

            this.lbl_ID.Text       = model.AssemblySiteInventoryId;
            this.lbl_Date.Text     = model.InvoiceDate.HasValue ? model.InvoiceDate.Value.ToString("yyyy-MM-dd") : "";
            this.lbl_Employee.Text = model.Employee == null ? "" : model.Employee.EmployeeName;
            this.lbl_Note.Text     = model.Note;

            TC_ProductID.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_Id);
            TCProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductName);
            TCCustomerProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_CustomerProductName);
            TCProductVersion.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductVersion);
            TCActualQuantity.DataBindings.Add("Text", this.DataSource, Model.AssemblySiteInventoryDetail.PRO_Quantity, "{0:0.##}");
        }
コード例 #15
0
        /// <summary>
        /// Insert a AssemblySiteInventory.
        /// </summary>
        public void Insert(Model.AssemblySiteInventory assemblySiteInventory)
        {
            //
            // todo:add other logic here
            //
            try
            {
                BL.V.BeginTransaction();
                this.Validate(assemblySiteInventory);
                this.TiGuiExists(assemblySiteInventory);

                assemblySiteInventory.InsertTime = DateTime.Now;
                assemblySiteInventory.UpdateTime = DateTime.Now;

                string invoiceKind   = this.GetInvoiceKind().ToLower();
                string sequencekey_y = string.Format("{0}-y-{1}", invoiceKind, DateTime.Now.Year);
                string sequencekey_m = string.Format("{0}-m-{1}-{2}", invoiceKind, DateTime.Now.Year, DateTime.Now.Month);
                string sequencekey_d = string.Format("{0}-d-{1}", invoiceKind, DateTime.Now.ToString("yyyy-MM-dd"));
                string sequencekey   = string.Format(invoiceKind);
                SequenceManager.Increment(sequencekey_y);
                SequenceManager.Increment(sequencekey_m);
                SequenceManager.Increment(sequencekey_d);
                SequenceManager.Increment(sequencekey);

                accessor.Insert(assemblySiteInventory);

                foreach (var item in assemblySiteInventory.Details)
                {
                    item.AssemblySiteInventoryId = assemblySiteInventory.AssemblySiteInventoryId; //防止ID变更后不同
                    detailaccessor.Insert(item);
                }

                BL.V.CommitTransaction();
            }
            catch (Exception ex)
            {
                BL.V.RollbackTransaction();
                throw ex;
            }
        }
コード例 #16
0
 public void Insert(Model.AssemblySiteInventory e)
 {
     this.Insert <Model.AssemblySiteInventory>(e);
 }
コード例 #17
0
 public Model.AssemblySiteInventory GetNext(Model.AssemblySiteInventory e)
 {
     return(sqlmapper.QueryForObject <Model.AssemblySiteInventory>("AssemblySiteInventory.get_next", e));
 }
コード例 #18
0
 public Model.AssemblySiteInventory GetNext(Model.AssemblySiteInventory e)
 {
     return(accessor.GetNext(e));
 }
コード例 #19
0
 public bool HasRowsBefore(Model.AssemblySiteInventory e)
 {
     return(sqlmapper.QueryForObject <bool>("AssemblySiteInventory.has_rows_before", e));
 }
コード例 #20
0
 public bool HasRowsAfter(Model.AssemblySiteInventory e)
 {
     return(accessor.HasRowsAfter(e));
 }
コード例 #21
0
 protected override void MoveFirst()
 {
     _assemblySiteInventory = this.manager.Get(this.manager.GetFirst() == null ? "" : this.manager.GetFirst().AssemblySiteInventoryId);
 }
コード例 #22
0
 public Model.AssemblySiteInventory GetPrev(Model.AssemblySiteInventory e)
 {
     return(sqlmapper.QueryForObject <Model.AssemblySiteInventory>("AssemblySiteInventory.get_prev", e));
 }
コード例 #23
0
 public AssemblySiteInventoryForm(Model.AssemblySiteInventory model)
     : this()
 {
     this._assemblySiteInventory = model;
     this.isLast = 1;
 }
コード例 #24
0
 public void Update(Model.AssemblySiteInventory e)
 {
     this.Update <Model.AssemblySiteInventory>(e);
 }
コード例 #25
0
 public bool HasRowsBefore(Model.AssemblySiteInventory e)
 {
     return(accessor.HasRowsBefore(e));
 }
コード例 #26
0
 public bool HasRowsAfter(Model.AssemblySiteInventory e)
 {
     return(sqlmapper.QueryForObject <bool>("AssemblySiteInventory.has_rows_after", e));
 }