Beispiel #1
0
        private List <Transfer> GetTransfersForTheseIDs(List <string> ids, string userTargetFolder)
        {
            using (var dbc = new QCVEntities())
            {
                var rawList = new List <DoorLineData>();

                foreach (var s in ids)
                {
                    var id  = Convert.ToInt32(s);
                    var raw = dbc.DoorLineDatas.FirstOrDefault(x => x.ID == id);

                    if (null != raw)
                    {
                        rawList.Add(raw);
                    }
                }

                var originalRootPath = ConfigurationManager.AppSettings["TMMIDIRECTORY"];
                var targetRootPath   = ConfigurationManager.AppSettings["TMMIDownloadDIRECTORY"] + "\\" + userTargetFolder;
                var specDetails      = dbc.SpecDetails.ToList();
                return((from raw in rawList
                        join s in specDetails
                        on raw.SPEC_NAME.ToLower().Trim()
                        equals s.SpecName.ToLower().Trim()
                        select new Transfer(raw.ID, TrimLeadingZero(raw.SEQ_NUM), raw.BODY_NUM, raw.VIN, s.ExeNumber, s.Camera,
                                            originalRootPath, s.SpecName, raw.CONVERT_VALUE_EXPECT, targetRootPath)
                        ).ToList());
            }
        }
Beispiel #2
0
 public List <TrackingStatu> GetTrackingStatuses()
 {
     using (var db = new QCVEntities())
     {
         return(db.TrackingStatus.ToList());
     }
 }
Beispiel #3
0
        public List <DoorDataDto> GetDoorLineData()
        {
            using (var db = new QCVEntities())
            {
                //const string time = "%2006:30:00";
                //var startDate = DateTime.Today.AddDays(-1).ToString("MM/dd/yyyy");
                //var endDate = DateTime.Today.ToString("MM/dd/yyyy");
                var    tasks    = db.TaskDetails.ToList();
                string apiUri   = string.Empty;
                var    list     = new List <DoorDataDto>();
                var    starting = DateTime.Now.AddHours(-2);
                var    ending   = starting.AddHours(1);

                foreach (var task in tasks)
                {
                    //apiUri = task.Query + "START_DATE=" + startDate + time + "&END_DATE=" + endDate + time;
                    apiUri = task.Query + "START_DATE=" + starting.ToString("MM/dd/yyyy HH:mm") + "&END_DATE=" +
                             ending.ToString("MM/dd/yyyy HH:mm");

                    using (var client = new HttpClient())
                    {
                        try
                        {
                            var currentTask = client.GetAsync(apiUri);
                            var json        = currentTask.Result.Content.ReadAsStringAsync().Result;

                            var jsonData    = JsonConvert.DeserializeObject <dynamic>(json);
                            var icsJson     = JsonConvert.SerializeObject(jsonData["ICS_DATA"]);
                            var icsJsonData = JsonConvert.DeserializeObject <dynamic>(icsJson);


                            foreach (var datum in icsJsonData)
                            {
                                var dataJson = JsonConvert.SerializeObject(datum["DATA"]);
                                list.Add(JsonConvert.DeserializeObject <DoorDataDto>(dataJson));
                            }
                        }
                        catch (Exception e)
                        {
                            var doorSvc = new DoorDataService();
                            doorSvc.LogException(e, "WebApiService.GetDoorLineData");

                            Console.WriteLine("\n** An error has occurred: " + e.Message);
                            Console.WriteLine("** Inner Exception: " + e.InnerException);

                            return(null);
                        }
                    }
                }

                return(list);
            }
        }
Beispiel #4
0
        public bool UpdateTrackingStatus(string doorLineDataId, string trackingStatus, string currentUser, out string errorMsg)
        {
            errorMsg = "";

            try
            {
                using (var db = new QCVEntities())
                {
                    int convertedDoorLineDataId = 0;
                    if (int.TryParse(doorLineDataId, out convertedDoorLineDataId))
                    {
                        var record = db.DoorLineDatas.FirstOrDefault(d => d.ID == convertedDoorLineDataId);
                        if (record != null)
                        {
                            record.TrackingStatusID = Convert.ToInt32(trackingStatus);
                            record.LastUpdatedBy    = StripDomainPrefix(currentUser);
                            record.LastUpdated      = DateTime.Now;
                            db.SaveChanges();
                        }
                        else
                        {
                            errorMsg = "Unable to update Door Line Data.  Record not found";
                            return(false);
                        }
                    }
                    else
                    {
                        errorMsg = "Unable to update Door Line Data.  Record not found";
                        return(false);
                    }
                }
            }
            catch (Exception e)
            {
                errorMsg = "Unable to update Door Line Data: " + e.Message;
                return(false);
            }

            return(true);
        }
Beispiel #5
0
        public List <DoorLineDataDTO> GetDoorLineDataSearchResults(string namc, string plant, string line, DateTime startDate, DateTime endDate, bool displayAllData = false)
        {
            var searchedDoorLineData = new List <DoorLineDataDTO>();

            if (displayAllData)
            {
                using (var db = new QCVEntities())
                {
                    IEnumerable <GetDoorLineDataByForSpan_Result> list = db.GetDoorLineDataByForSpan(startDate, endDate).ToList();

                    if (!string.IsNullOrEmpty(namc))
                    {
                        list = list.Where(l => l.NAMC.ToLower() == namc.ToLower()).ToList();
                    }

                    if (!string.IsNullOrEmpty(plant))
                    {
                        list = list.Where(l => l.PLANT_NUM.ToLower() == plant.ToLower()).ToList();
                    }

                    foreach (var record in list)
                    {
                        var dto = new DoorLineDataDTO
                        {
                            ID                 = record.ID,
                            Namc               = record.NAMC,
                            Model              = record.MODEL,
                            VIN                = record.VIN,
                            SeqNum             = TrimLeadingZero(record.SEQ_NUM),
                            BodyNum            = record.BODY_NUM,
                            PlantNum           = record.PLANT_NUM,
                            Terminal           = record.TERMINAL,
                            SpecName           = record.SPEC_NAME,
                            ConvertValueExpect = record.CONVERT_VALUE_EXPECT,
                            ConvertValueSelect = record.CONVERT_VALUE_SELECT,
                            IsCorrect          = record.IS_CORRECT,
                            InspectionTime     = record.INSPECTION_TIME,
                            ProdDate           = record.PROD_DATE,
                            DefectId           = record.DEFECT_ID,
                            ImportedOn         = record.IMPORTED_ON,
                            TrackingStatusID   = record.TrackingStatusID
                        };

                        searchedDoorLineData.Add(dto);
                    }
                }
            }
            else //only the incorrect data, this is what they want more often than not
            {
                using (var dbctx = new QCVEntities())
                {
                    var list = dbctx.IncorrectDatas.Where(x => x.INSPECTION_TIME >= startDate && x.INSPECTION_TIME <= endDate).ToList();
                    IEnumerable <SpecDetail> specDetails = dbctx.SpecDetails.Where(x => x.TaskDetailID == (int)TaskDetails.DoorLine).ToList();



                    if (!string.IsNullOrEmpty(namc))
                    {
                        list = list.Where(l => l.NAMC.ToLower() == namc.ToLower()).ToList();
                    }

                    if (!string.IsNullOrEmpty(plant))
                    {
                        list = list.Where(l => l.PLANT_NUM.ToLower() == plant.ToLower()).ToList();
                    }

                    searchedDoorLineData = (from record in list
                                            join s in specDetails on record.SPEC_NAME.ToLower().Trim() equals s.SpecName.ToLower()
                                            .Trim()
                                            select new DoorLineDataDTO()
                    {
                        ID = record.ID,
                        Namc = record.NAMC,
                        Model = record.MODEL,
                        VIN = record.VIN,
                        SeqNum = record.SEQ_NUM,
                        BodyNum = record.BODY_NUM,
                        PlantNum = record.PLANT_NUM,
                        Terminal = record.TERMINAL,
                        SpecName = record.SPEC_NAME,
                        ConvertValueExpect = record.CONVERT_VALUE_EXPECT,
                        ConvertValueSelect = record.CONVERT_VALUE_SELECT,
                        IsCorrect = record.IS_CORRECT,
                        InspectionTime = record.INSPECTION_TIME,
                        ProdDate = record.PROD_DATE,
                        DefectId = record.DEFECT_ID,
                        ImportedOn = record.IMPORTED_ON,
                        TrackingStatusID = record.TrackingStatusID,
                        ImagePath = ConfigurationManager.AppSettings["TMMIDIRECTORY"] + "\\" + record.SEQ_NUM + "_" + record.BODY_NUM + "_" + record.VIN + "\\" + record.SEQ_NUM + "_" + record.BODY_NUM + "_" + record.VIN + "_E" + s.ExeNumber + "_C" + s.Camera + ".jpg",
                        ImageName = record.SEQ_NUM + "_" + record.BODY_NUM + "_" + record.VIN + "_E" + s.ExeNumber + "_C" + s.Camera + ".jpg"
                    }
                                            ).ToList();
                }
            }

            return(searchedDoorLineData);
        }