Exemplo n.º 1
0
 public ActionResult InsertVehicleInfo([FromBody] VehicleInfo data, string username)
 {
     try
     {
         if (data != null && username != null)
         {
             var check = MH.CheckForData(vehicleinfo_collection, "VehicleNo", data.VehicleNo, null, null).Result;
             if (check == false)
             {
                 #region Calculate Vehicle id
                 var getVehicles = MH.GetListOfObjects(vehicleinfo_collection, null, null, null, null).Result;
                 if (getVehicles.Count == 0)
                 {
                     data.VehicleId = "VC-1";
                 }
                 else
                 {
                     List <long> idList = new List <long>();
                     foreach (var vehicle in getVehicles)
                     {
                         VehicleInfo vehicleInfo = BsonSerializer.Deserialize <VehicleInfo>(vehicle);
                         long        seperatedId = Convert.ToInt64(vehicleInfo.VehicleId.Substring(vehicleInfo.VehicleId.LastIndexOf('-') + 1));
                         idList.Add(seperatedId);
                     }
                     var maxId = idList.Max();
                     data.VehicleId = "VC-" + (maxId + 1);
                 }
                 #endregion
                 data.IsActive = true;
                 var insert = MH.InsertNewVehicleInfo(data, vehicleinfoCollection);
                 if (insert == true)
                 {
                     return(Ok(new ResponseData
                     {
                         Code = "200",
                         Message = "Inserted",
                         Data = data
                     }));
                 }
                 else
                 {
                     return(BadRequest(new ResponseData
                     {
                         Code = "401",
                         Message = "Vehicle info with same id is already added"
                     }));
                 }
             }
             else
             {
                 return(BadRequest(new ResponseData
                 {
                     Code = "402",
                     Message = "Vehicle with same reg number is found"
                 }));
             }
         }
         else
         {
             return(BadRequest(new ResponseData
             {
                 Code = "403",
                 Message = "Bad Request"
             }));
         }
     }
     catch (Exception ex)
     {
         SL.CreateLog("VehicleController", "InsertVehicleInfo", ex.Message);
         return(BadRequest(new ResponseData
         {
             Code = "400",
             Message = "Failed",
             Data = ex.Message
         }));
     }
 }