public async Task <IActionResult> QcSentMailDtrFgtResult(string stage, string modelNo, string article, string labNo, string remark, string type, string reason) { _logger.LogInformation(String.Format(@"******DTRController SentMailF340PpdByArticle fired!! ******")); ModelDah modelDah = _modelDahDAO.FindSingle( x => x.MODELNO.Trim() == modelNo.Trim() && x.FACTORYID.Trim() == labNo.Substring(0, 1)); var season = modelDah.SEASON; var toMails = new List <string>(); List <BasicCodeDto> list017 = await _dKSDAO.GetBasicCodeDto("017"); //017 = 開發小組 BasicCodeDto teamId = list017.FirstOrDefault(x => x.Key == modelDah.DEVTEAMID.Trim()); if (stage == "CR2" || stage == "SMS" || stage == "CS1") //mail to DEV { toMails = teamId.MemoZh3.Split(";").Where(x => x.Length > 5).ToList(); } else if (stage == "CS2" || stage == "CS3") //mail to COMM { toMails = teamId.MemoZh4.Split(";").Where(x => x.Length > 5).ToList(); } var content = string.Format(@"Hi Team: {0} Test report has been evaluated from pass to fail or deleted, please check with QC team. (Model name: {1}, Season: {2}, Model No: {3}, Article: {4}) Type: {5}。 Reason: {6}。 Remark: {7} ", stage, modelDah.MODELNAME, season, modelNo, article, type, reason, remark); await _sendMailService.SendListMailAsync(toMails, null, string.Format(@"Test report change result (Season: {0}, Stage: {1}, Model Name: {2}, Model No:{3}, Art:{4})", season, stage, modelDah.MODELNAME, modelNo, article), content, null); return(Ok()); }
public async Task <IActionResult> TransitArticle(TransitArticleDto transitArticleDto) { string status = "0"; string errMsg = ""; _logger.LogInformation(String.Format(@"****** DKSController TransitArticle fired!! ******")); Articled checkArt = _articledDAO.FindSingle( x => x.ARTICLE.Trim() == transitArticleDto.Article.Trim() && x.STAGE.Trim() == transitArticleDto.Stage.Trim() && x.FACTORYID.Trim() == transitArticleDto.FactoryId.Trim()); if (checkArt != null) { errMsg = "The Article、Stage、Factory is exist. Please refresh page and try again."; return(Ok(errMsg)); } Articled fromArt = _articledDAO.FindSingle( x => x.PKARTBID.Trim() == transitArticleDto.PkArticle.Trim()); // Step1: save fromArt to db (status =0 ) fromArt.MODELNO = transitArticleDto.ModelNo.Trim(); fromArt.STAGE = transitArticleDto.Stage.Trim(); fromArt.FACTORYID = transitArticleDto.FactoryId; fromArt.STATUS = status; fromArt.MDUSERID = transitArticleDto.UpdateUser.ToDecimal(); fromArt.CHANGDATE = DateTime.Now; fromArt.INSERDATE = DateTime.Now; //fromArt.REMARK = string.Format("Transit From Factory: {0} ,Update User: {1}", transitArticleDto.FactoryIdFrom,transitArticleDto.UpdateUser); //get new PKARTICLE var newPkArticle = _commonService.GetPKARTBID(); fromArt.PKARTBID = newPkArticle; _articledDAO.Add(fromArt); await _articledDAO.SaveAll(); _logger.LogInformation(String.Format(@"****** Save ARTICLED Success!! PKARTICLE: {0} ******", newPkArticle)); // Step2: copy ARTICLE_PICTURE and save to DB ArticlePicture fromArtPic = _articlePictureDAO.FindSingle( x => x.FKARTICID.Trim() == transitArticleDto.PkArticle.Trim()); if (fromArtPic != null) { fromArtPic.FKARTICID = newPkArticle; _articlePictureDAO.Add(fromArtPic); await _articlePictureDAO.SaveAll(); } _logger.LogInformation(String.Format(@"****** Save ARTICLEPICTURE Success!! FKARTICID: {0} ******", newPkArticle)); // Step3: if the new article don't have model in db copy one. ModelDah toModel = _modelDahDAO.FindSingle( x => x.MODELNO.Trim() == transitArticleDto.ModelNo.Trim() && x.FACTORYID.Trim() == transitArticleDto.FactoryId.Trim()); if (toModel == null) { ModelDah fromModel = _modelDahDAO.FindSingle( x => x.MODELNO.Trim() == transitArticleDto.ModelNoFrom.Trim() && x.FACTORYID.Trim() == transitArticleDto.FactoryIdFrom.Trim()); fromModel.MODELNO = transitArticleDto.ModelNo.Trim(); fromModel.DEVTEAMID = transitArticleDto.DevTeamId; fromModel.DEVELOPERID = ""; fromModel.FACTORYID = transitArticleDto.FactoryId; fromModel.STATUS = status; fromModel.MDUSERID = transitArticleDto.UpdateUser.ToDecimal(); fromModel.CHANGDATE = DateTime.Now; _modelDahDAO.Add(fromModel); await _modelDahDAO.SaveAll(); _logger.LogInformation(String.Format(@"****** Save ModelDah Success!! ModelNo: {0}, FactoryId: {1} ******", fromModel.MODELNO, fromModel.FACTORYID)); } //step4: stend email /* * //var dksSignature = _config.GetSection("DksSignatureLine").Value; * var dksSignature = ""; * var content = string.Format(@"The Article : {0} was Transit from factory: {1}, please check it in F205 Article of the below website.{2}", transitArticleDto.Article, transitArticleDto.FactoryIdFrom , dksSignature); * * var toMails = new List<string>(); * * toMails.Add(transitArticleDto.Email); * await _sendMailService.SendListMailAsync(toMails, null, "A Article was Transit Please check it in F205 !", content, null); * _logger.LogInformation(String.Format(@"******Sent Mail F205 Article Transit to : {0} ******", transitArticleDto.Email)); */ //step5 : insert to dtr_excel and dtr_cwa date _dKSDAO.GetTransferToDTR(transitArticleDto.FactoryIdFrom, transitArticleDto.FactoryId, transitArticleDto.Article.Trim()); return(Ok(errMsg)); }