예제 #1
0
 public IActionResult GetTransferToDTR()
 {
     _dksDao.GetTransferToDTR("C", "U", "ART005");
     return(Ok());
 }
예제 #2
0
        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));
        }