示例#1
0
        public virtual IActionResult ExportToExcel()
        {
            try
            {
                var    data             = _baseRepo.GetAll <T>(x => x.Where(y => y.Active == true));
                string requestLanguage  = "EN";
                var    languageIdHeader = this.Request.Headers["languageid"];
                requestLanguage = languageIdHeader.FirstOrDefault() ?? "es";
                var excelData   = ExportUtility.GetExcelData <T>(data, requestLanguage, this.languageKeys.ToList());
                var excelStream = ExcelImport.CreateXlsStream(
                    excelData.Item1,
                    excelData.Item2
                    );
                if (data != null && excelStream != null && excelStream.Length > 0)
                {
                    return(File(excelStream.ToArray(), "application/octet-stream", $"{new T().GetType().Name}-{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}.xls"));
                }
                return(BadRequest(new { status = -1, message = "Documento no existe" }));
            }

            catch (Exception ex)
            {
                return(Ok(new { status = -1, message = ex.Message }));
            }
        }
        public IActionResult ExportToExcel(long branchOfficeId = 0, long warehouseId = 0, long productId = 0)
        {
            try
            {
                var data = _baseRepo.GetAll <Inventory>(x => x.Include(i => i.Product)
                                                        .Include(i => i.Warehouse)
                                                        .Include(i => i.BranchOffice)
                                                        .Include(i => i.Unit)
                                                        , y => y.Active == true &&
                                                        (branchOfficeId > 0 ? y.BranchOfficeId == branchOfficeId : y.BranchOfficeId > 0) &&
                                                        (warehouseId > 0 ? y.WarehouseId == warehouseId : y.WarehouseId > 0) &&
                                                        (productId > 0 ? y.ProductId == productId : y.ProductId > 0));
                string requestLanguage  = "EN";
                var    languageIdHeader = this.Request.Headers["languageid"];
                requestLanguage = languageIdHeader.FirstOrDefault() ?? "ES";
                var excelData   = ExportUtility.GetExcelData <Inventory>(data, requestLanguage, this.languageKeys.ToList());
                var excelStream = ExcelImport.CreateXlsStream(
                    excelData.Item1,
                    excelData.Item2
                    );
                if (data != null && excelStream != null && excelStream.Length > 0)
                {
                    return(File(excelStream.ToArray(), "application/octet-stream", $"{new Product().GetType().Name}-{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}.xls"));
                }
                return(BadRequest(new { status = -1, message = "Documento no existe" }));
            }

            catch (Exception ex)
            {
                return(Ok(new { status = -1, message = ex.Message }));
            }
        }
        public IActionResult GetTaxesReportExcel(string initialDate = "0", string endDate = "0")
        {
            try
            {
                DateTime?startDate = null;
                startDate = initialDate != "0" ? Convert.ToDateTime(initialDate) : startDate;

                DateTime?finalDate = null;
                finalDate = endDate != "0" ? Convert.ToDateTime(endDate) : finalDate;

                var    data             = businessStateRepository.GetTaxesReport(startDate, finalDate);
                string requestLanguage  = "EN";
                var    languageIdHeader = this.Request.Headers["languageid"];
                requestLanguage = languageIdHeader.FirstOrDefault() ?? "es";
                var excelData   = ExportUtility.GetExcelData <InvoiceTax>(data.SelectMany(x => x.Taxes), requestLanguage, this.languageKeys.ToList());
                var excelStream = ExcelImport.CreateXlsStream(
                    excelData.Item1,
                    excelData.Item2
                    );
                if (data != null && excelStream != null && excelStream.Length > 0)
                {
                    return(File(excelStream.ToArray(), "application/octet-stream", $"{new Product().GetType().Name}-{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}.xls"));
                }
                return(BadRequest(new { status = -1, message = "Documento no existe" }));
            }

            catch (Exception ex)
            {
                return(Ok(new { status = -1, message = ex.Message }));
            }
        }
示例#4
0
        public IActionResult GetOwedExpensesReport(long branchOfficeId = 0, long supplierId = 0, long currencyId = 0, string startDate = "0", string endDate = "0")
        {
            try
            {
                DateTime?start = null;
                start = startDate != "0" ? Convert.ToDateTime(startDate) : start;
                DateTime?end = null;
                end = endDate != "0" ? Convert.ToDateTime(endDate) : DateTime.Now;
                var    data             = _repo.GetDebsToPay(start, end, supplierId, currencyId, branchOfficeId);
                string requestLanguage  = "EN";
                var    languageIdHeader = this.Request.Headers["languageid"];
                requestLanguage = languageIdHeader.FirstOrDefault() ?? "es";
                var excelData   = ExportUtility.GetExcelData <Expense>(data, requestLanguage, this.languageKeys.ToList());
                var excelStream = ExcelImport.CreateXlsStream(
                    excelData.Item1,
                    excelData.Item2
                    );
                if (data != null && excelStream != null && excelStream.Length > 0)
                {
                    return(File(excelStream.ToArray(), "application/octet-stream", $"{new Product().GetType().Name}-{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}.xls"));
                }
                return(BadRequest(new { status = -1, message = "Documento no existe" }));
            }

            catch (Exception ex)
            {
                return(Ok(new { status = -1, message = ex.Message }));
            }
        }
示例#5
0
        public Task <IActionResult> ExportState(string startDate = "0", string endDate = "0")
        {
            var t_result = Task.Factory.StartNew <IActionResult>((arg) => {
                try
                {
                    var t_inputs = arg as Tuple <string, string>;
                    var invoices = _customRepo.GetCompanyStatus(
                        t_inputs.Item1 == "0" ? DateTime.MinValue : Convert.ToDateTime(t_inputs.Item1),
                        t_inputs.Item2 == "0" ? DateTime.Now : Convert.ToDateTime(t_inputs.Item2));


                    string requestLanguage = "EN";
                    var languageIdHeader   = this.Request.Headers["languageid"];
                    requestLanguage        = languageIdHeader.FirstOrDefault() ?? "es";
                    var excelData          = ExportUtility.GetExcelData <CompanyStateModel>(invoices, requestLanguage, this.languageKeys.ToList());
                    var excelStream        = ExcelImport.CreateXlsStream(
                        excelData.Item1,
                        excelData.Item2
                        );
                    if (invoices != null && excelStream != null && excelStream.Length > 0)
                    {
                        return(File(excelStream.ToArray(), "application/octet-stream", $"{new Product().GetType().Name}-{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}.xls"));
                    }
                    return(BadRequest(new { status = -1, message = "Documento no existe" }));
                }
                catch (Exception ex)
                {
                    return(Ok(new { status = -1, message = ex.Message }));
                }
            }, new Tuple <string, string>(startDate, endDate));

            return(t_result);
        }
        public Task <IActionResult> ExportComissionsReport([FromBody] ComissionsSearch search)
        {
            var t_result = Task.Factory.StartNew <IActionResult>((arg) => {
                try
                {
                    var t_inputs = arg as Tuple <ComissionsSearch, ISellerRepository>;
                    var invoices = t_inputs.Item1.ReportType == 0 ?
                                   t_inputs.Item2.SalesComissions(t_inputs.Item1) : t_inputs.Item2.PaymentsComissions(t_inputs.Item1);


                    string requestLanguage = "EN";
                    var languageIdHeader   = this.Request.Headers["languageid"];
                    requestLanguage        = languageIdHeader.FirstOrDefault() ?? "es";
                    var excelData          = ExportUtility.GetExcelData <ComissionDetail>(invoices.ComissionsByCyrrencies.SelectMany(x => x.Details), requestLanguage, this.languageKeys.ToList());
                    var excelStream        = ExcelImport.CreateXlsStream(
                        excelData.Item1,
                        excelData.Item2
                        );
                    if (invoices != null && excelStream != null && excelStream.Length > 0)
                    {
                        return(File(excelStream.ToArray(), "application/octet-stream", $"{new Product().GetType().Name}-{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}.xls"));
                    }
                    return(BadRequest(new { status = -1, message = "Documento no existe" }));
                }
                catch (Exception ex)
                {
                    return(Ok(new { status = -1, message = ex.Message }));
                }
            }, new Tuple <ComissionsSearch, ISellerRepository>(search, _repositoryFactory.GetCustomDataRepositories <ISellerRepository>()));

            return(t_result);
        }
        public IActionResult AccountStateExport(long customerId)
        {
            try
            {
                var    data             = _repositoryFactory.GetCustomDataRepositories <ICustomerBalanceRepository>().CustomerState(customerId);
                string requestLanguage  = "EN";
                var    languageIdHeader = this.Request.Headers["languageid"];
                requestLanguage = languageIdHeader.FirstOrDefault() ?? "es";
                var excelData   = ExportUtility.GetExcelData <CustomerStateModel>(data.Data, requestLanguage, this.languageKeys.ToList());
                var excelStream = ExcelImport.CreateXlsStream(
                    excelData.Item1,
                    excelData.Item2
                    );
                if (data != null && excelStream != null && excelStream.Length > 0)
                {
                    return(File(excelStream.ToArray(), "application/octet-stream", $"{new Product().GetType().Name}-{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}.xls"));
                }
                return(BadRequest(new { status = -1, message = "Documento no existe" }));
            }

            catch (Exception ex)
            {
                return(Ok(new { status = -1, message = ex.Message }));
            }
        }
        public virtual Task <IActionResult> ExportReceipts(long branchOfficeId = 0, long customerId = 0, long currencyId = 0, long paymentTypeId = 0, string startDate = "0", string endDate = "0")
        {
            DateTime?start = new DateTime();

            if (startDate != "0")
            {
                start = Convert.ToDateTime(startDate);
            }
            else
            {
                start = null;
            }
            DateTime?end = new DateTime();

            if (endDate != "0")
            {
                end = Convert.ToDateTime(endDate);
            }
            else
            {
                end = null;
            }
            var t_result = Task.Factory.StartNew <IActionResult>((arg) => {
                try
                {
                    var t_inputs = arg as Tuple <long, long, long, long, DateTime?, DateTime?>;
                    var invoices = base._repositoryFactory.GetCustomDataRepositories <ICustomerPaymentRepository>().IncomesReport(
                        t_inputs.Item3,
                        t_inputs.Item1,
                        t_inputs.Item2,
                        t_inputs.Item4,
                        t_inputs.Item5,
                        t_inputs.Item6

                        );
                    string requestLanguage = "EN";
                    var languageIdHeader   = this.Request.Headers["languageid"];
                    requestLanguage        = languageIdHeader.FirstOrDefault() ?? "es";
                    var excelData          = ExportUtility.GetExcelData <CustomerPayment>(invoices, requestLanguage, this.languageKeys.ToList());
                    var excelStream        = ExcelImport.CreateXlsStream(
                        excelData.Item1,
                        excelData.Item2
                        );
                    if (invoices != null && excelStream != null && excelStream.Length > 0)
                    {
                        return(File(excelStream.ToArray(), "application/octet-stream", $"{new Product().GetType().Name}-{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}.xls"));
                    }
                    return(BadRequest(new { status = -1, message = "Documento no existe" }));
                }
                catch (Exception ex)
                {
                    return(Ok(new { status = -1, message = ex.Message }));
                }
            }, new Tuple <long, long, long, long, DateTime?, DateTime?>(customerId, currencyId, branchOfficeId, paymentTypeId, start, end));

            return(t_result);
        }