예제 #1
0
        private byte[] GetForm16PDF(string folderPath, string empID, Int64 formYear)
        {
            MTSHRDataLayer.PaySlip data_payslip = new MTSHRDataLayer.PaySlip();
            string panNumber = data_payslip.ReadPanNumber(empID);

            string[] files = new string[] { };
            if (formYear > 2018)
            {
                files = Directory.GetFiles(folderPath, panNumber + "*.pdf", SearchOption.AllDirectories);
            }
            else
            {
                files = Directory.GetFiles(folderPath, empID + "*.pdf", SearchOption.AllDirectories);
            }
            //files = Directory.GetFiles(folderPath, empName+"_1"+".pdf", SearchOption.AllDirectories);
            byte[] pdfBytes = new byte[0];
            if (files.Length > 0)
            {
                using (MemoryStream stream = new MemoryStream())
                {
                    Document  document = new Document();
                    PdfCopy   pdf      = new PdfCopy(document, stream);
                    PdfReader reader   = null;
                    try
                    {
                        document.Open();
                        foreach (string file in files)
                        {
                            reader = new PdfReader(file);
                            pdf.AddDocument(reader);
                            reader.Close();
                        }
                    }
                    catch (Exception)
                    {
                        reader.Close();
                    }

                    document.Close();

                    pdfBytes = stream.ToArray();
                }
            }
            return(pdfBytes);
        }
예제 #2
0
        public int PaySlip_Form16(PaySlip_Form16 datas)
        {
            try
            {
                MTSHRDataLayer.PaySlip data_payslip = new MTSHRDataLayer.PaySlip();
                string Employee_Id = string.IsNullOrEmpty(datas.Employee_ID) ? "0" : datas.Employee_ID;
                string Filename    = Employee_Id + ".pdf";
                string FormMonth   = datas.Date;
                string webconfigpath;
                TempData["Payform"] = datas.Payform;
                TempData.Keep("Payform");
                TempData["FormMonth"] = FormMonth;
                TempData.Keep("FormMonth");
                TempData["Authentication"] = Request.Headers["auth"];
                TempData.Keep("Authentication");
                if (datas.Payform == "0")
                {
                    Char     delimiter = '/';
                    string[] period    = datas.Date.Split(delimiter);

                    DataTable model = data_payslip.Read(Employee_Id == "0" ? Session["EmployeeId"].ToString() : Employee_Id, period[0], period[1]);
                    if (model.Rows.Count > 0 && TempData["Authentication"].ToString() == "user")
                    {
                        TempData["year"] = period[0];
                        TempData.Keep("year");
                        TempData["month"] = period[1];
                        TempData.Keep("month");
                        TempData["Employee_Id"] = Employee_Id;
                        TempData.Keep("Employee_Id");
                        return(1);
                    }
                    else if (TempData["Authentication"].ToString() == "admin")
                    {
                        TempData.Keep("Authentication");
                        if (datas.Employee_ID == "" || datas.Employee_ID == null)
                        {
                            model = data_payslip.ReadAllPayslipEmployees(period[0], period[1]);
                        }
                        else
                        {
                            model = data_payslip.Read(Employee_Id, period[0], period[1]);
                        }
                        if (model.Rows.Count > 0)
                        {
                            TempData["year"]        = period[0];
                            TempData["month"]       = period[1];
                            TempData["Employee_Id"] = Employee_Id;
                            return(2);
                        }
                        else
                        {
                            return(0);
                        }
                    }
                    else
                    {
                        return(0);
                    }
                }
                else
                {
                    //string Combinedpath = Path.Combine(ConfigurationManager.AppSettings["Form16path"].ToString(), FormMonth, Filename);
                    string panNumber    = data_payslip.ReadPanNumber(Employee_Id);
                    string Combinedpath = Path.Combine(ConfigurationManager.AppSettings["Form16path"].ToString(), FormMonth);
                    if (Directory.Exists(Combinedpath))
                    {
                        string[] files = new string[] { };
                        if (Convert.ToInt64(FormMonth) > 2018)
                        {
                            files = Directory.GetFiles(Combinedpath, panNumber + "*.pdf", SearchOption.AllDirectories);
                        }
                        else
                        {
                            files = Directory.GetFiles(Combinedpath, Employee_Id + "*.pdf", SearchOption.AllDirectories);
                        }
                        if (files.Length > 0)
                        {
                            TempData["Filename"] = Filename;
                            TempData.Keep("Filename");
                            TempData["Combinedpath"] = Combinedpath;
                            TempData.Keep("Combinedpath");
                            return(2);
                        }
                        else
                        {
                            return(0);
                        }
                    }

                    else
                    {
                        return(0);
                    }
                }
            }
            catch (Exception ex)
            {
                BaseExceptionHandler.HandleException(ref ex);
            }
            return(0);
        }