public async Task <IActionResult> CreateProduct(ViewModelsDataEntry model)
        {
            if (ModelState.IsValid)
            {
                ProductTransactions productTransactions = new ProductTransactions();
                productTransactions.IdProduct   = model.IdProduct;
                productTransactions.DateChecked = DateTime.Now.Date;
                productTransactions.IdLocation  = model.IdLocation;

                Products products = new Products();
                products.IdProduct        = model.IdProduct;
                products.NameProduct      = model.NameProduct;
                products.ManufacturedDate = model.ManufacturedDate;
                products.ExpiredDate      = model.ExpiredDate;
                products.Manufactured     = model.Manufactured;
                products.Details          = model.Details;

                if (CheckExistProduct(model.IdProduct))
                {
                    await _productDb.AddProduct(products);

                    await _productTransactionsDb.AddProductTransactions(productTransactions);
                }
                else
                {
                    await _productDb.UpdateProduct(products);
                }

                return(Json(new { isValid = true, html = Helper.RenderRazorViewToString(this, "_ViewAll", _productDb.GetAllProducts) }));
            }
            return(Json(new { isValid = false, html = Helper.RenderRazorViewToString(this, "CreateProduct", model) }));
            //return RedirectToAction("index");
        }
示例#2
0
        public JsonResult RemoveProductTransaction(int _ProductTransactionID)
        {
            ProductTransactions.RemoveProductTransaction(_ProductTransactionID);

            return(new JsonResult {
                Data = new { success = true }
            });
        }
示例#3
0
        public ActionResult Edit(int id) //id = ProductTransactionID
        {
            int ProductTransactionID = id;

            ProductTransactions_Edit viewProductTransactions_Edit = new ProductTransactions_Edit();

            ProductTransaction productTransaction = ProductTransactions.GetProductTransaction(ProductTransactionID);

            viewProductTransactions_Edit.productTransaction = productTransaction;

            return(View("EditPartial", viewProductTransactions_Edit));
        }
        public async Task <int> AddProductTransactions(ProductTransactions productTransactions)
        {
            if (_db != null)
            {
                await _db.ProductTransactions.AddAsync(productTransactions);

                await _db.SaveChangesAsync();

                return(productTransactions.IdProductTransactions);
            }
            return(0);
        }
示例#5
0
        public JsonResult CreateProductTransaction(int _ClientID, DateTime _TransactionDate,
                                                   DateTime _DateOrdered, int _ProductID, string _ProductType, string _ProductDescription, decimal _ProductPrice,
                                                   string _FName, string _MName, string _LName, string _Reference, string _OrderedBy, string _FileNum,
                                                   int _VendorID, string _SSN, decimal _BasePrice)
        {
            ProductTransaction productTransaction = new ProductTransaction(0, _ClientID, "", _TransactionDate,
                                                                           _DateOrdered, _ProductID, _ProductType, "", _ProductDescription, _ProductPrice, 0, 0, _FName, _MName, _LName, _Reference,
                                                                           _OrderedBy, _FileNum, _VendorID, "", _SSN, _BasePrice, true, 0);

            ProductTransactions.CreateProductTransaction(productTransaction);

            return(new JsonResult {
                Data = new { success = true }
            });
        }
示例#6
0
        public JsonResult ExcelJSON(int Status, int ClientID, DateTime StartDate, DateTime EndDate, string FileNum, FormCollection fc)
        {
            int           ID           = Convert.ToInt32(fc["id"]);
            string        FieldToSort  = fc["sidx"];
            string        strSortOrder = "asc";
            SortDirection SortOrder;

            if (FieldToSort == "id")
            {
                FieldToSort = "DateOrdered";
            }

            if (strSortOrder == "desc")
            {
                SortOrder = SortDirection.Descending;
            }
            else
            {
                SortOrder = SortDirection.Ascending;
            }

            int RowsPerPage = 100000;
            int CurrentPage = 1;

            EndDate = EndDate.AddHours(23).AddMinutes(59).AddSeconds(59).AddMilliseconds(997);

            List <ProductTransaction> result = ProductTransactions.GetProductTransactions(Status, ClientID, StartDate, EndDate,
                                                                                          FileNum, CurrentPage, RowsPerPage, FieldToSort, SortOrder);

            // build excel file here - JCT

            string exportPath = System.Configuration.ConfigurationManager.AppSettings["excelExportPath"];

            string filename = Guid.NewGuid().ToString() + ".csv";

            Export _export = new Export();

            // create a string writer
            using (StringWriter sw = new StringWriter())
            {
                using (System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw))
                {
                    // instantiate a datagrid
                    System.Web.UI.WebControls.DataGrid dg = new System.Web.UI.WebControls.DataGrid();


                    System.Data.DataTable dt = new System.Data.DataTable();

                    dt.Columns.Add("ID");
                    dt.Columns.Add("Transaction_Date");
                    dt.Columns.Add("Date_Ordered");
                    dt.Columns.Add("Client_Name");
                    dt.Columns.Add("Product_Type");
                    dt.Columns.Add("Product_Description");
                    dt.Columns.Add("File_Number");
                    dt.Columns.Add("Reference");
                    dt.Columns.Add("Ordered_By");
                    dt.Columns.Add("Product_Price");
                    dt.Columns.Add("Include_On_Invoice");

                    foreach (ProductTransaction p in result)
                    {
                        System.Data.DataRow dr;

                        dr = dt.NewRow();

                        dr["ID"] = p.ProductTransactionID;
                        dr["Transaction_Date"]    = p.TransactionDate.ToShortDateString();
                        dr["Date_Ordered"]        = p.DateOrdered.ToShortDateString();
                        dr["Client_Name"]         = p.ClientName;
                        dr["Product_Type"]        = p.ProductType;
                        dr["Product_Description"] = p.ProductDescription;
                        dr["File_Number"]         = p.FileNum;
                        dr["Reference"]           = p.Reference;
                        dr["Ordered_By"]          = p.OrderedBy;
                        dr["Product_Price"]       = string.Format("{0:C}", p.ProductPrice);
                        dr["Include_On_Invoice"]  = p.IncludeOnInvoice.ToString();

                        dt.Rows.Add(dr);
                    }

                    //dg.DataSource = dt;
                    //dg.AutoGenerateColumns = true;
                    //dg.DataBind();
                    //dg.RenderControl(htw);

                    //FileStream fs = new FileStream(exportPath + filename, FileMode.Create);
                    //BinaryWriter bw = new BinaryWriter(fs, System.Text.Encoding.GetEncoding("UTF-8"));

                    //bw.Write(sw.ToString().Trim());
                    //bw.Close();
                    //fs.Close();

                    int[] iColumns = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };

                    _export.ExportDetails(dt, iColumns, Export.ExportFormat.Excel, exportPath + filename);
                }
            }



            var ret = new JsonResult
            {
                Data = new
                {
                    excelFile = filename
                }
            };

            return(ret);
        }
示例#7
0
        public JsonResult IndexJSON(int Status, int ClientID, DateTime StartDate, DateTime EndDate, string FileNum,
                                    FormCollection fc) //ClientID (0 = all), BillingContactID (0 = all)
        {
            int           ID           = Convert.ToInt32(fc["id"]);
            string        FieldToSort  = fc["sidx"];
            string        strSortOrder = fc["sord"];
            SortDirection SortOrder;

            if (FieldToSort == "id")
            {
                FieldToSort = "DateOrdered";
            }

            if (strSortOrder == "desc")
            {
                SortOrder = SortDirection.Descending;
            }
            else
            {
                SortOrder = SortDirection.Ascending;
            }

            int RowsPerPage = Convert.ToInt32(fc["rows"]);
            int CurrentPage = Convert.ToInt32(fc["page"]);

            EndDate = EndDate.AddHours(23).AddMinutes(59).AddSeconds(59).AddMilliseconds(997);

            List <ProductTransaction> result = ProductTransactions.GetProductTransactions(Status, ClientID, StartDate, EndDate,
                                                                                          FileNum, CurrentPage, RowsPerPage, FieldToSort, SortOrder);

            Array rows = (from question in result
                          select new
            {
                i = question.ProductTransactionID,
                cell = new string[] { question.ProductTransactionID.ToString(),
                                      "", //Action
                                      question.TransactionDate.ToShortDateString(),
                                      question.DateOrdered.ToShortDateString(),
                                      question.ClientName,
                                      question.ProductType,
                                      question.ProductName,
                                      question.ProductDescription,
                                      question.FileNum,
                                      question.Reference,
                                      question.OrderedBy,
                                      question.ProductPrice.ToString("F"),
                                      question.IncludeOnInvoice.ToString() }
            }
                          ).ToArray();

            int totalRows;

            if (result.Count > 0)
            {
                totalRows = result.First().NumberOfRows;
            }
            else
            {
                totalRows = 0;
            }

            var ret = new JsonResult
            {
                Data = new
                {
                    page     = CurrentPage,
                    records  = totalRows,
                    rows     = rows,
                    userdata = new {  },
                    total    = Math.Ceiling(Convert.ToDouble((double)totalRows / (double)RowsPerPage))
                }
            };

            return(ret);
        }
        public async Task <ProductTransactions> GetProductTransactionsById(int id)
        {
            ProductTransactions productTransactions = _db.ProductTransactions.Where(data => data.IdProductTransactions == id).FirstOrDefault();

            return(productTransactions);
        }
示例#9
0
        private void btnBringAllStock_Click(object sender, EventArgs e)
        {
            ProductTransactions productTransactions = new ProductTransactions();

            productTransactions.FillProductsToDataGrid(userCompanyId);
        }
示例#10
0
 public void save(ProductTransaction pt)
 {
     ProductTransactions.Add(pt);
     SaveChanges();
 }
示例#11
0
        private void btnAddStock_Click(object sender, EventArgs e)
        {
            ProductTransactions productTransactions = new ProductTransactions();

            productTransactions.AddStock();
        }
示例#12
0
        public IActionResult Index()
        {
            var model = new AccountStatementViewModel();

            //_user is expected to contain client details. mock data for model.
            var _user = new AuthenticateResponse
            {
                MembershipKey = 1006979,                   //1007435,
                EmailAddress  = "*****@*****.**", //"*****@*****.**",
                FirstName     = "Tolulope",
                LastName      = "Olusakin",
                FullName      = "Olusakin Tolulope S"//"Funmilayo Ruth Adeyemi",
            };

            try
            {
                var customer = _client.GetUserProfile(_user.MembershipKey);

                List <ProductDetails> getSummaries          = new List <ProductDetails>();
                List <decimal>        sumOfAccruedInterests = new List <decimal>();

                //get account summary
                var accountsRequest = new SummaryRequest
                {
                    MembershipNumber = _user.MembershipKey
                };
                //var accountsResponse = _clientService.GetAccountSummary(accountsRequest);
                var accountsResponse = _clientService.GetAccountSummary(accountsRequest);

                if (accountsResponse != null)
                {
                    foreach (var item in accountsResponse.Summaries)
                    {
                        var summaries = new ProductDetails();
                        summaries.ProductName        = item.ProductName;
                        summaries.ProductCode        = item.ProductCode;
                        summaries.Currency           = item.Currency;
                        summaries.AccruedInterest    = item.AccruedInterest;
                        summaries.CurrentBalance     = item.CurrentBalance;
                        summaries.PendingTransaction = item.PendingTransaction;

                        getSummaries.Add(summaries);
                        sumOfAccruedInterests.Add(summaries.AccruedInterest);
                    }

                    model.Summaries = getSummaries;
                }

                //get last transactions
                var transactions = _client.LoadLastTransactions(_user, accountsResponse, 6);

                List <ProductTransactions> getTransactions = new List <ProductTransactions>();
                if (transactions != null && transactions.Count > 0)
                {
                    foreach (var item in transactions)
                    {
                        var product = new ProductTransactions();
                        product.MarketValue     = item.MarketValue;
                        product.Description     = item.Description;
                        product.TransactionDate = item.TransactionDate;
                        product.TransactionType = item.TransactionType;
                        product.Amount          = item.Amount;
                        product.UnitPrice       = item.UnitPrice;
                        product.FundCode        = item.FundCode;
                        product.Units           = item.Units;

                        getTransactions.Add(product);
                    }

                    model.Transactions = getTransactions;
                }

                //get total balance
                var totalBalanceRequest = new TotalBalanceRequest
                {
                    MembershipNumber = _user.MembershipKey
                };
                var totalBalanceResponse = _clientService.GetTotalBalance(totalBalanceRequest);

                if (totalBalanceResponse != null)
                {
                    model.TotalBalance = totalBalanceResponse.TotalBalance;
                }

                List <ProductItems> getItems = new List <ProductItems>();
                if (customer.ProductItems != null)
                {
                    foreach (var productitems in customer.ProductItems)
                    {
                        var product = new ProductItems();
                        product.ProductName = productitems.ProductName;
                        product.ProductCode = productitems.ProductCode;

                        getItems.Add(product);
                    }
                    model.SelectProductName = getItems;
                }

                var accruedInterests = sumOfAccruedInterests.Sum();
                ViewBag.SumAccruedInterest = accruedInterests;
            }
            catch (Exception ex)
            {
                //HttpContext.Session.Set("error", ex.Message);
                TempData["message"] = ViewBag.Message = ex.Message;
                Utilities.ProcessError(ex, _contentRootPath);
                _logger.LogError(null, ex, ex.Message);
            }
            return(View(model));
        }
示例#13
0
        public IActionResult PrintStatement(AccountStatementViewModel model)
        {
            var _user = new AuthenticateResponse
            {
                MembershipKey = 1007435,
                EmailAddress  = "*****@*****.**",
                FirstName     = "Funmilayo",
                LastName      = "Adeyemi",
                FullName      = "Funmilayo Ruth Adeyemi",
            };

            try
            {
                var accountsResponse = _client.GetAccountSummary(_user.MembershipKey);
                var customer         = _client.GetUserProfile(_user.MembershipKey);
                var productDetail    = _client.GetProductInAccount(model.ProductCode, accountsResponse);

                if (productDetail != null)
                {
                    model.ProductDetails.ProductCode     = productDetail.ProductCode;
                    model.ProductDetails.ProductName     = productDetail.ProductName;
                    model.ProductDetails.Currency        = productDetail.Currency;
                    model.ProductDetails.AccruedInterest = productDetail.AccruedInterest;
                    model.ProductDetails.CurrentBalance  = productDetail.CurrentBalance;
                }

                List <ProductDetails> getSummaries = new List <ProductDetails>();
                if (accountsResponse != null)
                {
                    foreach (var item in accountsResponse.Summaries)
                    {
                        var summaries = new ProductDetails();
                        summaries.ProductName     = item.ProductName;
                        summaries.ProductCode     = item.ProductCode;
                        summaries.Currency        = item.Currency;
                        summaries.AccruedInterest = item.AccruedInterest;
                        summaries.CurrentBalance  = item.CurrentBalance;

                        getSummaries.Add(summaries);
                    }

                    model.Summaries = getSummaries;
                }

                List <ProductTransactions> getTransactions = new List <ProductTransactions>();
                var trResponse   = _client.GetClientTransactions(_user, model);
                var transactions = _client.LoadLastTransactions(_user, accountsResponse, 6);

                if (trResponse != null && trResponse.Transactions.Count > 0)
                {
                    foreach (var item in trResponse.Transactions)
                    {
                        var product = new ProductTransactions();
                        product.MarketValue     = item.MarketValue;
                        product.Description     = item.Description;
                        product.TransactionDate = item.TransactionDate;
                        product.TransactionType = item.TransactionType;
                        product.Amount          = item.Amount;
                        product.UnitPrice       = item.UnitPrice;
                        product.Units           = item.Units;

                        getTransactions.Add(product);
                    }

                    model.Transactions = getTransactions;
                }

                model.CurrentTimeStamp = DateTime.Now.ToString("dd MMMM yyyy");

                if (customer.MembershipNumber > 0)
                {
                    model.CustomerDetails.FullName         = customer.FullName;
                    model.CustomerDetails.FirstName        = customer.FirstName;
                    model.CustomerDetails.LastName         = customer.LastName;
                    model.CustomerDetails.MembershipNumber = customer.MembershipNumber;
                    model.CustomerDetails.PhoneNumber      = customer.MobileNumber;
                    model.CustomerDetails.MobileNumber     = customer.MobileNumber;
                    model.CustomerDetails.EmailAddress     = customer.EmailAddress;
                    model.CustomerDetails.Address          = customer.Address;
                    model.CustomerDetails.State            = customer.State;
                    model.CustomerDetails.Country          = customer.Country;
                    model.CustomerDetails.ProductItems     = customer.ProductItems;
                }

                return(DownloadPdf(model));
            }
            catch (Exception ex)
            {
                TempData["message"] = ViewBag.Message = ex.Message;
                Utilities.ProcessError(ex, _contentRootPath);
                _logger.LogError(null, ex, ex.Message);
            }
            return(View());
        }
示例#14
0
        public IActionResult AccountStatement(AccountStatementViewModel model)
        {
            var _user = new AuthenticateResponse
            {
                MembershipKey = 1006979,                   //1007435,
                EmailAddress  = "*****@*****.**", //"*****@*****.**",
                FirstName     = "Tolulope",
                LastName      = "Olusakin",
                FullName      = "Olusakin Tolulope S"//"Funmilayo Ruth Adeyemi",
            };

            try
            {
                var customer         = _client.GetUserProfile(_user.MembershipKey);
                var productcode      = customer.ProductItems.Select(x => x.ProductCode).FirstOrDefault();
                var accountsResponse = _client.GetAccountSummary(_user.MembershipKey);
                var productDetail    = _client.GetProductInAccount(productcode, accountsResponse);

                if (productDetail != null)
                {
                    model.ProductDetails.ProductCode     = productDetail.ProductCode;
                    model.ProductDetails.ProductName     = productDetail.ProductName;
                    model.ProductDetails.Currency        = productDetail.Currency;
                    model.ProductDetails.AccruedInterest = productDetail.AccruedInterest;
                    model.ProductDetails.CurrentBalance  = productDetail.CurrentBalance;
                }

                List <ProductItems> getProductItems = new List <ProductItems>();
                if (customer.ProductItems != null)
                {
                    foreach (var productitems in customer.ProductItems)
                    {
                        var productItems = new ProductItems();
                        productItems.ProductName = productitems.ProductName;
                        productItems.ProductCode = productitems.ProductCode;

                        getProductItems.Add(productItems);
                    }
                    model.SelectProductName = getProductItems;
                }

                //get statement request(s)
                var trResponse = _client.GetClientTransactions(_user, model);
                List <ProductTransactions> getItems = new List <ProductTransactions>();

                if (trResponse.Transactions != null)
                {
                    foreach (var response in trResponse.Transactions)
                    {
                        var product = new ProductTransactions();
                        product.MarketValue     = response.MarketValue;
                        product.Description     = response.Description;
                        product.TransactionDate = response.TransactionDate;
                        product.TransactionType = response.TransactionType;
                        product.Amount          = response.Amount;
                        product.UnitPrice       = response.UnitPrice;
                        product.Units           = response.Units;
                        product.FundCode        = response.FundCode;

                        getItems.Add(product);
                    }

                    model.Transactions = getItems;
                }
            }
            catch (Exception ex)
            {
                TempData["message"] = ViewBag.Message = ex.Message;
                Utilities.ProcessError(ex, _contentRootPath);
                _logger.LogError(null, ex, ex.Message);
            }
            return(View(model));
        }