コード例 #1
0
 public ActionResult InsertTripInfo([FromBody] TripInfo data, string username)
 {
     try
     {
         if (data != null && username != null)
         {
             if (data.TripType == null)
             {
                 return(BadRequest(new ResponseData
                 {
                     Code = "403",
                     Message = "Bad request. Invalid trip type"
                 }));
             }
             else
             {
                 if (data.TripType != "Local" && data.TripType != "Line")
                 {
                     return(BadRequest(new ResponseData
                     {
                         Code = "403",
                         Message = "Bad request. Invalid trip type"
                     }));
                 }
                 else
                 {
                     #region Calculate trip id
                     var getTrips = MH.GetListOfObjects(tripinfo_collection, null, null, null, null, true).Result;
                     if (getTrips.Count == 0)
                     {
                         data.TripId = "TP-1";
                     }
                     else
                     {
                         List <long> idList = new List <long>();
                         foreach (var trip in getTrips)
                         {
                             TripInfo tripInfo    = BsonSerializer.Deserialize <TripInfo>(trip);
                             long     seperatedId = Convert.ToInt64(tripInfo.TripId.Substring(tripInfo.TripId.LastIndexOf('-') + 1));
                             idList.Add(seperatedId);
                         }
                         var maxId = idList.Max();
                         data.TripId = "TP-" + (maxId + 1);
                     }
                     #endregion
                     data.IsActive = true;
                     var insert = MH.InsertNewTripInfo(data, tripinfoCollection);
                     if (insert == true)
                     {
                         AL.CreateLog(username, "InsertTripInfo", null, data, activitylog_collection);
                         return(Ok(new ResponseData
                         {
                             Code = "200",
                             Message = "Inserted",
                             Data = data
                         }));
                     }
                     else
                     {
                         return(BadRequest(new ResponseData
                         {
                             Code = "401",
                             Message = "Trip info with same id is already added"
                         }));
                     }
                 }
             }
         }
         else
         {
             return(BadRequest(new ResponseData
             {
                 Code = "402",
                 Message = "Bad request"
             }));
         }
     }
     catch (Exception ex)
     {
         SL.CreateLog("TripController", "InsertTripInfo", ex.Message);
         return(BadRequest(new ResponseData
         {
             Code = "400",
             Message = "Failed",
             Data = ex.Message
         }));
     }
 }