// GET: TenantConfigs/Details/5
        public ActionResult Details(int?id)
        {
            TenantConfig tenantConfig = _tenantsServices.GetTenantConfigById(CurrentTenantId);

            if (tenantConfig == null)
            {
                return(HttpNotFound());
            }
            return(View(tenantConfig));
        }
示例#2
0
        public PurchaseOrderPrint CreatePurchaseOrderPrint(int id = 0)
        {
            TenantConfig config = _tenantServices.GetTenantConfigById(CurrentTenantId);

            var report = new PurchaseOrderPrint();

            report.paramOrderId.Value = id;
            if (!config.ShowDecimalPoint)
            {
                report.lblQuantity.TextFormatString = "{0:0.##}";
            }
            report.RequestParameters         = false;
            report.PoPictureBox.BeforePrint += PoPictureBox_BeforePrint;
            report.FooterMsg1.Text           = config.PoReportFooterMsg1;
            report.FooterMsg2.Text           = config.PoReportFooterMsg2;
            return(report);
        }
        public async Task <ActionResult> VarianceReport(int id)
        {
            if (!caSession.AuthoriseSession())
            {
                return(Redirect((string)Session["ErrorUrl"]));
            }

            var varianceReportResponse = _stockTakeService.GetStockTakeReportById(id, CurrentTenantId, CurrentWarehouseId, CurrentUserId, true);
            var tenantconfig           = _tenantServices.GetTenantConfigById(CurrentTenant.TenantId);

            var misMatchingItems = varianceReportResponse.StockTakeReportResponseItems.Where(m => m.CurrentQuantity != m.PreviousQuantity).ToList();

            if (tenantconfig.EnableStockVarianceAlerts && misMatchingItems.Any())
            {
                var emailHeader  = "<h2>Variance Report - " + DateTime.Now.ToString("dd/MM/yyyy") + "</h2>";
                var tableBuilder = new TagBuilder("table");
                tableBuilder.AddCssClass("table table-bordered");
                var tableHeader = new TagBuilder("tr")
                {
                    InnerHtml = "<th>Product Name</th>Previous Quantity<th></th><th>Current Quantity</th>"
                };
                tableBuilder.InnerHtml = tableHeader.ToString();
                foreach (var item in misMatchingItems)
                {
                    var rowBuilder = new TagBuilder("tr")
                    {
                        InnerHtml = "<td>" + item.ProductName + "</td>"
                    };
                    rowBuilder.InnerHtml   += "<td>" + item.PreviousQuantity + "</td>";
                    rowBuilder.InnerHtml   += "<td>" + item.CurrentQuantity + "</td>";
                    tableBuilder.InnerHtml += rowBuilder.ToString();
                }

                await _configHelper.SendStandardMailNotification(CurrentTenantId, "Variance report requires adjustments", emailHeader + tableBuilder.ToString(), null, tenantconfig.AuthorisationAdminEmail);
            }

            return(View(varianceReportResponse));
        }
示例#4
0
        // GET http://localhost:8005/api/sync/terminal-data/{serialNo}
        public IHttpActionResult GetTerminalMetadata(string serialNo)
        {
            serialNo = serialNo.Trim().ToLower();

            var terminal = TerminalServices.GetTerminalBySerial(serialNo);

            if (terminal == null)
            {
                return(Unauthorized());
            }

            TenantConfig config = _tenantServices.GetTenantConfigById(terminal.TenantId);

            string baseUrl  = HostingEnvironment.ApplicationPhysicalPath;
            string ImageUrl = baseUrl + "Content/images/logo.png";

            byte[] data = System.IO.File.ReadAllBytes(ImageUrl);

            if (config.TenantLogo == null)
            {
                config.TenantLogo = data;
            }

            var result = new TerminalMetadataSync()
            {
                Serial                        = terminal.TermainlSerial,
                TerminalId                    = terminal.TerminalId,
                TerminalName                  = terminal.TerminalName,
                ParentWarehouseId             = terminal.WarehouseId,
                ParentWarehouseName           = terminal.TenantWarehous?.WarehouseName,
                TenantId                      = terminal.TenantId,
                PalletTrackingScheme          = terminal.TenantWarehous.PalletTrackingScheme,
                PrintLogoForReceipts          = config.PrintLogoForReceipts,
                TenantLogo                    = data,
                TenantReceiptPrintHeaderLine1 = config.TenantReceiptPrintHeaderLine1,
                TenantReceiptPrintHeaderLine2 = config.TenantReceiptPrintHeaderLine2,
                TenantReceiptPrintHeaderLine3 = config.TenantReceiptPrintHeaderLine3,
                TenantReceiptPrintHeaderLine4 = config.TenantReceiptPrintHeaderLine4,
                TenantReceiptPrintHeaderLine5 = config.TenantReceiptPrintHeaderLine5,
                GlobalProcessByPallet         = terminal.TenantWarehous.EnableGlobalProcessByPallet,
                SessionTimeoutHours           = config.SessionTimeoutHours,
                AllowStocktakeAddNew          = terminal.TenantWarehous.AllowStocktakeAddNew,
                AllowStocktakeEdit            = terminal.TenantWarehous.AllowStocktakeEdit,
                PostGeoLocation               = terminal.PostGeoLocation,
                VehicleChecksAtStart          = terminal.VehicleChecksAtStart,
                AllowSaleWithoutAccount       = terminal.TenantWarehous.AllowSaleWithoutAccount,
                ShowFullBalanceOnPayment      = terminal.TenantWarehous.ShowFullBalanceOnPayment,
                AllowExportDatabase           = terminal.AllowExportDatabase,
                ShowCasePrices                = terminal.ShowCasePrices
            };

            var mobileLocation = TerminalServices.GetMobileLocationByTerminalId(terminal.TerminalId);

            if (mobileLocation != null)
            {
                result.ParentWarehouseId   = (int)mobileLocation.ParentWarehouseId;
                result.ParentWarehouseName = mobileLocation.ParentWarehouse?.WarehouseName;
                result.MobileWarehouseId   = mobileLocation.WarehouseId;
                result.MobileWarehouseName = mobileLocation.WarehouseName;

                result.MarketVehicleId     = mobileLocation.MarketVehicleID;
                result.VehicleRegistration = mobileLocation.MarketVehicle?.VehicleIdentifier;

                result.SalesManUserId       = mobileLocation.SalesManUserId;
                result.SalesManResourceName = UserService.GetResourceNameByUserId(mobileLocation.SalesManUserId);
            }

            return(Ok(result));
        }