Пример #1
0
 public ActionResult InsertTyreInfo([FromBody] TyreInfo data, string username)
 {
     try
     {
         if (data != null && username != null)
         {
             var checkTyre = MH.GetListOfObjects(tyreinfo_collection, null, null, null, null).Result;
             foreach (var details in checkTyre)
             {
                 var deserializedDetails = BsonSerializer.Deserialize <TyreInfo>(details).PurchaseDetails;
                 if (deserializedDetails.TyreNo == data.PurchaseDetails.TyreNo && deserializedDetails.BrandName == data.PurchaseDetails.BrandName)
                 {
                     alreadyAdded = true;
                 }
             }
             if (alreadyAdded == true)
             {
                 return(BadRequest(new ResponseData
                 {
                     Code = "401",
                     Message = "Tyre with same brand and tyre number is already added"
                 }));
             }
             else
             {
                 #region Calculate tyre id
                 var getTyres = MH.GetListOfObjects(tyreinfo_collection, null, null, null, null).Result;
                 if (getTyres.Count == 0)
                 {
                     data.TyreId = "TRE-1";
                 }
                 else
                 {
                     List <long> idList = new List <long>();
                     foreach (var tyre in getTyres)
                     {
                         TyreInfo tyreInfo    = BsonSerializer.Deserialize <TyreInfo>(tyre);
                         long     seperatedId = Convert.ToInt64(tyreInfo.TyreId.Substring(tyreInfo.TyreId.LastIndexOf('-') + 1));
                         idList.Add(seperatedId);
                     }
                     var maxId = idList.Max();
                     data.TyreId = "TRE-" + (maxId + 1);
                 }
                 #endregion
                 data.IsActive = true;
                 var insert = MH.InsertNewTyreInfo(data, tyreinfoCollection);
                 if (insert == true)
                 {
                     AL.CreateLog(username, "InsertTyreInfo", null, data, activitylog_collection);
                     return(Ok(new ResponseData
                     {
                         Code = "200",
                         Message = "Inserted",
                         Data = data
                     }));
                 }
                 else
                 {
                     return(BadRequest(new ResponseData
                     {
                         Code = "402",
                         Message = "Tyre info with same id is already added"
                     }));
                 }
             }
         }
         else
         {
             return(BadRequest(new ResponseData
             {
                 Code = "403",
                 Message = "Bad Request"
             }));
         }
     }
     catch (Exception ex)
     {
         SL.CreateLog("TyreController", "InsertTyreInfo", ex.Message);
         return(BadRequest(new ResponseData
         {
             Code = "400",
             Message = "Failed",
             Data = ex.Message
         }));
     }
 }