Exemple #1
0
        public IActionResult Get(int id)
        {
            FalShipStores shipStores = _context.FalShipStores.FirstOrDefault(s => s.FalShipStoresId == id);

            if (shipStores == null)
            {
                return(NotFound());
            }
            return(Json(shipStores));
        }
Exemple #2
0
 public IActionResult Update([FromBody] FalShipStores shipStores)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     try
     {
         _context.FalShipStores.Update(shipStores);
         _context.SaveChanges();
         return(Ok());
     }
     catch (Exception e)
     {
         return(BadRequest(e));
     }
 }
        public List <SHIP_STORE_ERRORS> ValidateShipStoreSpreadsheetModel(FalShipStores shipStore)
        {
            var errors = new List <SHIP_STORE_ERRORS>();

            if (string.IsNullOrWhiteSpace(shipStore.ArticleName))
            {
                errors.Add(SHIP_STORE_ERRORS.NAME_OF_ARTICLE);
            }

            bool is_integer = unchecked (shipStore.Quantity == (int)shipStore.Quantity);

            if ((!string.IsNullOrWhiteSpace(shipStore.ArticleName) && shipStore.Quantity == null) || !is_integer)
            {
                errors.Add(SHIP_STORE_ERRORS.QUANTITY);
            }

            return(errors);
        }
Exemple #4
0
        private List <FalShipStores> ConvertToShipStores(ExcelWorksheet worksheet, ShipStoresSheet sheetDefinition, int portCallId)
        {
            var shipStoreList    = new List <FalShipStores>();
            var sequenceNo       = 1;
            var validator        = new ShipStoresSpreadSheetValidator();
            var measurementTypes = new Dictionary <string, int>();

            _context.MeasurementType.ToList().ForEach(x =>
            {
                measurementTypes.Add(x.Name.Split('(', ')')[1], x.MeasurementTypeId);
            });
            try
            {
                for (var rowNum = sheetDefinition.startRow; rowNum <= worksheet.Dimension.End.Row; rowNum++)
                {
                    var NameOfArticle   = worksheet.Cells[rowNum, sheetDefinition.NameOfArticleAddress].Text;
                    var QuantityTxt     = worksheet.Cells[rowNum, sheetDefinition.QuantityAddress].Text;
                    var LocationOnBoard = worksheet.Cells[rowNum, sheetDefinition.LocationOnBoardAddress].Text;
                    var MeasurementType = worksheet.Cells[rowNum, sheetDefinition.MeasurementTypeAddress].Text;

                    if (string.IsNullOrWhiteSpace(NameOfArticle) && string.IsNullOrWhiteSpace(QuantityTxt) && string.IsNullOrWhiteSpace(LocationOnBoard))
                    {
                        continue;
                    }

                    QuantityTxt = QuantityTxt.Replace(",", ".");

                    float.TryParse(QuantityTxt, NumberStyles.Any, CultureInfo.InvariantCulture, out var Quantity);


                    var shipStore = new FalShipStores
                    {
                        SequenceNumber  = sequenceNo,
                        LocationOnBoard = LocationOnBoard,
                        ArticleName     = NameOfArticle,
                        Quantity        = Quantity,
                        PortCallId      = portCallId,
                    };

                    if (!string.IsNullOrWhiteSpace(MeasurementType))
                    {
                        if (measurementTypes.TryGetValue(MeasurementType.Split('(', ')')[1], out var measurementTypeId))
                        {
                            shipStore.MeasurementTypeId = measurementTypeId;
                        }
                        ;
                    }

                    var errors    = validator.ValidateShipStoreSpreadsheetModel(shipStore);
                    var errorMsgs = validator.ConvertErrorsToMsg(errors);

                    shipStore.Errors        = errors;
                    shipStore.ExcelRowNum   = rowNum;
                    shipStore.ErrorMessages = errorMsgs;

                    shipStoreList.Add(shipStore);
                    sequenceNo++;
                }
                return(shipStoreList);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(shipStoreList);
        }