Пример #1
0
        private bool SaveMPart(M_PART mPart)
        {
            using (CHubEntities db = new CHubEntities())
            {
                M_PART_BLL mPartBLL = new M_PART_BLL();
                if (mPartBLL.Exist(mPart.PART_NO))
                {
                    //must exist in m_part otherwise error
                    if (mPart != null && !string.IsNullOrEmpty(mPart.TC_CATEGORY_BY_MAN))
                    {
                        M_PART currMpart = mPartBLL.GetMPartByPartNo(mPart.PART_NO);
                        currMpart.TC_CATEGORY_BY_MAN = mPart.TC_CATEGORY_BY_MAN;
                        mPartBLL.Update(currMpart);
                    }

                    return(true);
                }
                else
                {
                    //error part
                    LogHelper.WriteErrorLog(string.Format("Fail Save Action, reason: Wrong partNo {0}", mPart.PART_NO));
                    return(false);
                }
            }
        }
Пример #2
0
        public ActionResult UploadTCCateFile()
        {
            HttpPostedFileBase fb = Request.Files[0];
            //HttpPostedFileBase fb = fileInput.ToArray()[0];
            string   tempGuid   = Guid.NewGuid().ToString();
            string   folderPath = Server.MapPath(CHubConstValues.ChubTempFolder);
            FileInfo folder     = new FileInfo(folderPath);

            if (!Directory.Exists(folder.FullName))
            {
                Directory.CreateDirectory(folder.FullName);
            }

            string fileFullName = folder.FullName + tempGuid + ".xlsx";

            fb.SaveAs(fileFullName);
            NPOIExcelHelper excelHelper = new NPOIExcelHelper(fileFullName);
            DataTable       dt          = excelHelper.ExcelToDataTable();

            //DataTable dt = ExcelHelper.GetDTFromExcel(fileFullName);
            //delete temp file
            System.IO.File.Delete(fileFullName);

            //validate dt struct
            if (dt == null || dt.Rows.Count == 0)
            {
                return(Content("No data in excel"));
            }
            else
            {
                if (dt.Columns.Count != 2)
                {
                    return(Content("wrong excel struct"));
                }
            }


            int successCount = 0;
            int failCount    = 0;

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                M_PART mpart = new M_PART();
                mpart.PART_NO            = dt.Rows[i][0].ToString();
                mpart.TC_CATEGORY_BY_MAN = dt.Rows[i][1].ToString();
                if (SaveMPart(mpart))
                {
                    successCount++;
                }
                else
                {
                    failCount++;
                }
            }

            return(Content(string.Format("Total Count:{0}, Success Count:{1}, Fail Count:{2}", dt.Rows.Count, successCount, failCount)));
        }
Пример #3
0
        public bool SaveTCPartData(TC_PART_HS partHS, M_PART mPart)
        {
            using (CHubEntities db = new CHubEntities())
            {
                M_PART_BLL mPartBLL = new M_PART_BLL();
                if (mPartBLL.Exist(partHS.PART_NO))
                {
                    //must exist in m_part otherwise error
                    if (mPart != null && !string.IsNullOrEmpty(mPart.TC_CATEGORY_BY_MAN))
                    {
                        M_PART currMpart = mPartBLL.GetMPartByPartNo(partHS.PART_NO);
                        currMpart.TC_CATEGORY_BY_MAN = mPart.TC_CATEGORY_BY_MAN;
                        mPartBLL.Update(currMpart);
                    }
                    if (partHS != null)
                    {
                        TC_PART_HS_BLL pHSBLL = new TC_PART_HS_BLL(db);
                        if (pHSBLL.Exist(partHS.PART_NO))
                        {
                            //update
                            TC_PART_HS    existModel = pHSBLL.GetTCPartHS(partHS.PART_NO);
                            List <string> skipList   = new List <string>();
                            skipList.Add("PART_NO");
                            skipList.Add("CREATED_BY");
                            skipList.Add("CREATE_DATE");
                            skipList.Add("UPDATED_BY");
                            skipList.Add("RECORD_DATE");

                            ClassConvert.DrawObj(partHS, existModel, skipList);

                            existModel.UPDATED_BY  = Session[CHubConstValues.SessionUser].ToString();
                            existModel.RECORD_DATE = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
                            pHSBLL.update(existModel, false);
                        }
                        else
                        {
                            //add
                            partHS.CREATED_BY  = Session[CHubConstValues.SessionUser].ToString();
                            partHS.CREATE_DATE = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"));
                            partHS.UPDATED_BY  = Session[CHubConstValues.SessionUser].ToString();
                            partHS.RECORD_DATE = partHS.CREATE_DATE;
                            pHSBLL.Add(partHS, false);
                        }
                    }
                    db.SaveChanges();
                    return(true);
                }
                else
                {
                    //error part
                    LogHelper.WriteErrorLog(string.Format("Fail Save Action, reason: Wrong partNo {0}", partHS.PART_NO));
                    return(false);
                }
            }
        }
Пример #4
0
        public ActionResult CheckPartNo(string partNo)
        {
            M_PART_BLL mPartBLL = new M_PART_BLL();
            M_PART     mPart    = mPartBLL.GetMPartByPartNo(partNo);

            if (mPart != null)
            {
                return(Content(mPart.DESCRIPTION));
            }
            else
            {
                this.Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Content("wrong part No."));
            }
        }
Пример #5
0
        private string ValidatePart(M_PART dataRequest)
        {
            var errorMsg = "";

            //ID
            if (string.IsNullOrEmpty(dataRequest.ID))
            {
                errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get(
                                                                     VNPTResources.ID.MsgErrorRequire), VNPTResources.Instance.Get(VNPTResources.ID.Label_Part_ID)), ". ");
            }
            else
            {
                if (!CustomValidation.maxLength(50, dataRequest.ID))
                {
                    errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get(
                                                                         VNPTResources.ID.MsgErrorMaximumLength), VNPTResources.Instance.Get(VNPTResources.ID.Label_Part_ID), 50), ". ");
                }
                if (CustomValidation.hasSpace(dataRequest.ID))
                {
                    errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get(
                                                                         VNPTResources.ID.MsgErrorHasSpace), VNPTResources.Instance.Get(VNPTResources.ID.Label_Part_ID)), ". ");
                }
            }

            //Name
            if (string.IsNullOrEmpty(dataRequest.Name))
            {
                errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get(
                                                                     VNPTResources.ID.MsgErrorRequire), VNPTResources.Instance.Get(VNPTResources.ID.Label_Part_Name)), ". ");
            }
            else
            {
                if (!CustomValidation.maxLength(150, dataRequest.Name))
                {
                    errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get(
                                                                         VNPTResources.ID.MsgErrorMaximumLength), VNPTResources.Instance.Get(VNPTResources.ID.Label_Part_Name), 150), ". ");
                }
            }

            //DESCRIPTION
            if (!CustomValidation.maxLength(1000, dataRequest.Description))
            {
                errorMsg = string.Concat(errorMsg, string.Format(VNPTResources.Instance.Get(
                                                                     VNPTResources.ID.MsgErrorMaximumLength), VNPTResources.Instance.Get(VNPTResources.ID.Label_Part_Description), 1000), ". ");
            }
            return(errorMsg);
        }
Пример #6
0
        public ActionResult SaveAction(V_TC_MDM_ALL mdmAll)
        {
            TC_PART_HS partHS = new TC_PART_HS();

            ClassConvert.DrawObj(mdmAll, partHS);

            M_PART mPart = new M_PART();

            mPart.PART_NO            = mdmAll.PART_NO;
            mPart.TC_CATEGORY_BY_MAN = mdmAll.TC_CATEGORY_BY_MAN;

            bool success = SaveTCPartData(partHS, mPart);

            if (success)
            {
                return(Content("success"));
            }
            else
            {
                return(Content("Fail"));
            }
        }
Пример #7
0
        public IHttpActionResult Put(string id, [FromBody] M_PART dataRequest)
        {
            try
            {
                //validate custom data input
                string errorMsg = null;

                errorMsg = this.ValidatePart(dataRequest);

                //validate custom data input
                if (errorMsg != "" && errorMsg != null)
                {
                    return(Json(new TResult()
                    {
                        Status = (short)EStatus.Fail,
                        Msg = errorMsg
                    }));
                }

                if (!ModelState.IsValid)
                {
                    var    model = ModelState;
                    string msg   = VNPTResources.Instance.Get(model);

                    return(Json(new TResult()
                    {
                        Status = (short)EStatus.Fail,
                        Msg = msg
                    }));
                }

                var dataItem = this.Repository.GetQuery <M_PART>().FirstOrDefault(r => r.ID == id);
                if (dataItem is null)
                {
                    return(Json(new TResult()
                    {
                        Status = (short)EStatus.Fail,
                        Msg = VNPTResources.Instance.Get(VNPTResources.ID.MsgNotFound)
                    }));
                }

                dataItem    = dataRequest.Clone();
                dataItem.ID = id;

                this.Repository.Update(dataItem);
                this.VNPTLogs.Write(this.Repository, EAction.Update, JsonConvert.SerializeObject(dataItem));
                this.Repository.UnitOfWork.SaveChanges();

                return(Json(new TResult()
                {
                    Status = (short)EStatus.Ok,
                    Msg = VNPTResources.Instance.Get(VNPTResources.ID.MsgSaveOk),
                    Data = dataItem
                }));
            }
            catch (Exception e)
            {
                this.VNPTLogs.Write(this.RepositoryLog, e.Message);
                return(Json(new TResult()
                {
                    Status = (short)EStatus.Fail,
                    Msg = e.Message
                }));
            }
        }
Пример #8
0
        public IHttpActionResult Saves(IEnumerable <M_PART> dataRequest)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    var    model = ModelState;
                    string msg   = VNPTResources.Instance.Get(model);

                    return(Json(new TResult()
                    {
                        Status = (short)EStatus.Fail,
                        Msg = msg
                    }));
                }

                M_PART dataItem = null;
                foreach (var item in dataRequest)
                {
                    string errorMsg = null;
                    errorMsg = this.ValidatePart(item);
                    if (!string.IsNullOrEmpty(errorMsg))
                    {
                        return(Json(new TResult()
                        {
                            Status = (int)EStatus.Fail,
                            Msg = errorMsg
                        }));
                    }

                    dataItem = this.Repository.GetQuery <M_PART>().FirstOrDefault(r => r.ID == item.ID);
                    if (dataItem is null)
                    {
                        dataItem = item.Clone();

                        this.Repository.Add(dataItem);
                        this.VNPTLogs.Write(this.Repository, EAction.Insert, JsonConvert.SerializeObject(dataItem));
                    }
                    else
                    {
                        return(Json(new TResult()
                        {
                            Status = (short)EStatus.Fail,
                            Msg = string.Format(VNPTResources.Instance.Get(VNPTResources.ID.MsgErrorIsExists), item.ID)
                        }));
                    }
                }

                this.Repository.UnitOfWork.SaveChanges();

                return(Json(new TResult()
                {
                    Status = (short)EStatus.Ok,
                    Msg = VNPTResources.Instance.Get(VNPTResources.ID.MsgSaveOk),
                }));
            }
            catch (Exception e)
            {
                this.VNPTLogs.Write(this.Repository, e.Message);
                return(Json(new TResult()
                {
                    Status = (short)EStatus.Fail,
                    Msg = e.Message
                }));
            }
        }
Пример #9
0
        public IHttpActionResult Post([FromBody] M_PART dataRequest)
        {
            try
            {
                //validate custom data input
                string errorMsg = null;
                errorMsg = this.ValidatePart(dataRequest);

                //validate custom data input
                if (errorMsg != "" && errorMsg != null)
                {
                    return(Json(new TResult()
                    {
                        Status = (short)EStatus.Fail,
                        Msg = errorMsg
                    }));
                }

                if (!ModelState.IsValid)
                {
                    var    model = ModelState;
                    string msg   = VNPTResources.Instance.Get(model);

                    return(Json(new TResult()
                    {
                        Status = (short)EStatus.Fail,
                        Msg = msg
                    }));
                }

                if (this.Repository.GetQuery <M_PART>().Any(r => r.ID.Equals(dataRequest.ID)))
                {
                    return(Json(new TResult()
                    {
                        Status = (short)EStatus.Fail,
                        Msg = string.Format(VNPTResources.Instance.Get(VNPTResources.ID.MsgErrorIsExists), dataRequest.ID)
                    }));
                }

                var dataItem = dataRequest.Clone();

                this.Repository.Add(dataItem);
                this.VNPTLogs.Write(this.Repository, EAction.Insert, JsonConvert.SerializeObject(dataItem));
                this.Repository.UnitOfWork.SaveChanges();

                return(Json(new TResult()
                {
                    Status = (short)EStatus.Ok,
                    Msg = VNPTResources.Instance.Get(VNPTResources.ID.MsgSaveOk),
                    Data = dataItem
                }));
            }
            catch (Exception e)
            {
                this.VNPTLogs.Write(this.RepositoryLog, e.Message);
                return(Json(new TResult()
                {
                    Status = (short)EStatus.Fail,
                    Msg = e.Message
                }));
            }
        }
Пример #10
0
 public void Add(M_PART model, bool autoSave = true)
 {
     dal.Add(model, autoSave);
 }
Пример #11
0
 public void Update(M_PART model, bool autoSave = true)
 {
     dal.Update(model, autoSave);
 }