Пример #1
0
        public ActionResult SAUpload(HttpPostedFileBase SApostedFile)
        {
            ShippingAdviceVM shippingAdviceVM = new ShippingAdviceVM();
            List <ViewModel.ShippingAdviceVM> shippingAdviceModel = new List <ViewModel.ShippingAdviceVM>();

            try
            {
                if (SApostedFile != null)
                {
                    string path = Server.MapPath("~/ShippingAdviseSheets/");
                    if (Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }

                    SApostedFile.SaveAs(path + Path.GetFileName(SApostedFile.FileName));
                    shippingAdviceVM = new ShippingAdviceVM();
                    ProessSASheet((path + Path.GetFileName(SApostedFile.FileName)));

                    shippingAdviceModel = GetDetailsFromShippingAdvice();
                }
                return(View(shippingAdviceModel));
            }
            catch (Exception ex)
            {
                //throw ex;
                TempData["SuccessMessage"] = ex.Message;
                shippingAdviceModel        = GetDetailsFromShippingAdvice();
                return(View(shippingAdviceModel));
            }
        }
Пример #2
0
        public void ProessSASheet(string fileFullPath)
        {
            try
            {
                Trading.BLL.Trade trade = new BLL.Trade();
                trade.TradeDBConnectionString = ConfigurationManager.ConnectionStrings["TradeConnectionString"].ConnectionString;

                List <ShippingAdviceVM> currentMothTimeSheetList = new List <ShippingAdviceVM>();
                FileStream currentTimeSheetFile = new FileStream(fileFullPath, FileMode.Open, FileAccess.Read);

                XSSFWorkbook         hssfwb  = new XSSFWorkbook(currentTimeSheetFile);
                XSSFFormulaEvaluator formula = new XSSFFormulaEvaluator(hssfwb);

                ISheet      WorkerTimeSheet  = hssfwb.GetSheet("mike");
                ICellStyle  style1           = hssfwb.CreateCellStyle();
                IDataFormat dataFormatCustom = hssfwb.CreateDataFormat();

                style1.DataFormat = dataFormatCustom.GetFormat("dd/MM/yyyy HH:mm:ss");

                Guid companyID = Guid.Parse("CCAA3E3F-4486-4465-B5A1-723F647EAD17");
                //DateTime TimeSheetDateValue = WorkerTimeSheet.GetRow(2).GetCell(3).DateCellValue;
                //int days = DateTime.DaysInMonth(TimeSheetDateValue.Year, TimeSheetDateValue.Month);
                for (int row = 5; row < WorkerTimeSheet.LastRowNum - 1; row++) //Loop the records upto filled row
                {
                    //System.IO.File.AppendAllText(log, "Reading " + row + " row For EMPCode  " + getValueFromCell(WorkerTimeSheet.GetRow(row).GetCell(1), formula));
                    ShippingAdviceVM shippingAdviceVM = new ShippingAdviceVM();
                    var currentCellValue2             = WorkerTimeSheet.GetRow(row);

                    // string currentCellValue = getValueFromCell(WorkerTimeSheet.GetRow(row).GetCell(2), formula);
                    //if (currentCellValue != "" && currentCellValue.ToLower().Equals("total"))
                    //{
                    //    break;
                    //}
                    if (currentCellValue2 == null)
                    {
                        continue;
                    }
                    string currentCellValue = WorkerTimeSheet.GetRow(row).GetCell(2).StringCellValue;
                    if (currentCellValue != null && currentCellValue != "") //null is when the row only contains empty cells
                    {
                        //int validRow = Regex.Matches(currentCellValue.Substring(0, 1), @"[a-zA-Z]").Count;
                        //if (validRow == 0)
                        //{
                        shippingAdviceVM.CompanyID = companyID;

                        var valueFrom2thCell = WorkerTimeSheet.GetRow(row).GetCell(2);
                        if (valueFrom2thCell == null)
                        {
                            shippingAdviceVM.SCInvoiceNo = " ";
                        }
                        else
                        {
                            shippingAdviceVM.SCInvoiceNo = WorkerTimeSheet.GetRow(row).GetCell(2).StringCellValue;
                        }

                        var valueFrom3thCell = WorkerTimeSheet.GetRow(row).GetCell(3);
                        if (valueFrom3thCell == null)
                        {
                            shippingAdviceVM.InvoiceAmount = 0;
                        }
                        else
                        {
                            shippingAdviceVM.InvoiceAmount = Convert.ToDecimal(WorkerTimeSheet.GetRow(row).GetCell(3).NumericCellValue);
                        }

                        var valueFrom4thCell = WorkerTimeSheet.GetRow(row).GetCell(4);
                        if (valueFrom4thCell == null)
                        {
                            shippingAdviceVM.Consignee = string.Empty;
                        }
                        else if (valueFrom4thCell.CellType == CellType.Numeric)
                        {
                            shippingAdviceVM.Consignee = Convert.ToString(WorkerTimeSheet.GetRow(row).GetCell(4).NumericCellValue);
                        }
                        else
                        {
                            shippingAdviceVM.Consignee = WorkerTimeSheet.GetRow(row).GetCell(4).StringCellValue;
                        }

                        var valueFrom5thCell = WorkerTimeSheet.GetRow(row).GetCell(5);
                        if (valueFrom5thCell == null)
                        {
                            shippingAdviceVM.BLDate = DateTime.Now;
                        }
                        else
                        {
                            shippingAdviceVM.BLDate = DateTime.Parse(WorkerTimeSheet.GetRow(row).GetCell(5).StringCellValue);
                        }

                        var valueFrom6thCell = WorkerTimeSheet.GetRow(row).GetCell(6);
                        if (valueFrom6thCell == null)
                        {
                            shippingAdviceVM.ReceivedDate = DateTime.Now;
                        }
                        else
                        {
                            shippingAdviceVM.ReceivedDate = DateTime.Parse(WorkerTimeSheet.GetRow(row).GetCell(6).StringCellValue);
                        }

                        var valueFrom7thCell = WorkerTimeSheet.GetRow(row).GetCell(7);
                        if (valueFrom7thCell == null)
                        {
                            shippingAdviceVM.Shiper = string.Empty;
                        }
                        else
                        {
                            shippingAdviceVM.Shiper = WorkerTimeSheet.GetRow(row).GetCell(7).StringCellValue;
                        }

                        var valueFrom8thCell = WorkerTimeSheet.GetRow(row).GetCell(8);
                        if (valueFrom8thCell == null)
                        {
                            shippingAdviceVM.BLNo = string.Empty;
                        }
                        else if (valueFrom8thCell.CellType == CellType.Numeric)
                        {
                            shippingAdviceVM.Consignee = Convert.ToString(WorkerTimeSheet.GetRow(row).GetCell(4).NumericCellValue);
                        }
                        else
                        {
                            shippingAdviceVM.BLNo = WorkerTimeSheet.GetRow(row).GetCell(8).StringCellValue;
                        }

                        var valueFrom9thCell = WorkerTimeSheet.GetRow(row).GetCell(9);
                        if (valueFrom9thCell == null)
                        {
                            shippingAdviceVM.Factory = " ";
                        }
                        else
                        {
                            shippingAdviceVM.Factory = WorkerTimeSheet.GetRow(row).GetCell(9).StringCellValue;
                        }

                        var valueFrom10thCell = WorkerTimeSheet.GetRow(row).GetCell(10);
                        if (valueFrom10thCell == null)
                        {
                            shippingAdviceVM.Department = string.Empty;
                        }
                        else
                        {
                            shippingAdviceVM.Department = WorkerTimeSheet.GetRow(row).GetCell(10).StringCellValue;
                        }

                        var valueFrom11thCell = WorkerTimeSheet.GetRow(row).GetCell(11);
                        if (valueFrom11thCell == null)
                        {
                            shippingAdviceVM.Material = string.Empty;
                        }
                        else
                        {
                            shippingAdviceVM.Material = WorkerTimeSheet.GetRow(row).GetCell(11).StringCellValue;
                        }

                        var valueFrom12thcell = WorkerTimeSheet.GetRow(row).GetCell(12);
                        if (valueFrom12thcell == null)
                        {
                            shippingAdviceVM.Quantity = 0;
                        }
                        else if (valueFrom12thcell.CellType == CellType.Numeric)
                        {
                            shippingAdviceVM.Quantity = Convert.ToInt32(WorkerTimeSheet.GetRow(row).GetCell(12).NumericCellValue);
                        }
                        else
                        {
                            shippingAdviceVM.Quantity = Convert.ToInt32(WorkerTimeSheet.GetRow(row).GetCell(12).NumericCellValue);
                        }

                        var valueFrom13thCell = WorkerTimeSheet.GetRow(row).GetCell(13);
                        if (valueFrom13thCell == null)
                        {
                            shippingAdviceVM.FOB = 0;
                        }
                        else
                        {
                            shippingAdviceVM.FOB = Convert.ToDecimal(WorkerTimeSheet.GetRow(row).GetCell(13).NumericCellValue);
                        }

                        var valueFrom14thCell = WorkerTimeSheet.GetRow(row).GetCell(14);
                        if (valueFrom14thCell == null)
                        {
                            shippingAdviceVM.PurchaseDocumentNo = 0;
                        }
                        else
                        {
                            shippingAdviceVM.PurchaseDocumentNo = Convert.ToInt32(WorkerTimeSheet.GetRow(row).GetCell(14).NumericCellValue);
                        }

                        var valueFrom15thCell = WorkerTimeSheet.GetRow(row).GetCell(15);
                        if (valueFrom15thCell == null)
                        {
                            shippingAdviceVM.Item1 = 0;
                        }
                        else
                        {
                            shippingAdviceVM.Item1 = Convert.ToInt32(WorkerTimeSheet.GetRow(row).GetCell(15).NumericCellValue);
                        }

                        var valueFrom16thcell = WorkerTimeSheet.GetRow(row).GetCell(16);
                        if (valueFrom16thcell == null)
                        {
                            shippingAdviceVM.SAPSO = string.Empty;
                        }
                        else
                        {
                            shippingAdviceVM.SAPSO = Convert.ToString(WorkerTimeSheet.GetRow(row).GetCell(16).NumericCellValue);
                        }

                        var valueFrom17thCell = WorkerTimeSheet.GetRow(row).GetCell(17);
                        if (valueFrom17thCell == null)
                        {
                            shippingAdviceVM.Item2 = 0;
                        }
                        else
                        {
                            shippingAdviceVM.Item2 = Convert.ToInt32(WorkerTimeSheet.GetRow(row).GetCell(17).NumericCellValue);
                        }

                        var valueFrom18thcell = WorkerTimeSheet.GetRow(row).GetCell(16);
                        if (valueFrom18thcell == null)
                        {
                            shippingAdviceVM.SAPDO = string.Empty;
                        }
                        else
                        {
                            shippingAdviceVM.SAPDO = Convert.ToString(WorkerTimeSheet.GetRow(row).GetCell(18).NumericCellValue);
                        }

                        var valueFrom19thCell = WorkerTimeSheet.GetRow(row).GetCell(19);
                        if (valueFrom19thCell == null)
                        {
                            shippingAdviceVM.PInt = 0;
                        }
                        else
                        {
                            shippingAdviceVM.PInt = Convert.ToInt32(WorkerTimeSheet.GetRow(row).GetCell(19).NumericCellValue);
                        }

                        var valueFrom20thcell = WorkerTimeSheet.GetRow(row).GetCell(20);
                        if (valueFrom20thcell == null)
                        {
                            shippingAdviceVM.SLoc = string.Empty;
                        }
                        else if (valueFrom20thcell.CellType == CellType.Numeric)
                        {
                            shippingAdviceVM.SLoc = Convert.ToString(WorkerTimeSheet.GetRow(row).GetCell(20).NumericCellValue);
                        }
                        else
                        {
                            shippingAdviceVM.SLoc = WorkerTimeSheet.GetRow(row).GetCell(20).StringCellValue;
                        }

                        var valueFrom21stcell = WorkerTimeSheet.GetRow(row).GetCell(21);
                        if (valueFrom21stcell == null)
                        {
                            shippingAdviceVM.Temp1 = string.Empty;
                        }
                        else
                        {
                            shippingAdviceVM.Temp1 = WorkerTimeSheet.GetRow(row).GetCell(21).StringCellValue;
                        }

                        var valueFrom22thCell = WorkerTimeSheet.GetRow(row).GetCell(22);
                        if (valueFrom22thCell == null)
                        {
                            shippingAdviceVM.Seq = 0;
                        }
                        else
                        {
                            shippingAdviceVM.Seq = Convert.ToInt32(WorkerTimeSheet.GetRow(row).GetCell(22).NumericCellValue);
                        }

                        var valueFrom23rdcell = WorkerTimeSheet.GetRow(row).GetCell(23);
                        if (valueFrom23rdcell == null)
                        {
                            shippingAdviceVM.Del = string.Empty;
                        }
                        else
                        {
                            shippingAdviceVM.Del = WorkerTimeSheet.GetRow(row).GetCell(23).StringCellValue;
                        }

                        var valueFrom24thCell = WorkerTimeSheet.GetRow(row).GetCell(24);
                        if (valueFrom24thCell == null)
                        {
                            shippingAdviceVM.Comp = string.Empty;
                        }
                        else
                        {
                            shippingAdviceVM.Comp = WorkerTimeSheet.GetRow(row).GetCell(24).StringCellValue;
                        }

                        //var valueFrom25thcell = WorkerTimeSheet.GetRow(row).GetCell(25);
                        //if (valueFrom25thcell == null)
                        //    shippingAdviceVM.DeliveryDate = DateTime.Now;
                        //else
                        var sd = WorkerTimeSheet.GetRow(row).GetCell(25).StringCellValue;
                        if (sd == null)
                        {
                            shippingAdviceVM.DeliveryDate = DateTime.Now;
                        }
                        else
                        {
                            shippingAdviceVM.DeliveryDate = DateTime.Parse(sd, new CultureInfo("en-IN", true));
                        }
                        currentMothTimeSheetList.Add(shippingAdviceVM);

                        //  }
                        //Here for sample , I just save the value in "value" field, Here you can write your custom logics...
                    }
                }
                if (currentMothTimeSheetList.Count() > 0)
                {
                    trade.SaveShippingAdvice(currentMothTimeSheetList);
                    TempData["SuccessMessage"] = "ShippingAdvice data appended to DB";
                }
            }
            catch (Exception ex)
            {
                //TempData["ErrorMessage"] = "There is a Issues on Uploading Workers OT Data .Please contact IT Support";
                //Console.Write(ex.Message);
                throw ex;
            }
        }