Esempio n. 1
0
 public ActionResult InsertVendorInfo([FromBody] VendorInfo data, string username)
 {
     try
     {
         if (data != null && username != null)
         {
             var checkVendor = MH.GetSingleObject(vendorinfo_collection, "VendorName", data.VendorName, "Address", data.Address).Result;
             if (checkVendor != null)
             {
                 return(BadRequest(new ResponseData
                 {
                     Code = "401",
                     Message = "Vendor with same vendor name and address is already added"
                 }));
             }
             else
             {
                 #region Calculate vendor id
                 var getVendors = MH.GetListOfObjects(vendorinfo_collection, null, null, null, null).Result;
                 if (getVendors.Count == 0)
                 {
                     data.VendorId = "VD-1";
                 }
                 else
                 {
                     List <long> idList = new List <long>();
                     foreach (var vendor in getVendors)
                     {
                         VendorInfo vendorInfo  = BsonSerializer.Deserialize <VendorInfo>(vendor);
                         long       seperatedId = Convert.ToInt64(vendorInfo.VendorId.Substring(vendorInfo.VendorId.LastIndexOf('-') + 1));
                         idList.Add(seperatedId);
                     }
                     var maxId = idList.Max();
                     data.VendorId = "VD-" + (maxId + 1);
                 }
                 #endregion
                 data.IsActive = true;
                 var insert = MH.InsertNewVendorInfo(data, vendorinfoCollection);
                 if (insert == true)
                 {
                     AL.CreateLog(username, "InsertVendorInfo", null, data, activitylog_collection);
                     return(Ok(new ResponseData
                     {
                         Code = "200",
                         Message = "Inserted",
                         Data = data
                     }));
                 }
                 else
                 {
                     return(BadRequest(new ResponseData
                     {
                         Code = "402",
                         Message = "Vendor info with same id is already added"
                     }));
                 }
             }
         }
         else
         {
             return(BadRequest(new ResponseData
             {
                 Code = "403",
                 Message = "Bad Request"
             }));
         }
     }
     catch (Exception ex)
     {
         SL.CreateLog("VendorController", "InsertVendorInfo", ex.Message);
         return(BadRequest(new ResponseData
         {
             Code = "400",
             Message = "Failed",
             Data = ex.Message
         }));
     }
 }