//public IQueryable<WMS_GESTIONE_UDC> WMS_GESTIONE_UDC
        //{
        //    get
        //    {
        //        return itileContext.WMS_GESTIONE_UDC;
        //    }
        //}

        public IEnumerable <ItileInputs> ConvertToItileInputs(ItileQueryInput input)
        {
            var existData = context.ItileInputs.Where(a => a.JobId == input.JobId);

            if (existData != null)
            {
                foreach (var each in existData)
                {
                    context.ItileInputs.Remove(each);
                }
                context.SaveChanges();
            }
            var conn = new ITILE();
            List <ItileInputs> returnList = new List <ItileInputs>();
            //var myDataList = conn.Database.SqlQuery<WMS_GESTIONE_UDC>
            //("SELECT * FROM ITILE.WMS_GESTIONE_UDC").ToList();
            var myDataList = itileContext.WMS_GESTIONE_UDC_PHYSICAL.ToList();
            var job        = context.Jobs.FirstOrDefault(a => a.Id == input.JobId);

            if (job.WarehouseType == 1) //WHD
            {
                myDataList = myDataList.Where(a => a.AREA.StartsWith("D.")).ToList();
            }
            else
            {
                myDataList = myDataList.Where(a => a.AREA.StartsWith("E.")).ToList();
            }
            myDataList.ForEach(each =>
            {
                //var um = itileContext.T_ARTICOLI_CONF_FLAT.FirstOrDefault(a => a.ACF_IS_STOCK && a.ACF_AR_CODICE == each.ARTICOLO_CODICE);
                var itileInput = new ItileInputs
                {
                    JobId   = input.JobId,
                    JobName = job.JobName,
                    Area    = each.AREA,
                    AttributeDescription = each.ATTRIBUTO_DESCRIZIONE,
                    AttributeID          = each.ATTRIBUTO_CODICE,
                    Batch                = each.LOTTO,
                    CreationDate         = each.DATA_CREAZIONE,
                    DaysFromIntroduction = Convert.ToInt32((DateTime.Now - each.DATA_CREAZIONE).TotalDays),
                    MaterialCode         = each.ARTICOLO_CODICE,
                    MaterialDescription  = each.ARTICOLO_DESCRIZIONE,
                    Position             = each.POSIZIONE,
                    Qty        = each.QTA_INIZIALE.HasValue ? each.QTA_INIZIALE.Value : 0,
                    QtyUMStock = each.QTA_SECONDARIA.HasValue ? each.QTA_SECONDARIA.Value : 0,
                    Tag        = each.TAG,
                    UL         = each.UDC,
                    UM         = each.UM_ALTERNATIVE,
                    UMStock    = each.UM_CUSTOM,
                    SavedWhen  = DateTime.Now
                };
                returnList.Add(itileInput);
                context.ItileInputs.Add(itileInput);
            });
            context.SaveChanges();
            return(returnList);
        }
Example #2
0
        public List <ItileInputs> ParseExcelItile(Stream data)
        {
            List <ItileInputs> resultList = new List <ItileInputs>();

            xlWork = new XLWorkbook(data);
            var workSheet = xlWork.Worksheet(1);
            int column    = 2;
            int row       = 6;
            int?jobId     = 0;

            while (workSheet.Cell(row, column).GetString() != "")
            {
                ItileInputs eachRowResult = new ItileInputs();

                eachRowResult.JobName = workSheet.Cell(row, column++).GetString();
                if (jobId == 0)
                {
                    jobId = _repo.Jobs.FirstOrDefault(a => a.JobName == eachRowResult.JobName)?.Id;
                }
                eachRowResult.JobId = jobId.HasValue ? jobId.Value : 0;
                eachRowResult.PhysicalDocumentNo     = workSheet.Cell(row, column++).GetString();
                eachRowResult.PhysicalDocumentBookNo = workSheet.Cell(row, column++).GetString();
                eachRowResult.UL                  = workSheet.Cell(row, column++).GetString();
                eachRowResult.Area                = workSheet.Cell(row, column++).GetString();
                eachRowResult.Position            = workSheet.Cell(row, column++).GetString();
                eachRowResult.MaterialCode        = workSheet.Cell(row, column++).GetString();
                eachRowResult.MaterialDescription = workSheet.Cell(row, column++).GetString();
                eachRowResult.Batch               = workSheet.Cell(row, column++).GetString();
                decimal qty = 0;
                Decimal.TryParse(workSheet.Cell(row, column++).GetString(), out qty);
                eachRowResult.Qty = qty;
                eachRowResult.UM  = workSheet.Cell(row, column++).GetString();
                Decimal.TryParse(workSheet.Cell(row, column++).GetString(), out qty);
                eachRowResult.QtyUMStock           = qty;
                eachRowResult.UMStock              = workSheet.Cell(row, column++).GetString();
                eachRowResult.AttributeID          = workSheet.Cell(row, column++).GetString();
                eachRowResult.AttributeDescription = workSheet.Cell(row, column++).GetString();
                DateTime date = DateTime.Now;
                DateTime.TryParse(workSheet.Cell(row, column++).GetString(), out date);
                eachRowResult.CreationDate = date;
                int days = 0;
                Int32.TryParse(workSheet.Cell(row, column++).GetString(), out days);
                eachRowResult.DaysFromIntroduction = days;
                eachRowResult.Tag = workSheet.Cell(row, column++).GetString();
                resultList.Add(eachRowResult);
                row++;
                column = 2;
            }
            return(resultList);
        }