Ejemplo n.º 1
0
        public override ErrorMessage FinishSpecifications(string fuelName, bool isNew)
        {
            ErrorMessage errorMsg = null;

            if (materialComponentList.Count < 1)
            {
                string msg = "The specified fuel contains no component.";
                errorMsg = new ErrorMessage(ErrorType.SimpleGeneric, "Inappropriate Specification", msg);
            }
            else
            {
                DoNormalization();

                if (isNew)
                {
                    if (catalog.IsInCatalog(fuelName))
                    {
                        errorMsg = new ErrorMessage(ErrorType.SimpleGeneric, StringConstants.INAPPROPRIATE_SPECIFIED_VALUE, "There is already in the catalog a fuel called " + fuelName);
                    }
                    else
                    {
                        fossilFuel = new FossilFuel(fuelName, materialComponentList, fossilFuelType, true);
                        errorMsg   = catalog.AddFossilFule(fossilFuel);
                    }
                }
                else
                {
                    if (!fuelName.Equals(fossilFuel.Name) && catalog.GetFossilFuel(fuelName) != null)
                    {
                        errorMsg = new ErrorMessage(ErrorType.SimpleGeneric, StringConstants.INAPPROPRIATE_SPECIFIED_VALUE, "There is already in the catalog a fuel called " + fuelName);
                    }
                    else
                    {
                        try
                        {
                            fossilFuel.Update(fuelName, materialComponentList);
                            errorMsg = catalog.UpdateFossilFuel(fossilFuel);
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
            }

            return(errorMsg);
        }