public IActionResult SaveSupplierInvoice(SupplierInvoice objSupplierInvoice)
        {
            if (!String.IsNullOrEmpty(objSupplierInvoice.InvoiceCode_PK))
            {
                objSupplierInvoice.IsNew = false;
            }
            else
            {
                objSupplierInvoice.IsNew = true;
            }
            objSupplierInvoice.ActionDate  = CommonValidation.FormatDate(DateTime.Today.ToString("dd-MM-yyyy"), "yyyy-mm-dd", "dd-mm-yyyy");
            objSupplierInvoice.InvoiceDate = CommonValidation.FormatDate(DateTime.Today.ToString("dd-MM-yyyy"), "yyyy-mm-dd", "dd-mm-yyyy");
            foreach (SupplierInvoiceLine objSupplierInvoiceLine in objSupplierInvoice.SupplierInvoiceLine_VW)
            {
                objSupplierInvoiceLine.ActionDate     = CommonValidation.FormatDate(DateTime.Today.ToString("dd-MM-yyyy"), "yyyy-mm-dd", "dd-mm-yyyy");
                objSupplierInvoiceLine.ActionType     = objSupplierInvoice.ActionType;
                objSupplierInvoiceLine.UserCode       = objSupplierInvoice.UserCode;
                objSupplierInvoiceLine.CompanyCode_FK = objSupplierInvoice.CompanyCode_FK;
            }

            string Vmsg = _supplierInvoiceRepository.SaveSupplierInvoice(objSupplierInvoice);

            return(Ok(new
            {
                message = Vmsg
            }));
        }
Example #2
0
        public IFluentSupplierInvoice CreateSupplierInvoiceByView(SupplierInvoiceView view)
        {
            decimal amount = 0;

            try
            {
                //check if packing slip exists

                Task <SupplierInvoice> supplierInvoiceLookupTask = Task.Run(async() => await unitOfWork.supplierInvoiceRepository.GetEntityByNumber(view.SupplierInvoiceNumber));
                Task.WaitAll(supplierInvoiceLookupTask);

                if (supplierInvoiceLookupTask.Result != null)
                {
                    processStatus = CreateProcessStatus.AlreadyExists; return(this as IFluentSupplierInvoice);
                }


                foreach (var detail in view.SupplierInvoiceDetailViews)
                {
                    amount += detail.ExtendedCost ?? 0;
                }
                view.Amount = amount;


                SupplierInvoice supplierInvoice = MapToEntity(view);
                // applicationViewFactory.MapSupplierInvoiceEntity(ref supplierInvoice, view);

                AddSupplierInvoice(supplierInvoice);

                return(this as IFluentSupplierInvoice);
            }
            catch (Exception ex) { throw new Exception("CreateSupplierInvoiceByView", ex); }
        }
        public void Test_Book()
        {
            #region Arrange
            var tmpSupplier = new SupplierConnector().Create(new Supplier()
            {
                Name = "TmpSupplier"
            });
            var tmpArticle = new ArticleConnector().Create(new Article()
            {
                Description = "TmpArticle", PurchasePrice = 100
            });
            #endregion Arrange

            ISupplierInvoiceConnector connector = new SupplierInvoiceConnector();

            var newSupplierInvoice = new SupplierInvoice()
            {
                SupplierNumber      = tmpSupplier.SupplierNumber,
                Comments            = "InvoiceComments",
                InvoiceDate         = new DateTime(2020, 1, 1),
                DueDate             = new DateTime(2020, 2, 1),
                SalesType           = SalesType.Stock,
                OCR                 = "123456789",
                Total               = 5000,
                SupplierInvoiceRows = new List <SupplierInvoiceRow>()
                {
                    new SupplierInvoiceRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, Quantity = 10, Price = 100
                    },
                    new SupplierInvoiceRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, Quantity = 20, Price = 100
                    },
                    new SupplierInvoiceRow()
                    {
                        ArticleNumber = tmpArticle.ArticleNumber, Quantity = 20, Price = 100
                    }
                }
            };

            var createdSupplierInvoice = connector.Create(newSupplierInvoice);

            //Act
            connector.Bookkeep(createdSupplierInvoice.GivenNumber);
            var bookedInvoice = connector.Get(createdSupplierInvoice.GivenNumber);

            //Assert
            Assert.AreEqual(true, bookedInvoice.Booked);
            Assert.AreEqual(1, bookedInvoice.Vouchers.Count);
            Assert.AreEqual(ReferenceType.SupplierInvoice, bookedInvoice.Vouchers.First().ReferenceType);

            #region Delete arranged resources
            //Can not cancel booked invoice

/*            connector.Cancel(createdSupplierInvoice.GivenNumber);
 *          new SupplierConnector().Delete(tmpSupplier.SupplierNumber);
 *          new ArticleConnector().Delete(tmpArticle.ArticleNumber);*/
            #endregion Delete arranged resources
        }
Example #4
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Request.Cookies["user"] == null)
     {
         Response.Redirect("~/Default.aspx");
     }
     else
     {
         if (!new UserSecurity().CheckFormPermission((int)Global.formSecurity.ViewSupplierInvoice, Request.Cookies["user"]["Permission"].ToString()))
         {
             Response.Redirect("~/Finance_Module/UnAuthorized.aspx");
         }
     }
     if (Convert.ToInt32(Request.QueryString["id"].ToString()) > 0)
     {
         SupplierInvoice s = new SupplierInvoice();
         s.get(Convert.ToInt32(Request.QueryString["id"].ToString()));
         txtDescription.Text                 = s.Description;
         txtInvoiceNumber.Text               = s.InvoiceNumber.ToString();
         txtPaidAmount.Text                  = s.PaidAmount.ToString();
         txtRemaining.Text                   = s.RemainingAmount.ToString();
         txtTotalAmount.Text                 = s.TotalAmount.ToString();
         ddlCashGlAccount.SelectedValue      = s.InvoiceGLAcct.ToString();
         ddlliabilityGlAccount.SelectedValue = s.InvoiceLiabGLAcct.ToString();
         ddlSupplier.SelectedValue           = s.SupplierID.ToString();
         DataTable dt = s.getInvItems(Convert.ToInt32(Request.QueryString["id"].ToString()));
         grid.DataSource  = dt;
         Session["Table"] = dt;
         grid.DataBind();
     }
 }
Example #5
0
        public SupplierInvoice MapToEntity(SupplierInvoiceView inputObject)
        {
            Mapper          mapper    = new Mapper();
            SupplierInvoice outObject = mapper.Map <SupplierInvoice>(inputObject);

            return(outObject);
        }
Example #6
0
 public void ClearForm()
 {
     try
     {
         m_si             = new SupplierInvoice();
         textBoxCode.Text = "";
         dateKryptonDateTimePicker.Value          = DateTime.Today;
         employeeKryptonComboBox.SelectedIndex    = 0;
         currencyKryptonComboBox.SelectedIndex    = 0;
         nettotalAmountkryptonNumericUpDown.Value = 0m;
         notesKryptonTextBox.Text = "";
         divisionKryptonComboBox.SelectedIndex      = 0;
         termofpaymentKryptonComboBox.SelectedIndex = 0;
         duedateKryptonDateTimePicker.Value         = DateTime.Today;
         subTotalKryptonNumericUpDown.Value         = 0m;
         discPercentKryptonNumericUpDown.Value      = 0m;
         discAmountkryptonNumericUpDown.Value       = 0m;
         discAfterAmountKryptonNumericUpDown.Value  = 0m;
         taxKryptonComboBox.SelectedIndex           = 0;
         taxAfterAmountkryptonNumericUpDown.Value   = 0m;
         otherExpensekryptonNumericUpDown.Value     = 0m;
         supplierkryptonComboBox.SelectedIndex      = 0;
         docnokryptonTextBox.Text           = "";
         docdatekryptonDateTimePicker.Value = DateTime.Today;
         itemsDataGrid.Rows.Clear();
         errorProvider1.Clear();
     }
     catch (Exception x)
     {
         KryptonMessageBox.Show(x.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
Example #7
0
        public List <SupplierInvoice> GetSupplierInvoices(string pDateFrom, string pDateTo, string suppliercode)
        {
            List <SupplierInvoice> supplierInvoices = new List <SupplierInvoice>();
            SupplierInvoice        objSupplierInvoice;

            string vComTxt = @"SELECT  [InvoiceCode]
                                          ,[InvoiceNo]
                                          ,[InvoiceDate]
                                          ,[InvoiceTotal]
                                      FROM [PMS_SupplierInvoice] q
                                      WHERE [SupplierCode]= '" + suppliercode + "'";

            if (!string.IsNullOrEmpty(pDateFrom) && !string.IsNullOrEmpty(pDateTo))
            {
                vComTxt = vComTxt + @" and [InvoiceDate] BETWEEN '" + pDateFrom + @"' AND '" + pDateTo + "'";
            }
            SqlConnection connection = _supplierDbContext.GetConn();

            connection.Open();
            SqlDataReader dr;
            SqlCommand    objDbCommand = new SqlCommand(vComTxt, connection);

            dr = objDbCommand.ExecuteReader();
            while (dr.Read())
            {
                objSupplierInvoice = new SupplierInvoice();
                objSupplierInvoice.InvoiceCode_PK = dr["InvoiceCode"].ToString();
                objSupplierInvoice.InvoiceNo      = dr["InvoiceNo"].ToString();
                objSupplierInvoice.InvoiceDate    = dr.GetDateTime(dr.GetOrdinal("InvoiceDate")).ToString("dd-MM-yyyy");
                objSupplierInvoice.InvoiceTotal   = Convert.ToDecimal(dr["InvoiceTotal"].ToString());

                supplierInvoices.Add(objSupplierInvoice);
            }
            return(supplierInvoices);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Cookies["user"] == null)
            {
                Response.Redirect("~/Default.aspx");
            }
            else
            {
                if (!new UserSecurity().CheckFormPermission((int)Global.formSecurity.SupplierInvoices, Request.Cookies["user"]["Permission"].ToString()))
                {
                    Response.Redirect("~/Finance_Module/UnAuthorized.aspx");
                }
            }
            SupplierInvoice sp = new SupplierInvoice();
            DataTable       dt = sp.getList();

            ASPxGridView1.DataSource = dt;
            ASPxGridView1.DataBind();
            AddSubmitEvent();
            if (!IsPostBack)
            {
                if (Request.QueryString["alert"] == "success")
                {
                    Response.Write("<script>alert('تم الحفظ بنجاح.');</script>");
                }
            }
        }
        /// <summary>
        /// Victor Algarin
        /// Created:
        /// 2017/04/06
        ///
        /// Deletes the supplier invoice by the selected supplier invoice ID
        /// </summary>
        ///
        /// <remarks>
        /// Aaron Usher
        /// Updated:
        /// 2017/04/28
        ///
        /// Standardized method.
        /// </remarks>
        ///
        /// <param name="invoice">The invoice to be deleted</param>
        /// <returns>Rows affected.</returns>
        public static int DeleteSupplierInvoice(SupplierInvoice invoice)
        {
            int rows = 0;

            var conn    = DBConnection.GetConnection();
            var cmdText = "sp_delete_supplier_invoice";
            var cmd     = new SqlCommand(cmdText, conn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@SUPPLIER_INVOICE_ID", invoice.SupplierInvoiceId);

            try
            {
                conn.Open();
                rows = cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conn.Close();
            }

            return(rows);
        }
        /// <summary>
        /// Christian Lopez
        /// Created:
        /// 2017/03/29
        ///
        /// Stores the invoice to the db and returns the id it was stored to
        /// </summary>
        ///
        /// <remarks>
        /// Aaron Usher
        /// Updated:
        /// 2017/04/28
        ///
        /// Standardized method.
        /// </remarks>
        ///
        /// <param name="supplierInvoice">The supplierInvoice to create.</param>
        /// <returns>The newly created id.</returns>
        public static int CreateSupplierInvoice(SupplierInvoice supplierInvoice)
        {
            int supplierInvoiceID = 0;

            var conn    = DBConnection.GetConnection();
            var cmdText = @"sp_create_supplier_invoice";
            var cmd     = new SqlCommand(cmdText, conn);

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@SUPPLIER_ID", supplierInvoice.SupplierId);
            cmd.Parameters.AddWithValue("@INVOICE_DATE", supplierInvoice.InvoiceDate);
            cmd.Parameters.AddWithValue("@SUB_TOTAL", supplierInvoice.SubTotal);
            cmd.Parameters.AddWithValue("@TAX_AMOUNT", supplierInvoice.TaxAmount);
            cmd.Parameters.AddWithValue("@TOTAL", supplierInvoice.Total);
            cmd.Parameters.AddWithValue("@AMOUNT_PAID", supplierInvoice.AmountPaid);

            try
            {
                conn.Open();
                int.TryParse(cmd.ExecuteScalar().ToString(), out supplierInvoiceID);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                conn.Close();
            }

            return(supplierInvoiceID);
        }
Example #11
0
        public void CreateSupplierInvoice()
        {
            var supplierId = 0;
            var itemId     = 0;
            var taxTypeId  = 0;

            SupplierInvoice po       = new SupplierInvoice();
            var             supplier = Api.SupplierRequest.Get(supplierId);

            po.SupplierId   = supplierId;
            po.SupplierName = supplier.Name;
            po.Date         = DateTime.Now;
            po.DueDate      = DateTime.Now.AddDays(7);

            po.Lines = new List <CommercialDocumentLine>();
            var line1 = new CommercialDocumentLine
            {
                SelectionId        = itemId,    // This must be an item or account id
                TaxTypeId          = taxTypeId, // Use TaxTypeRequest to get list of Tax Types
                LineType           = 0,         // 0=Item/1=Account -> See Enums.CommercialDocumentLineType
                Quantity           = 1,
                UnitPriceExclusive = 390,
                UnitPriceInclusive = 390,
                DiscountPercentage = 0
            };

            po.Lines.Add(line1);

            var newSupplierInvoice = supplierInvoiceRequest.Save(po);

            Assert.IsTrue(supplierInvoiceRequest.StatusCode == HttpStatusCode.Created);
        }
Example #12
0
        /// <summary>
        /// Robert Forbes
        /// 2017/03/30
        ///
        /// Attempts to update the invoice to use the newly input values.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSubmit_Click(object sender, RoutedEventArgs e)
        {
            if (Validate() == true)
            {
                try
                {
                    SupplierInvoice newInvoice = new SupplierInvoice
                    {
                        SupplierInvoiceId = _invoice.SupplierInvoiceId,
                        SupplierId        = ((Supplier)cboSupplier.SelectedItem).SupplierID,
                        InvoiceDate       = (DateTime)dpInvoiceDate.SelectedDate,
                        SubTotal          = decimal.Parse(txtSubTotal.Text),
                        TaxAmount         = decimal.Parse(txtTaxAmount.Text),
                        Total             = decimal.Parse(txtTotal.Text),
                        AmountPaid        = decimal.Parse(txtAmountPaid.Text),
                        Approved          = _invoice.Approved,
                        Active            = _invoice.Active
                    };

                    if (_supplierInvoiceManager.UpdateSupplierInvoice(_invoice, newInvoice))
                    {
                        MessageBox.Show("Invoice Updated Successfully!");
                        this.Close();
                    }
                }
                catch
                {
                    MessageBox.Show("There was a problem communicating with the database");
                }
            }
            else
            {
                MessageBox.Show("One or more of the values you have entered are not valid");
            }
        }
Example #13
0
 private void OKkryptonButton_Click(object sender, EventArgs e)
 {
     if (gridData.SelectedRows.Count > 0)
     {
         SUPPLIER_INVOICE = (SupplierInvoice)gridData.SelectedRows[0].Tag;
         this.Close();
     }
 }
 /// <summary>
 /// Alissa Duffy
 /// Updated: 2017/04/21
 ///
 /// Initialize the Supplier Invoice Details Window.
 /// Standardized method.
 /// </summary>
 /// </summary>
 /// <param name="supplierInvoice"></param>
 /// <param name="supplierInvoiceManager"></param>
 /// <param name="supplierManager"></param>
 public frmSupplierInvoiceDetails(SupplierInvoice supplierInvoice, ISupplierInvoiceManager supplierInvoiceManager, ISupplierManager supplierManager)
 {
     _supplierInvoice        = supplierInvoice;
     _supplierInvoiceManager = supplierInvoiceManager;
     _supplierManager        = supplierManager;
     _invoiceLines           = new List <SupplierInvoiceLine>();
     InitializeComponent();
 }
Example #15
0
 private void gridData_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
 {
     if (gridData.SelectedRows.Count > 0)
     {
         SUPPLIER_INVOICE = (SupplierInvoice)gridData.SelectedRows[0].Tag;
         this.Close();
     }
 }
Example #16
0
        public async Task <IActionResult> DeleteSupplierInvoice([FromBody] SupplierInvoiceView view)
        {
            SupplierInvoiceModule invMod          = new SupplierInvoiceModule();
            SupplierInvoice       supplierInvoice = await invMod.SupplierInvoice.Query().MapToEntity(view);

            invMod.SupplierInvoice.DeleteSupplierInvoice(supplierInvoice).Apply();

            return(Ok(view));
        }
Example #17
0
        /// <summary>
        /// Determines the current invoice to display based on the
        /// current selected client
        /// </summary>
        /// <typeparam name="T">T is Either a client Invoice or a supplier Invoice</typeparam>
        /// <returns></returns>
        public T ShapeInvoice <T> ()
            where T : class, new()
        {
            try
            {
                if (invoiceFor == "Clients")
                {
                    //invoiceHelper.ClientId = (currentFor as Client).ClientId;
                    invoiceHelper.Date        = DateTime.Now;
                    invoiceHelper.ClientId    = (currentFor as Client).ClientId;
                    invoiceHelper.VatValue    = ((invoiceHelper.Vat_Nhil / 100) * invoiceHelper.Amount);
                    invoiceHelper.TotalAmount = invoiceHelper.Amount + invoiceHelper.VatValue;
                    // invoiceHelper.Invoice_No = GetInvoiceNumber();

                    if (CheckDuplicateInvoiceNumber(invoiceHelper.Invoice_No) == false)
                    {
                        return(null);
                    }

                    return(invoiceHelper as T);
                }

                else if (invoiceFor == "Suppliers")
                {
                    // the original invoice return;
                    SupplierInvoice ci = new SupplierInvoice();

                    //


                    ci.Date             = DateTime.Now;
                    ci.PurchaseOrder_No = invoiceHelper.PurchaseOrder_No;
                    ci.ProjectSite      = invoiceHelper.ProjectSite;
                    ci.WayBill_No       = invoiceHelper.WayBill_No;
                    ci.Description      = invoiceHelper.Description;
                    ci.Amount           = invoiceHelper.Amount;
                    ci.Vat_Nhil         = invoiceHelper.Vat_Nhil;
                    ci.Remarks          = invoiceHelper.Remarks;
                    ci.SupplierId       = (CurrentFor as Supplier).SupplierId;

                    ci.VatValue    = ((ci.Vat_Nhil / 100) * ci.Amount);
                    ci.TotalAmount = ci.Amount + ci.VatValue;
                    ci.Invoice_No  = invoiceHelper.Invoice_No;

                    if (CheckDuplicateInvoiceNumber(ci.Invoice_No) == false)
                    {
                        return(null);
                    }

                    return(ci as T);
                }
            }
            catch { return(null); }


            return(null);
        }
Example #18
0
        private void pricemovkryptonButton1_Click(object sender, EventArgs e)
        {
            try
            {
                pricemovementkryptonDataGridView1.Rows.Clear();
                if (m_part.ID == 0)
                {
                    return;
                }
                IList movs = r_sir.GetSupplierInvoiceItem(m_part.ID);

                foreach (EventItem itm in movs)
                {
                    int r = pricemovementkryptonDataGridView1.Rows.Add();
                    pricemovementkryptonDataGridView1[dateprcmovColumn1.Index, r].Value = itm.EVENT.TRANSACTION_DATE;
                    pricemovementkryptonDataGridView1[codeprcmovColumn2.Index, r].Value = itm.EVENT.CODE;
                    pricemovementkryptonDataGridView1[typeprcmovColumn1.Index, r].Value = itm.STOCK_CARD_ENTRY_TYPE.ToString();
                    pricemovementkryptonDataGridView1[qtyprcmovColumn1.Index, r].Value  = itm.GetAmountInSmallestUnit();
                    pricemovementkryptonDataGridView1[unitprcmovColumn3.Index, r].Value = m_part.UNIT.CODE;
                    switch (itm.STOCK_CARD_ENTRY_TYPE)
                    {
                    case StockCardEntryType.SupplierInvoice:
                        SupplierInvoiceItem sii = (SupplierInvoiceItem)itm;
                        SupplierInvoice     si  = (SupplierInvoice)sii.EVENT;
                        si.SUPPLIER = (Supplier)r_sup.GetById(si.SUPPLIER);
                        pricemovementkryptonDataGridView1[vendorprcmovColumn4.Index, r].Value = si.SUPPLIER.NAME;
                        double c = sii.SUBTOTAL / sii.GetAmountInSmallestUnit();
                        c = r_ccy.ConvertToCurrency(si.CURRENCY, m_part.CURRENCY, c, si.TRANSACTION_DATE);
                        pricemovementkryptonDataGridView1[priceprcmovColumn.Index, r].Value = c < 0 ? -c : c;
                        break;

                    case StockCardEntryType.StockTaking:
                        StockTakingItems stk  = (StockTakingItems)itm;
                        StockTaking      stkh = (StockTaking)itm.EVENT;
                        double           p    = stk.TOTAL_AMOUNT / stk.GetAmountInSmallestUnit();
                        p = r_ccy.ConvertToCurrency(stkh.CURRENCY, m_part.CURRENCY, p, stkh.TRANSACTION_DATE);
                        pricemovementkryptonDataGridView1[priceprcmovColumn.Index, r].Value = p < 0 ? -p : p;
                        break;

                    case StockCardEntryType.OpeningStock:
                        OpeningStockItem opn  = (OpeningStockItem)itm;
                        OpeningStock     opnh = (OpeningStock)itm.EVENT;
                        double           x    = opn.TOTAL_AMOUNT / opn.GetAmountInSmallestUnit();
                        x = r_ccy.ConvertToCurrency(opnh.CURRENCY, m_part.CURRENCY, x, opnh.TRANSACTION_DATE);
                        pricemovementkryptonDataGridView1[priceprcmovColumn.Index, r].Value = x < 0 ? -x : x;
                        break;
                    }
                    pricemovementkryptonDataGridView1[statusMovementColumn.Index, r].Value = itm.EVENT.POSTED.ToString();
                }
                UserSetting.AddNumberToGrid(pricemovementkryptonDataGridView1);
                updatePriceMovement();
            }
            catch (Exception x)
            {
                KryptonMessageBox.Show(x.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
 public static bool insertPaymentToSupplier(APCEntities APCContext, SupplierInvoice supplierInvoice, decimal paymentAmount, DateTime paymentDate)
 {
     PaymentToSupplier paymentToSupplier = new PaymentToSupplier();
     paymentToSupplier.SupplierInvoice = supplierInvoice;
     paymentToSupplier.PaymentAmount = paymentAmount;
     paymentToSupplier.PaymentDate = paymentDate;
     APCContext.AddToPaymentToSupplier(paymentToSupplier);
     APCContext.SaveChanges();
     return true;
 }
 /// <summary>
 /// Robert Forbes
 /// 2017/03/30
 ///
 /// Updates the old invoice in the database so that it has the values of the new invoice
 /// </summary>
 /// <param name="oldInvoice">The original invoice</param>
 /// <param name="newInvoice">The invoice with updated values</param>
 /// <returns></returns>
 public bool UpdateSupplierInvoice(SupplierInvoice oldInvoice, SupplierInvoice newInvoice)
 {
     try
     {
         return(1 == SupplierInvoiceAccessor.UpdateSupplierInvoice(oldInvoice, newInvoice));
     }
     catch (Exception)
     {
         throw;
     }
 }
 public ActionResult Create([Bind(Include = "SupplierInvoiceId,SupplierId,InvoiceDate,SubTotal,TaxAmount,Total,AmountPaid,Approved,Active")] SupplierInvoice supplierInvoice)
 {
     if (ModelState.IsValid)
     {
         if (invMgr.CreateSupplierInvoice(supplierInvoice) != 0)
         {
             return(RedirectToAction("Index"));
         }
     }
     return(View(supplierInvoice));
 }
Example #22
0
        public static bool insertPaymentToSupplier(APCEntities APCContext, SupplierInvoice supplierInvoice, decimal paymentAmount, DateTime paymentDate)
        {
            PaymentToSupplier paymentToSupplier = new PaymentToSupplier();

            paymentToSupplier.SupplierInvoice = supplierInvoice;
            paymentToSupplier.PaymentAmount   = paymentAmount;
            paymentToSupplier.PaymentDate     = paymentDate;
            APCContext.AddToPaymentToSupplier(paymentToSupplier);
            APCContext.SaveChanges();
            return(true);
        }
Example #23
0
        public async Task TestAddUpdatDelete()
        {
            SupplierInvoiceModule SupplierInvoiceMod = new SupplierInvoiceModule();
            Supplier supplier = await SupplierInvoiceMod.Supplier.Query().GetEntityById(3);

            AddressBook addressBook = await SupplierInvoiceMod.AddressBook.Query().GetEntityById(supplier?.AddressId);

            PurchaseOrder purchaseOrder = await SupplierInvoiceMod.PurchaseOrder.Query().GetEntityById(2);

            Invoice invoice = await SupplierInvoiceMod.Invoice.Query().GetEntityById(20);

            SupplierInvoiceView view = new SupplierInvoiceView()
            {
                SupplierId          = supplier.SupplierId,
                SupplierName        = addressBook?.Name,
                SupplierInvoiceDate = DateTime.Parse("12/3/2019"),
                PurchaseOrderId     = purchaseOrder.PurchaseOrderId,
                PONumber            = purchaseOrder.Ponumber,
                Amount          = 268M,
                Description     = "Back to School supplies",
                TaxAmount       = 16.08M,
                PaymentDueDate  = DateTime.Parse("12/4/2019"),
                PaymentTerms    = "Net 30",
                DiscountDueDate = DateTime.Parse("12/4/2019"),
                FreightCost     = 4.98M,
                InvoiceId       = invoice?.InvoiceId,
                InvoiceDocument = invoice?.InvoiceDocument
            };
            NextNumber nnNextNumber = await SupplierInvoiceMod.SupplierInvoice.Query().GetNextNumber();

            view.SupplierInvoiceNumber = nnNextNumber.NextNumberValue;

            SupplierInvoice supplierInvoice = await SupplierInvoiceMod.SupplierInvoice.Query().MapToEntity(view);

            SupplierInvoiceMod.SupplierInvoice.AddSupplierInvoice(supplierInvoice).Apply();

            SupplierInvoice newSupplierInvoice = await SupplierInvoiceMod.SupplierInvoice.Query().GetEntityByNumber(view.SupplierInvoiceNumber);

            Assert.NotNull(newSupplierInvoice);

            newSupplierInvoice.Description = "SupplierInvoice Test Update";

            SupplierInvoiceMod.SupplierInvoice.UpdateSupplierInvoice(newSupplierInvoice).Apply();

            SupplierInvoiceView updateView = await SupplierInvoiceMod.SupplierInvoice.Query().GetViewById(newSupplierInvoice.SupplierInvoiceId);

            Assert.Same(updateView.Description, "SupplierInvoice Test Update");
            SupplierInvoiceMod.SupplierInvoice.DeleteSupplierInvoice(newSupplierInvoice).Apply();
            SupplierInvoice lookupSupplierInvoice = await SupplierInvoiceMod.SupplierInvoice.Query().GetEntityById(view.SupplierInvoiceId);

            Assert.Null(lookupSupplierInvoice);
        }
Example #24
0
        public async Task <ActionResult <SupplierInvoice> > Put(int id, [FromBody] SupplierInvoice supplierInvoice)
        {
            try
            {
                await this.supplierInvoiceService.UpdateSupplierInvoiceAsync(supplierInvoice);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.ToString()));
            }
        }
 /// <summary>
 /// Bobby Thorne
 /// 2017/04/14
 ///
 /// OverLoad method to view user's own invoices
 /// </summary>
 /// <param name="supplierInvoice"></param>
 /// <param name="supplierInvoiceManager"></param>
 /// <param name="supplierManager"></param>
 /// <param name="purpose"></param>
 public frmSupplierInvoiceDetails(SupplierInvoice supplierInvoice, ISupplierInvoiceManager supplierInvoiceManager, ISupplierManager supplierManager, string purpose)
 {
     // TODO: Complete member initialization
     _supplierInvoice        = supplierInvoice;
     _supplierInvoiceManager = supplierInvoiceManager;
     _supplierManager        = supplierManager;
     _invoiceLines           = new List <SupplierInvoiceLine>();
     InitializeComponent();
     if (purpose == "ReadOnly")
     {
         btnApprove.Visibility = Visibility.Hidden;
     }
 }
        /// <summary>
        /// Victor Algarin
        /// 2017/04/06
        /// </summary>
        ///
        /// <param name="invoice">The selected invoice to be deleted</param>
        /// <returns>true (if query from accessor is successful)</returns>
        public bool DeleteSupplierInvoice(SupplierInvoice invoice)
        {
            try
            {
                return(SupplierInvoiceAccessor.DeleteSupplierInvoice(invoice) == 1);
            }
            catch (Exception)
            {
                return(false);

                throw new ApplicationException("There was a problem deleting the specified supplier invoice");
            }
        }
Example #27
0
        public async Task <IActionResult> UpdateSupplierInvoice([FromBody] SupplierInvoiceView view)
        {
            SupplierInvoiceModule invMod = new SupplierInvoiceModule();

            SupplierInvoice supplierInvoice = await invMod.SupplierInvoice.Query().MapToEntity(view);


            invMod.SupplierInvoice.UpdateSupplierInvoice(supplierInvoice).Apply();

            SupplierInvoiceView retView = await invMod.SupplierInvoice.Query().GetViewById(supplierInvoice.SupplierInvoiceId);


            return(Ok(retView));
        }
Example #28
0
 void AssignInvoiceValues(ref SupplierInvoice inv, ref SupplierInvoice item)
 {
     inv.Invoice_No       = item.Invoice_No;
     inv.Date             = item.Date;
     inv.PurchaseOrder_No = item.PurchaseOrder_No;
     inv.ProjectSite      = item.ProjectSite;
     inv.WayBill_No       = item.WayBill_No;
     inv.Description      = item.Description;
     inv.Amount           = item.Amount;
     inv.Vat_Nhil         = item.Vat_Nhil;
     inv.VatValue         = item.VatValue;
     inv.TotalAmount      = item.TotalAmount;
     inv.Remarks          = item.Remarks;
 }
Example #29
0
        public async Task <SupplierInvoice> AddSupplierInvoiceAsync(SupplierInvoice supplierInvoice)
        {
            var company = await _companyRepository.GetCompanyByNameAsync(supplierInvoice.CompanyName);

            supplierInvoice.CompanyId = company.Id;

            var supplier = await _supplierRepository.GetSupplierByNameAsync(supplierInvoice.CompanyId, supplierInvoice.SupplierName);

            supplierInvoice.SupplierId = supplier.Id;

            supplierInvoice.Id = await _supplierInvoiceRepository.AddSupplierInvoiceAsync(supplierInvoice);

            return(supplierInvoice);
        }
Example #30
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            int id = 0;

            int.TryParse(tbId.Text, out id);
            if (id != 0)
            {
                SupplierInvoice currentSupplierInvoice = BLSupplierInvoice.GetSupplierInvoiceById(APCContext, id);
                if (currentSupplierInvoice != null)
                {
                    decimal paymentDue = 0;
                    if (decimal.TryParse(tbPaymentDue.Text, out paymentDue))
                    {
                        if (calDueDate.Value != null)
                        {
                            if (ddlPO.SelectedValue != null)
                            {
                                currentSupplierInvoice.SupplierOriNo = tbSupplierOriInvoiceNo.Text;
                                currentSupplierInvoice.PaymentDue    = paymentDue;
                                currentSupplierInvoice.DueDate       = calDueDate.Value;
                                currentSupplierInvoice.PO            = BLPO.GetPOById(APCContext, int.Parse(ddlPO.SelectedValue.ToString()));
                                APCContext.SaveChanges();
                                MessageBox.Show("SupplierInvoice Details Successfully Updated");
                            }
                            else
                            {
                                MessageBox.Show("Please select the associated PO Number");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Please specify a correct due date");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Please specify correct amount of Payment Due");
                    }
                }
                else
                {
                    MessageBox.Show("SupplierInvoice Id not found");
                }
            }
            else
            {
                MessageBox.Show("SupplierInvoice Id not found");
            }
        }
Example #31
0
        public async Task TestAddUpdatDelete()
        {
            SupplierInvoiceDetailModule SupplierInvoiceDetailMod = new SupplierInvoiceDetailModule();
            SupplierInvoice             supplierInvoice          = await SupplierInvoiceDetailMod.SupplierInvoice.Query().GetEntityById(2);

            Invoice invoice = await SupplierInvoiceDetailMod.Invoice.Query().GetEntityById(20);

            InvoiceDetail invoiceDetail = await SupplierInvoiceDetailMod.InvoiceDetail.Query().GetEntityById(21);

            ItemMaster itemMaster = await SupplierInvoiceDetailMod.ItemMaster.Query().GetEntityById(11);


            SupplierInvoiceDetailView view = new SupplierInvoiceDetailView()
            {
                InvoiceId         = invoice?.InvoiceId,
                InvoiceDocument   = invoice?.InvoiceDocument,
                InvoiceDetailId   = invoiceDetail?.InvoiceDetailId,
                SupplierInvoiceId = supplierInvoice.SupplierInvoiceId,
                UnitPrice         = 31.50M,
                Quantity          = 4,
                UnitOfMeasure     = "Each",
                ExtendedCost      = 268M,
                ItemId            = itemMaster.ItemId,
                Description       = itemMaster.Description
            };
            NextNumber nnNextNumber = await SupplierInvoiceDetailMod.SupplierInvoiceDetail.Query().GetNextNumber();

            view.SupplierInvoiceDetailNumber = nnNextNumber.NextNumberValue;

            SupplierInvoiceDetail supplierInvoiceDetail = await SupplierInvoiceDetailMod.SupplierInvoiceDetail.Query().MapToEntity(view);

            SupplierInvoiceDetailMod.SupplierInvoiceDetail.AddSupplierInvoiceDetail(supplierInvoiceDetail).Apply();

            SupplierInvoiceDetail newSupplierInvoiceDetail = await SupplierInvoiceDetailMod.SupplierInvoiceDetail.Query().GetEntityByNumber(view.SupplierInvoiceDetailNumber);

            Assert.NotNull(newSupplierInvoiceDetail);

            newSupplierInvoiceDetail.Description = "SupplierInvoiceDetail Test Update";

            SupplierInvoiceDetailMod.SupplierInvoiceDetail.UpdateSupplierInvoiceDetail(newSupplierInvoiceDetail).Apply();

            SupplierInvoiceDetailView updateView = await SupplierInvoiceDetailMod.SupplierInvoiceDetail.Query().GetViewById(newSupplierInvoiceDetail.SupplierInvoiceDetailId);

            Assert.Same(updateView.Description, "SupplierInvoiceDetail Test Update");
            SupplierInvoiceDetailMod.SupplierInvoiceDetail.DeleteSupplierInvoiceDetail(newSupplierInvoiceDetail).Apply();
            SupplierInvoiceDetail lookupSupplierInvoiceDetail = await SupplierInvoiceDetailMod.SupplierInvoiceDetail.Query().GetEntityById(view.SupplierInvoiceDetailId);

            Assert.Null(lookupSupplierInvoiceDetail);
        }
Example #32
0
 public static bool insertSupplierInvoice(APCEntities APCContext, string supplierOriNo, decimal paymentDue, DateTime dueDate, PO po)
 {
     if (supplierOriNo.Trim() != "")
     {
         SupplierInvoice supplierInvoice = new SupplierInvoice();
         supplierInvoice.SupplierOriNo = supplierOriNo;
         supplierInvoice.PaymentDue = paymentDue;
         supplierInvoice.DueDate = dueDate;
         supplierInvoice.PO = po;
         supplierInvoice.Paid = false;
         APCContext.AddToSupplierInvoice(supplierInvoice);
         APCContext.SaveChanges();
         return true;
     }
     else
         return false;
 }
Example #33
0
 /// <summary>
 /// Create a new SupplierInvoice object.
 /// </summary>
 /// <param name="id">Initial value of Id.</param>
 public static SupplierInvoice CreateSupplierInvoice(int id)
 {
     SupplierInvoice supplierInvoice = new SupplierInvoice();
     supplierInvoice.Id = id;
     return supplierInvoice;
 }
Example #34
0
 /// <summary>
 /// There are no comments for SupplierInvoice in the schema.
 /// </summary>
 public void AddToSupplierInvoice(SupplierInvoice supplierInvoice)
 {
     base.AddObject("SupplierInvoice", supplierInvoice);
 }