public ActionResult GetBOMFileView(int pageNo, string order, string sort) { BOMFileFilterModel filter = new BOMFileFilterModel(); filter.ProductsTypeID = 2; // ccs products filter.Pagination.Page = pageNo; filter.Order = order; filter.Sort = sort; BOMFileViewModel model = core.GetBOMFileView(filter); return(Json(model, JsonRequestBehavior.AllowGet)); }
public ActionResult MaterialBOMItem() { BOMFileFilterModel filter = new BOMFileFilterModel(); filter.ProductsTypeID = 2; // ccs products filter.Order = "CreatedDate"; filter.Sort = "desc"; BOMFileViewModel model = core.GetBOMFileView(filter); ViewData["BOMFileViewModel"] = model; return(View()); }
public static BOMFileViewModel GetBOMFileView(BOMFileFilterModel filter) { ACTION = "GetBOMFileView(BOMFileFilterModel)"; try { ResponseModel response = new ResponseModel(); int totalRecord = 0; decimal lastVersion = 0; var model = BOMFileDAL.GetBOMFileList(filter, ref totalRecord, ref response, ref lastVersion); filter.Pagination.TotalRecord = totalRecord; PaginationModel pagination = new PaginationModel(totalRecord, filter.Pagination.Page, filter.Pagination.Take); filter.Pagination = pagination; filter.LastBOMFileVersion = lastVersion; return(new BOMFileViewModel() { Action = ACTION, Source = SOURCE, Status = response.Status, Message = response.Message, List = model, Filter = filter }); } catch (Exception ex) { return(new BOMFileViewModel() { Action = ACTION, Source = SOURCE, Status = false, Message = ex.Message, List = null, Filter = filter }); } }
public static List <BOMFileModel> GetBOMFileList(BOMFileFilterModel filter, ref int totalRecord, ref ResponseModel response, ref decimal lastVersion) { ACTION = "GetBOMFileList(BOMFileFilterModel)"; try { using (UTMMABCDBEntities context = new UTMMABCDBEntities()) { filter.BOMFileIDs = filter.BOMFileIDs != null ? filter.BOMFileIDs : new int[] { }; var IQuery = context.USR_TMMA_BOM_FILE .Where(o => (!string.IsNullOrEmpty(filter.Keywords) ? (o.RecObjectName.Contains(filter.Keywords)) || (o.CreatedBy.Contains(filter.Keywords)) : true) && (filter.BOMFileID.HasValue ? o.BOMFileID == filter.BOMFileID.Value : true) && (filter.BOMFileIDs.Count() > 0 ? filter.BOMFileIDs.Contains(o.BOMFileID) : true) && (!string.IsNullOrEmpty(filter.RecObjectName) ? filter.CreatedBy.Contains(o.RecObjectName) : true) && (filter.ProductsTypeID.HasValue ? o.ProductsTypeID == filter.ProductsTypeID.Value : true) && (filter.IsActive.HasValue ? o.IsActive == 1 : true) ); totalRecord = IQuery.Count(); var lists = filter.Sort == "asc" ? filter.Order == "RecObjectName" ? IQuery.OrderBy(o => o.RecObjectName) : filter.Order == "UserSAP" ? IQuery.OrderBy(o => o.UserSAP) : filter.Order == "Version" ? IQuery.OrderBy(o => o.BOMFileVersion) : filter.Order == "Status" ? IQuery.OrderBy(o => o.BOMFileStatus) : filter.Order == "ValidDate" ? IQuery.OrderBy(o => o.ValidDate) : filter.Order == "CreatedBy" ? IQuery.OrderBy(o => o.CreatedBy) : filter.Order == "CreatedDate" ? IQuery.OrderBy(o => o.CreatedDate) : IQuery.OrderBy(o => o.CreatedDate) : filter.Order == "RecObjectName" ? IQuery.OrderByDescending(o => o.RecObjectName) : filter.Order == "UserSAP" ? IQuery.OrderByDescending(o => o.UserSAP) : filter.Order == "Version" ? IQuery.OrderByDescending(o => o.BOMFileVersion) : filter.Order == "Status" ? IQuery.OrderByDescending(o => o.BOMFileStatus) : filter.Order == "ValidDate" ? IQuery.OrderByDescending(o => o.ValidDate) : filter.Order == "CreatedBy" ? IQuery.OrderByDescending(o => o.CreatedBy) : filter.Order == "CreatedDate" ? IQuery.OrderByDescending(o => o.CreatedDate) : IQuery.OrderByDescending(o => o.CreatedDate); lastVersion = IQuery.OrderByDescending(o => o.BOMFileVersion).FirstOrDefault().BOMFileVersion.GetValueOrDefault(); List <USR_TMMA_BOM_FILE> list = filter.Pagination.IsPaging ? lists.Skip(filter.Pagination.Skip).Take(filter.Pagination.Take).ToList() : lists.ToList(); List <BOMFileModel> mList = Mapping(list); response = new ResponseModel() { Source = SOURCE, Action = ACTION, Status = true, Message = "Success" }; return(mList); } } catch (Exception ex) { totalRecord = 0; response = new ResponseModel() { Source = SOURCE, Action = ACTION, Status = false, Message = ex.Message }; return(null); } }
public BOMFileViewModel GetBOMFileView(BOMFileFilterModel filter) { return(BOMFileBLL.GetBOMFileView(filter)); }
public ActionResult UploadBOMFile() { try { if (Request.Files.Count > 0 && Request.Form.Count > 0) { string fileName = Path.GetFileNameWithoutExtension(Request.Files[0].FileName); if (String.Equals("CCSBOM", fileName, StringComparison.OrdinalIgnoreCase)) { foreach (string file in Request.Files) { var fileContent = Request.Files[file]; var user = Request.Form["User"]; var recObjectName = Request.Form["RecObjectName"]; DateTime validDate = DateTime.ParseExact(Request.Form["ValidDate"], "dd/MM/yyyy", usCulture); if (fileContent != null && fileContent.ContentLength > 0) { string extension = Path.GetExtension(fileContent.FileName).ToLower(); string[] validFileTypes = { ".xls", ".xlsx", ".xlsm" }; //init file type var path = Path.Combine(Server.MapPath("~/Files/CCS/Excels/BOM"), fileContent.FileName); if (validFileTypes.Contains(extension)) { if (System.IO.File.Exists(path)) { //System.IO.File.Delete(path); string[] filePaths = Directory.GetFiles(Server.MapPath("~/Files/CCS/Excels/BOM")); foreach (string filePath in filePaths) { System.IO.File.Delete(filePath); } } fileContent.SaveAs(path); log.Info("========== Save File Success ========="); int version = 0; SaveBOMFileVersion(path, recObjectName, user, validDate, ref version); BOMFileFilterModel filter = new BOMFileFilterModel(); filter.ProductsTypeID = 2; // CCS filter.Sort = "desc"; BOMFileViewModel model = core.GetBOMFileView(filter); return(Json(model, JsonRequestBehavior.AllowGet)); } else { log.Error("========== Please Upload Files in .xls or .xlsx format. ========="); return(Json(new ResponseModel() { Message = "Please Upload Files in .xls or .xlsx format.", Status = false }, JsonRequestBehavior.AllowGet)); } } } } else { log.Error("========== File Name Incorrect. ========="); return(Json(new ResponseModel() { Message = "File Name Incorrect.", Status = false }, JsonRequestBehavior.AllowGet)); } } log.Error("========== Please Insert File. ========="); return(Json(new ResponseModel() { Message = "Please Insert File.", Status = false }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { log.Error("========== " + ex.Message + " ========="); return(Json(new ResponseModel() { Message = ex.Message, Status = false }, JsonRequestBehavior.AllowGet)); } }
public ActionResult GenerateCreateBOMTextFile(int bomFileID, string fileName, string userSAP, string validDateText, string pathText, int pageNo, List <string> options, List <string> sheets) { try { var enUser = Environment.UserName; var userName = !string.IsNullOrEmpty(enUser) ? enUser : Session["Username"].ToString(); log.Info("========== Generate By " + userName + " ========="); DateTime validDate = DateTime.ParseExact(validDateText, "dd/MM/yyyy", usCulture); string path = pathText; string extension = Path.GetExtension(pathText).ToLower(); //var pathRangeExcelJson = Path.Combine(Server.MapPath("~/"), "rangeExcel.json"); //List<RangeExcelModel> items = new List<RangeExcelModel>(); //using (StreamReader r = new StreamReader(pathRangeExcelJson)) //{ // string json = r.ReadToEnd(); // items = JsonConvert.DeserializeObject<List<RangeExcelModel>>(json); //} List <SheetsModel> objSheetsList = new List <SheetsModel>(); List <SheetsModel> objSheetsActivityList = new List <SheetsModel>(); if (sheets.Contains("Special Pack")) { objSheetsList.Add(new SheetsModel() { Name = "Special Pack", Count = 1 }); objSheetsActivityList.Add(new SheetsModel() { Name = "Special Pack Activity", Count = 1 }); } if (sheets.Contains("CCS Cut and Pack")) { objSheetsList.Add(new SheetsModel() { Name = "CCS Cut and Pack", Count = 1 }); objSheetsActivityList.Add(new SheetsModel() { Name = "CCS Cut and Pack Activity", Count = 1 }); } if (sheets.Contains("CCS PMMA")) { objSheetsList.Add(new SheetsModel() { Name = "CCS PMMA", Count = 1 }); objSheetsActivityList.Add(new SheetsModel() { Name = "CCS PMMA Activity", Count = 1 }); } if (sheets.Contains("Additive")) { objSheetsList.Add(new SheetsModel() { Name = "Additive", Count = 1 }); objSheetsActivityList.Add(new SheetsModel() { Name = "Additive Activity", Count = 1 }); } if (sheets.Contains("CCS Syrup")) { objSheetsList.Add(new SheetsModel() { Name = "CCS Syrup", Count = 1 }); objSheetsActivityList.Add(new SheetsModel() { Name = "CCS Syrup Activity", Count = 1 }); } if (sheets.Contains("CCS Initiator")) { objSheetsList.Add(new SheetsModel() { Name = "CCS Initiator", Count = 1 }); objSheetsActivityList.Add(new SheetsModel() { Name = "CCS Initiator Activity", Count = 1 }); } if (sheets.Contains("Packing Pattern")) { objSheetsList.Add(new SheetsModel() { Name = "Packing Pattern", Count = 1 }); objSheetsActivityList.Add(new SheetsModel() { Name = "Packing Pattern Activity", Count = 1 }); } if (sheets.Contains("Gasket")) { objSheetsList.Add(new SheetsModel() { Name = "Gasket", Count = 1 }); objSheetsActivityList.Add(new SheetsModel() { Name = "Gasket Activity", Count = 1 }); } if (sheets.Contains("Value Cullet")) { objSheetsList.Add(new SheetsModel() { Name = "Value Cullet", Count = 1 }); objSheetsActivityList.Add(new SheetsModel() { Name = "Value Cullet Activity", Count = 1 }); } List <List <DataTable> > dtList = ExcelUtility.ReadCCSBOMExcel(path, extension, objSheetsList); List <List <DataTable> > dtActivityList = ExcelUtility.ReadCCSBOMActivityExcel(path, extension, objSheetsActivityList); // delete all files before generate new files string[] filePaths = Directory.GetFiles(Server.MapPath("~/Files/CCS/SAP/BOM")); foreach (string filePath in filePaths) { System.IO.File.Delete(filePath); } int i = 0; foreach (var o in dtList) // map 1 by 1 bom and activity { List <BOMHeaderModel> list1 = null; List <BOMItemModel> list2 = null; ExcelUtility.ConvertCCSBOMExcelToCCSBOMModel(o, ref list1, ref list2); List <BOMHeaderModel> acList1 = null; List <BOMItemModel> acList2 = null; ExcelUtility.ConvertCCSBOMActivityExcelToCCSBOMActivityModel(dtActivityList[i], ref acList1, ref acList2); //int limit = 100; // 100 items limit by header //if (list1.Count() > limit) // int j = 1; //{ // int ht = 0; // int hc = 100; // number of hlist // int countHList = 100; // while (ht < list1.Count()) // { // List<BOMHeaderModel> listHcut = new List<BOMHeaderModel>(); // List<BOMHeaderModel> listHactcut = new List<BOMHeaderModel>(); // int hlast = list1.Count(); // int hCount = countHList > hlast ? hlast - ht : hc; // bom & act same // listHcut = list1.GetRange(ht, hCount); // listHactcut = acList1.GetRange(ht, hCount); // List<BOMHeaderModel> newList1 = BOMUtility.CheckBOMAlt(listHcut); // string textName = fileName + sheets[i].Replace(" ", "") + j; // string textExtension = ".txt"; // string textPath = Path.Combine(Server.MapPath("~/Files/CCS/SAP/BOM"), textName); // SAPUtility.ConvertToMMABOMTextFile(newList1, list2, listHactcut, acList2, textPath, fileName, textExtension, userSAP, validDate, options); // ht += hc; // countHList += hc; // j++; // } //} //else //{ List <BOMHeaderModel> newList1 = BOMUtility.CheckBOMAlt(list1); string textName = fileName + sheets[i].Replace(" ", ""); log.Info("========== " + textName + " Start ========="); string textExtension = ".txt"; string textPath = Path.Combine(Server.MapPath("~/Files/CCS/SAP/BOM"), textName); SAPUtility.ConvertToMMABOMTextFile(newList1, list2, acList1, acList2, textPath, fileName, textExtension, userSAP, validDate, options); //} i++; } int BOMFileStatus = 3; // Create ResponseModel res = core.UpdateStatusBOMFile(bomFileID, BOMFileStatus); if (res.Status) // update status success { log.Info("========== Update Status Success. ========="); BOMFileFilterModel filter = new BOMFileFilterModel(); filter.ProductsTypeID = 2; // CCS filter.Sort = "desc"; filter.Pagination.Page = pageNo; BOMFileViewModel model = core.GetBOMFileView(filter); return(Json(model, JsonRequestBehavior.AllowGet)); } else { log.Error("========== " + res.Message + " ========="); return(Json(res, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { log.Error("========== " + ex.Message + " ========="); return(Json(new ResponseModel() { Status = false, Message = ex.Message }, JsonRequestBehavior.AllowGet)); } }