Example #1
0
        /// <summary>
        /// Read file error
        /// </summary>
        /// <returns></returns>
        private List <FingerTimeSheetTmpErrorModel> ReadFileError()
        {
            List <FingerTimeSheetTmpErrorModel> listFingerTimeSheetError = new List <FingerTimeSheetTmpErrorModel>();
            var pathError = HttpContext.Current.Server.MapPath(CommonConstants.PathUploadTimeSheetError);

            string[] lines = System.IO.File.ReadAllLines(pathError + "error.txt");
            Regex    regex = new Regex(CommonConstants.REGEX);

            foreach (var line in lines)
            {
                var result = regex.Split(line);
                FingerTimeSheetTmpErrorModel fingerTimeSheetTmpError = new FingerTimeSheetTmpErrorModel();
                //fingerTimeSheetTmpError.LineId = result[0];
                fingerTimeSheetTmpError.UserNo       = result[0];
                fingerTimeSheetTmpError.Date         = result[1];
                fingerTimeSheetTmpError.NumberFinger = result[2];
                fingerTimeSheetTmpError.UserName     = result[3];
                fingerTimeSheetTmpError.Error        = result[4];
                listFingerTimeSheetError.Add(fingerTimeSheetTmpError);
            }
            return(listFingerTimeSheetError);
        }
Example #2
0
        /// <summary>
        /// Read timesheet form text file
        /// </summary>
        /// <param name="fullPath">full</param>
        /// <param name="outListTimeSheet"></param>
        /// <param name="outListTimeSheetError"></param>
        private void ReadTimeSheetFromTextFile(string fullPath, out List <FingerTimeSheetTmp> outListTimeSheet, out List <FingerTimeSheetTmpErrorModel> outListTimeSheetError)
        {
            outListTimeSheet      = new List <FingerTimeSheetTmp>();
            outListTimeSheetError = new List <FingerTimeSheetTmpErrorModel>();
            string[] lines          = System.IO.File.ReadAllLines(fullPath);
            int      countLineError = 0;
            Regex    regex          = new Regex(CommonConstants.REGEX);

            foreach (var line in lines)
            {
                countLineError++;
                var    result    = regex.Split(line);
                string errorLine = "";
                FingerTimeSheetTmpErrorModel fingerTimeSheetTmpError = new FingerTimeSheetTmpErrorModel();
                if (result.Count() != 7)
                {
                    fingerTimeSheetTmpError.Error = MessageSystem.ErrorInvalidDataFile;
                    outListTimeSheetError.Add(fingerTimeSheetTmpError);
                    continue;
                }
                else
                {
                    int      outInt;
                    DateTime outDateTime;
                    if (!int.TryParse(result[0], out outInt))
                    {
                        errorLine = MessageSystem.InvalidDataAccNo;
                    }
                    if (_fingerMachineUserService.GetFingerMachineUserById(result[0]) == null)
                    {
                        errorLine = MessageSystem.InvalidDataAccNoNotExits;
                    }
                    if (!DateTime.TryParse(result[1], out outDateTime))
                    {
                        errorLine = string.IsNullOrEmpty(errorLine) ? MessageSystem.InvalidDate : errorLine + CommonConstants.POINT + MessageSystem.InvalidDate;
                    }
                    if (!DateTime.TryParse(result[1], out outDateTime))
                    {
                        errorLine = string.IsNullOrEmpty(errorLine) ? MessageSystem.InvalidDate : errorLine + CommonConstants.POINT + MessageSystem.InvalidDate;
                    }
                    if (!int.TryParse(result[3], out outInt))
                    {
                        errorLine = string.IsNullOrEmpty(errorLine) ? MessageSystem.InvalidFingerNumber : errorLine + CommonConstants.POINT + MessageSystem.InvalidFingerNumber;
                    }
                    if (result[4].Length > 50)
                    {
                        errorLine = string.IsNullOrEmpty(errorLine) ? MessageSystem.InvalidAccountName : errorLine + CommonConstants.POINT + MessageSystem.InvalidAccountName;
                    }
                    //if (AppUserManager.FindByNameAsync(result[4]).Result == null)
                    //    errorLine = string.IsNullOrEmpty(errorLine) ? MessageSystem.InvalidDataAccNamNotExits : errorLine + CommonConstants.POINT + MessageSystem.InvalidDataAccNamNotExits;
                    if (!string.IsNullOrEmpty(errorLine))
                    {
                        fingerTimeSheetTmpError.UserNo       = result[0];
                        fingerTimeSheetTmpError.Date         = result[1];
                        fingerTimeSheetTmpError.NumberFinger = result[3];
                        fingerTimeSheetTmpError.UserName     = result[4];
                        fingerTimeSheetTmpError.Error        = errorLine;
                        outListTimeSheetError.Add(fingerTimeSheetTmpError);
                        continue;
                    }
                    FingerTimeSheetTmp fingerTimeSheetTmp = new FingerTimeSheetTmp();
                    fingerTimeSheetTmp.UserNo       = result[0];
                    fingerTimeSheetTmp.Date         = DateTime.Parse(result[1]);
                    fingerTimeSheetTmp.NumberFinger = int.Parse(result[3]);
                    fingerTimeSheetTmp.AccName      = result[4];
                    outListTimeSheet.Add(fingerTimeSheetTmp);
                }
            }
        }