public string Post([FromBody] tbEmployee emp, string Add) { try { tbEmpGroup tbEmpG = new tbEmpGroup(); if (Add.Equals("Add")) { SHA256 sha256 = new SHA256CryptoServiceProvider(); //建立一個SHA256 byte[] source = Encoding.Default.GetBytes(emp.PassWord); //將字串轉為Byte[] byte[] crypto = sha256.ComputeHash(source); //進行SHA256加密 string result = Convert.ToBase64String(crypto); //把加密後的字串從Byte[]轉為字串 emp.PassWord = result; _db.tbEmployee.Add(emp); tbEmpG.EmployeeNo = emp.EmployeeNo; tbEmpG.GroupID = ""; _db.tbEmpGroup.Add(tbEmpG); _db.SaveChanges(); } else { return("error"); } } catch (Exception ex) { return(ex.Message); } return("success"); }
private JArray GetExportData(string productName, string packingTime) { string[] packingTimeRangeList; string packingTimeS = ""; string packingTimeE = ""; DateTime dateTimeS; DateTime dateTimeE; UserModel _UserModel = null; var query = (from a in _db.PackingLists join b in _db.ProductInfoes on a.ProductNo equals b.ProductNo select new { a.BagNo, a.CaseNo, a.CompanyCode, a.Lot, a.PackingTime, a.PalletsNo, a.ProductNo, b.ProductName, a.SerialNo }); //綁登入者身分 if (ViewData["UserModel"] != null) { _UserModel = (UserModel)ViewData["UserModel"]; tbEmpGroup GroupId = _db.tbEmpGroup.Where(e => e.EmployeeNo == _UserModel.EmployeeNo).FirstOrDefault(); if (GroupId != null) { query = query.Where(c => c.CompanyCode == GroupId.GroupID); } else { query = query.Where(c => c.CompanyCode == "99999999"); } } if (!productName.Equals("")) { query = query.Where(p => p.ProductName.Contains(productName)); } if (!packingTime.Equals("")) { packingTimeRangeList = packingTime.Split('-'); packingTimeRangeList[0] = packingTimeRangeList[0].Trim(); packingTimeRangeList[1] = packingTimeRangeList[1].Trim(); dateTimeS = Convert.ToDateTime(packingTimeRangeList[0]); dateTimeE = Convert.ToDateTime(packingTimeRangeList[1]); dateTimeE = dateTimeE.AddDays(1); query = query.Where(e => e.PackingTime >= dateTimeS && e.PackingTime <= dateTimeE); } query = query.OrderBy(x => x.PackingTime); JArray jObjects = new JArray(); foreach (var item in query) { var jo = new JObject(); jo.Add("BagNo", item.BagNo); jo.Add("CaseNo", item.CaseNo); jo.Add("CompanyCode", item.CompanyCode); jo.Add("Lot", item.Lot); jo.Add("PackingTime", item.PackingTime.ToString()); jo.Add("PalletsNo", item.PalletsNo); jo.Add("ProductNo", item.ProductNo); jo.Add("ProductName", item.ProductName); jo.Add("SerialNo", item.SerialNo); jObjects.Add(jo); } return(jObjects); }
public string Put([FromBody] tbEmpGroup empGroup) { try { string[] arrGroupID = empGroup.GroupID.Split(','); //更改過後的GroupID List <string> listDGroupID = new List <string>(); //需要刪除的GroupID List <string> listAGroupID = new List <string>(); //需要新增的GroupID bool flag = true; List <tbEmpGroup> listTbEmpGroup = _db.tbEmpGroup.Where(b => b.EmployeeNo == empGroup.EmployeeNo).ToList(); //紀錄刪除項目 foreach (tbEmpGroup mtbEmpGroup in listTbEmpGroup) { flag = true; for (int i = 0; i < arrGroupID.Length; i++) { if (mtbEmpGroup.GroupID.Equals(arrGroupID[i])) { flag = false; break; } } if (flag == true) { listDGroupID.Add(mtbEmpGroup.GroupID); } } //紀錄新增項目 for (int i = 0; i < arrGroupID.Length; i++) { flag = true; foreach (tbEmpGroup mtbEmpGroup in listTbEmpGroup) { if (arrGroupID[i].Equals(mtbEmpGroup.GroupID)) { flag = false; break; } } if (flag == true) { listAGroupID.Add(arrGroupID[i]); } } //資料庫刪除 foreach (string groupID in listDGroupID) { tbEmpGroup tbEmpGroup = _db.tbEmpGroup.Where(b => b.EmployeeNo == empGroup.EmployeeNo).Where(c => c.GroupID == groupID).First(); _db.tbEmpGroup.Remove(tbEmpGroup); } //資料庫新增 foreach (string groupID in listAGroupID) { tbEmpGroup tbEmpGroup = new tbEmpGroup(); tbEmpGroup.EmployeeNo = empGroup.EmployeeNo; tbEmpGroup.GroupID = groupID; _db.tbEmpGroup.Add(tbEmpGroup); _db.SaveChanges(); } } catch (Exception ex) { return(ex.Message); } return("success"); }
public JsonResult Get(int draw, int start) { UserModel _UserModel = null; List <PackingPallets> rows = new List <PackingPallets>(); List <PackingPallets> rowsResult = new List <PackingPallets>(); List <PackingPallets> rowsPageResult = new List <PackingPallets>(); string[] packingTimeRangeList; string packingTimeS = ""; string packingTimeE = ""; string parameter = Request.Query["search[value]"].FirstOrDefault(); PackingListsCondition condition = null; if (ViewData["UserModel"] != null) { _UserModel = (UserModel)ViewData["UserModel"]; tbEmpGroup GroupId = _db.tbEmpGroup.Where(e => e.EmployeeNo == _UserModel.EmployeeNo).FirstOrDefault(); var tmp = (from a in _db.PackingLists orderby a.ProductNo orderby a.PackingTime group a by new { a.CompanyCode, a.ProductNo, a.PalletsNo, a.Lot, a.CaseNo, PackingTime = a.PackingTime.ToString("yyyyMMdd") } into g group g by new { g.Key.CompanyCode, g.Key.ProductNo, g.Key.PalletsNo, g.Key.Lot, g.Key.PackingTime } into k from b in _db.ProductInfoes.Where(e => e.ProductNo == k.Key.ProductNo) select new PackingPallets { CompanyCode = k.Key.CompanyCode, PackingTime = k.Key.PackingTime, ProductName = b.ProductName + "(" + b.Spec + ")", ProductNo = k.Key.ProductNo, PalletsNo = k.Key.PalletsNo, Lot = k.Key.Lot, Quantity = k.Count() }).Where(c => c.CompanyCode == GroupId.GroupID); if (parameter != "") { condition = (PackingListsCondition)JsonConvert.DeserializeObject(parameter, typeof(PackingListsCondition)); } //如果有搜尋條件 if (condition != null) { if (condition.PackingTime.ToString() != "") { packingTimeS = condition.PackingTime.Substring(0, 10).Replace("/", "").Trim(); packingTimeE = condition.PackingTime.Substring(10).Replace("/", "").Trim(); tmp = tmp.Where(e => Convert.ToInt32(e.PackingTime) >= Convert.ToInt32(packingTimeS) && Convert.ToInt32(e.PackingTime) <= Convert.ToInt32(packingTimeE)); } if (condition.ProductName != "") { tmp = tmp.Where(e => e.ProductName.Contains(condition.ProductName)); } } rows = tmp.OrderBy(e => e.CompanyCode).OrderBy(e => e.PackingTime).OrderBy(e => e.ProductName).OrderBy(e => e.Lot).ToList(); int count = 0; PackingPallets newPackingPallets = new PackingPallets(); foreach (PackingPallets packingPallets in rows) { if (count == 0) { newPackingPallets = new PackingPallets(); newPackingPallets.CompanyCode = packingPallets.CompanyCode; newPackingPallets.PackingTime = packingPallets.PackingTime; newPackingPallets.ProductName = packingPallets.ProductName; newPackingPallets.ProductNo = packingPallets.ProductNo; newPackingPallets.Lot = packingPallets.Lot; newPackingPallets.PalletsNo = "1"; newPackingPallets.Quantity = packingPallets.Quantity; count++; continue; } if (newPackingPallets.CompanyCode.Equals(packingPallets.CompanyCode) && newPackingPallets.PackingTime.Equals(packingPallets.PackingTime) && newPackingPallets.ProductName.Equals(packingPallets.ProductName) && newPackingPallets.Lot.Equals(packingPallets.Lot)) { newPackingPallets.PalletsNo = (Convert.ToInt32(newPackingPallets.PalletsNo) + 1).ToString(); newPackingPallets.Quantity = newPackingPallets.Quantity + packingPallets.Quantity; } else { rowsResult.Add(newPackingPallets); newPackingPallets = new PackingPallets(); newPackingPallets.CompanyCode = packingPallets.CompanyCode; newPackingPallets.PackingTime = packingPallets.PackingTime; newPackingPallets.ProductName = packingPallets.ProductName; newPackingPallets.ProductNo = packingPallets.ProductNo; newPackingPallets.Lot = packingPallets.Lot; newPackingPallets.PalletsNo = "1"; newPackingPallets.Quantity = packingPallets.Quantity; } } if (count != 0) { rowsResult.Add(newPackingPallets); } //資料總數 int recordsTotal = rowsResult.Count(); //取得當頁資料 rowsPageResult = rowsResult.Skip(start).Take(10).ToList();; var renderModel = new DataTablesRenderModel { draw = draw, data = rowsPageResult, length = rowsPageResult.Count(), recordsFiltered = recordsTotal, recordsTotal = recordsTotal }; return(Json(renderModel)); } else { return(null); } }