public IActionResult GetComparisonById([FromRoute] int Id)
 {
     try
     {
         //if id is -ve then throws exception
         if (Id <= 0)
         {
             throw new QuantityMeasurmentException(QuantityMeasurmentException.ExceptionType.ZERO_OR_NEGATIVE_VALUE_EXCEPTION, "please enter a non zero and positive id");
         }
         //if id is match comparison data return matching data
         CamparisonsModel Data = MeasurmentBL.GetComparison(Id);
         //if data is  null then throws exception
         if (Data == null)
         {
             throw new QuantityMeasurmentException(QuantityMeasurmentException.ExceptionType.NULL_VALUE_EXCEPTION, "nothing for get");
         }
         //if data is not null then send ok result if not success then return false result
         else if (Data != null)
         {
             return(Ok(new { success = true, Massage = "data fetch successful", data = Data }));
         }
         else
         {
             return(Ok(new { success = true, Massage = "data fetch failed" }));
         }
     }
     catch (QuantityMeasurmentException e)
     {
         //exception catch in this block and send bad request
         return(BadRequest(new { success = false, Massage = e.Message }));
     }
 }
 public IActionResult AddComparison(CamparisonsModel Data)
 {
     try
     {
         //if data is null return exception
         if (Data == null)
         {
             throw new QuantityMeasurmentException(QuantityMeasurmentException.ExceptionType.NULL_VALUE_EXCEPTION, "Any field of data is null please enter value");
         }
         //if value 1 and value 2 is -ve or zero and not temperatur unit then return exception
         if (Data.ValueOne <= 0 && Data.ValueTwo <= 0 && !(Data.ValueOneUnit.Equals("FAHRENHEIT") || Data.ValueTwoUnit.Equals("CELSIUS")))
         {
             throw new QuantityMeasurmentException(QuantityMeasurmentException.ExceptionType.ZERO_OR_NEGATIVE_VALUE_EXCEPTION, "please enter non zero and positive value ");
         }
         //if value 1 and value 2 is not zero then return ok true otherwise return false
         else if ((Data.ValueOne != 0) && (Data.ValueTwo != 0))
         {
             //after comparison done then return data
             Data = MeasurmentBL.AddComparison(Data);
             return(Ok(new { success = true, Massage = "conversion is successful", data = Data }));
         }
         else
         {
             return(Ok(new { success = false, Massage = "conversion is fail", data = Data }));
         }
     }
     catch (Exception e)
     {
         //exception catch in this block and send bad request
         return(BadRequest(new { success = false, Massage = e.Message }));
     }
 }
 public IActionResult DeleteComparison([FromRoute] int Id)
 {
     try
     {
         //idf id match then return deleted data
         CamparisonsModel Data = MeasurmentBL.DeleteComparisone(Id);
         //if id is -ve then throws exception
         if (Id <= 0)
         {
             throw new QuantityMeasurmentException(QuantityMeasurmentException.ExceptionType.ZERO_OR_NEGATIVE_VALUE_EXCEPTION, "please enter non zero and positive id ");
         }
         //if data is not null then send ok result if not success then return false result
         if (Data != null)
         {
             return(Ok(new { success = true, Massage = "deletion is successful", data = Data }));
         }
         else
         {
             return(Ok(new { success = true, Massage = "deletion is fail" }));
         }
     }
     catch (QuantityMeasurmentException e)
     {
         //exception catch in this block and send bad request
         return(BadRequest(new { success = false, Massage = e.Message }));
     }
 }
 /// <summary>
 /// get all comparisons related id
 /// </summary>
 /// <param name="Id"></param>
 /// <returns></returns>
 public CamparisonsModel GetComparison(int Id)
 {
     try
     {
         //first find id and return related data
         CamparisonsModel Data = dBContext.Comparisons.Find(Id);
         return(Data);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
示例#5
0
        /// <summary>
        /// compare two value and return equal or not
        /// </summary>
        /// <param name="Data"></param>
        /// <returns></returns>

        public CamparisonsModel AddComparison(CamparisonsModel Data)
        {
            try
            {
                //it call compare method and return equal or not
                Data.Result = Compare(Data);
                //call to add methode to add data in database
                return(this.measurmentRL.AddComparison(Data));
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
 /// <summary>
 /// add comparisons in comparisons table
 /// </summary>
 /// <param name="data"></param>
 /// <returns></returns>
 public CamparisonsModel AddComparison(CamparisonsModel data)
 {
     try
     {
         // add data in comparisons table by using dbcontext
         dBContext.Comparisons.Add(data);
         // exicute this quri by dbcontext
         dBContext.SaveChanges();
         //return data we was added  in database
         return(data);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }
示例#7
0
        public void when_gives_negative_temperature_Comparison_object_then_return_okResult()
        {
            //Creating Model Object.
            var data = new CamparisonsModel()
            {
                ValueOne     = -12,
                ValueOneUnit = "FAHRENHEIT",
                ValueTwo     = -11,
                ValueTwoUnit = "CELSIUS"
            };

            controller.ModelState.AddModelError("OperationType", "Required");
            //Calling Convert Funtion.
            var okReasult = controller.AddComparison(data);

            //Asserting Values.
            Assert.IsType <OkObjectResult>(okReasult);
        }
示例#8
0
        public void when_gives_zero_Comparison_object_then_return_BadRequestObjectResult()
        {
            //Creating Model Object.
            var data = new CamparisonsModel()
            {
                ValueOne     = 0,
                ValueOneUnit = "FEET",
                ValueTwo     = 0,
                ValueTwoUnit = "INCH"
            };

            controller.ModelState.AddModelError("OperationType", "Required");
            //Calling Convert Funtion.
            var okReasult = controller.AddComparison(data);

            //Asserting Values.
            Assert.IsType <BadRequestObjectResult>(okReasult);
        }
示例#9
0
        /// <summary>
        /// compare two value and return equal or not
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        private string Compare(CamparisonsModel data)
        {
            CamparisonsModel comparison = new CamparisonsModel();

            comparison.ValueOne     = data.ValueOne;
            comparison.ValueOneUnit = data.ValueOneUnit;
            comparison.ValueTwo     = data.ValueTwo;
            comparison.ValueTwoUnit = data.ValueTwoUnit;
            comparison.Result       = data.Result;
            //if unit is same and value is same then return equal
            if ((comparison.ValueOneUnit.Equals(comparison.ValueTwoUnit)) && (comparison.ValueOne == comparison.ValueTwo))
            {
                return("Equals");
            }
            //otherwise convert into same unit and compare data if same then return equal otherwise return false
            else
            {
                //concat the two unit and create converted unit
                string unitOne = string.Concat(comparison.ValueOneUnit, "_TO_", comparison.ValueTwoUnit);
                string unitTwo = string.Concat(comparison.ValueTwoUnit);
                //for conversion create object and gives value to model and convert it by calling calculate method
                ConversionsModel ConversionOne = new ConversionsModel();
                ConversionsModel ConversionTwo = new ConversionsModel();
                ConversionOne.Value         = comparison.ValueOne;
                ConversionOne.OperationType = unitOne;
                ConversionTwo.Value         = comparison.ValueTwo;
                ConversionTwo.OperationType = unitTwo;

                //data is return in output variable
                decimal output    = (decimal)Calculate(ConversionOne);
                decimal outputTwo = (decimal)Calculate(ConversionTwo);
                //if both match then return equal otherwise return not equal
                if (output == outputTwo)
                {
                    return("equals");
                }
                else
                {
                    return("not equal");
                }
            }
        }
 /// <summary>
 /// delete related id comparisons
 /// </summary>
 /// <param name="Id"></param>
 /// <returns></returns>
 public CamparisonsModel DeleteComparisone(int Id)
 {
     try
     {
         //first find the record match to the id  then return data related id
         CamparisonsModel Data = dBContext.Comparisons.Find(Id);
         //if id not null then remove this data and exicute quries
         if (Data != null)
         {
             dBContext.Comparisons.Remove(Data);
             dBContext.SaveChanges();
         }
         //return data related id
         return(Data);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
 }