public async Task <ActionResult> UpdateMerchantPackage([FromBody] JObject objJson) { try { if (string.IsNullOrEmpty(Convert.ToString(Request.Headers["api_key"]))) { return(StatusCode(StatusCodes.Status401Unauthorized, (new { Status = "Error", Error = "Invalid ApiKey" }))); } string strMerchantId = MerchantLoginSessionKeys.GetMerchantIdByApiKey(_appDbContext, Guid.Parse(Request.Headers["api_key"])); if (string.IsNullOrEmpty(strMerchantId)) { return(StatusCode(StatusCodes.Status403Forbidden, (new { Status = "Error", Error = "Invalid ApiKey" }))); } var objMerchantPackageDetails = (from mp in _appDbContext.MerchantPackages join mc in _appDbContext.MerchantCampaigns on mp.CampaignID equals mc.Id into DetailsMerchantCampaigns from mc1 in DetailsMerchantCampaigns.DefaultIfEmpty() where (mp.PackageId == Convert.ToInt32(objJson.SelectToken("merchantpackagesid")) && mc1.MerchantId == strMerchantId) select mp); if (objMerchantPackageDetails == null || objMerchantPackageDetails.Count() <= 0) { return(StatusCode(StatusCodes.Status401Unauthorized, (new { Status = "Error", Error = "Package doesn’t exist or Invalid Merchant." }))); } MerchantPackages objMerchantPackages = new MerchantPackages(); objMerchantPackages.PackageId = Convert.ToInt32(objJson.SelectToken("merchantpackagesid")); objMerchantPackages.PackageTypeID = Convert.ToInt32(objJson.SelectToken("packagetypeid")); objMerchantPackages.Description = Convert.ToString(objJson.SelectToken("description")); objMerchantPackages.Price = Convert.ToDecimal(objJson.SelectToken("price")); _appDbContext.MerchantPackages.Attach(objMerchantPackages); _appDbContext.Entry(objMerchantPackages).Property("PackageTypeID").IsModified = true; _appDbContext.Entry(objMerchantPackages).Property("Description").IsModified = true; _appDbContext.Entry(objMerchantPackages).Property("Price").IsModified = true; int returnVal = await _appDbContext.SaveChangesAsync(); if (returnVal > 0) { return(Ok(new { Status = "OK", Detail = "Merchant Package Updated." })); } else { return(StatusCode(StatusCodes.Status500InternalServerError, (new { Status = "Error", Error = "Internal Server error. Please contact customer support" }))); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, (new { Status = "Error", Error = "Internal Server error. Please contact customer support", SystemError = ex.Message }))); } }
public async Task <ActionResult> ExtendMerchantPackage([FromBody] JObject objJson) { try { if (string.IsNullOrEmpty(Convert.ToString(Request.Headers["api_key"]))) { return(StatusCode(StatusCodes.Status401Unauthorized, (new { Status = "Error", Error = "Invalid ApiKey" }))); } string strMerchantId = MerchantLoginSessionKeys.GetMerchantIdByApiKey(_appDbContext, Guid.Parse(Request.Headers["api_key"])); if (string.IsNullOrEmpty(strMerchantId)) { return(StatusCode(StatusCodes.Status403Forbidden, (new { Status = "Error", Error = "Invalid ApiKey" }))); } var objMerchantPackageDetails = (from mp in _appDbContext.MerchantPackages join mc in _appDbContext.MerchantCampaigns on mp.CampaignID equals mc.Id into DetailsMerchantCampaigns from mc1 in DetailsMerchantCampaigns.DefaultIfEmpty() where (mp.PackageId == Convert.ToInt32(objJson.SelectToken("merchantpackagesid")) && mc1.MerchantId == strMerchantId) select mp).ToList <MerchantPackages>(); if (objMerchantPackageDetails == null || objMerchantPackageDetails.Count() <= 0) { return(StatusCode(StatusCodes.Status401Unauthorized, (new { Status = "Error", Error = "Packages doesn’t exist or Invalid Merchant." }))); } MerchantPackages objMerchantPackages = new MerchantPackages(); objMerchantPackages.CampaignID = objMerchantPackageDetails[0].CampaignID; objMerchantPackages.PackageTypeID = objMerchantPackageDetails[0].PackageTypeID; objMerchantPackages.Description = objMerchantPackageDetails[0].Description; objMerchantPackages.Price = objMerchantPackageDetails[0].Price; objMerchantPackages.CreatedDate = DateTime.UtcNow; objMerchantPackages.StartDate = Convert.ToDateTime(objJson.SelectToken("startdate")); objMerchantPackages.EndDate = Convert.ToDateTime(objJson.SelectToken("enddate")); await _appDbContext.MerchantPackages.AddAsync(objMerchantPackages); int returnVal = await _appDbContext.SaveChangesAsync(); if (returnVal > 0) { return(Ok(new { Status = "OK", Detail = "Duplicate Merchant Package Created." })); } else { return(StatusCode(StatusCodes.Status500InternalServerError, (new { Status = "Error", Error = "Internal Server error. Please contact customer support" }))); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, (new { Status = "Error", Error = "Internal Server error. Please contact customer support", SystemError = ex.Message }))); } }
public async Task <ActionResult> CreateMerchantPackage([FromBody] JObject objJson) { try { if (string.IsNullOrEmpty(Convert.ToString(Request.Headers["api_key"]))) { return(StatusCode(StatusCodes.Status401Unauthorized, (new { Status = "Error", Error = "Invalid ApiKey" }))); } string strMerchantId = MerchantLoginSessionKeys.GetMerchantIdByApiKey(_appDbContext, Guid.Parse(Request.Headers["api_key"])); if (string.IsNullOrEmpty(strMerchantId)) { return(StatusCode(StatusCodes.Status403Forbidden, (new { Status = "Error", Error = "Invalid ApiKey" }))); } var objMerchantCampaignsDetails = _appDbContext.MerchantCampaigns .Where(mc => mc.Id == Convert.ToInt32(objJson.SelectToken("campaignid")) && mc.MerchantId == strMerchantId) .OrderByDescending(t => t.Id).AsNoTracking().FirstOrDefault(); if (objMerchantCampaignsDetails == null) { return(StatusCode(StatusCodes.Status401Unauthorized, (new { Status = "Error", Error = "Campaign doesn’t exist or Invalid Merchant." }))); } MerchantPackages objMerchantPackages = new MerchantPackages(); objMerchantPackages.CampaignID = Convert.ToInt32(objJson.SelectToken("campaignid")); objMerchantPackages.PackageTypeID = Convert.ToInt32(objJson.SelectToken("packagetypeid")); objMerchantPackages.Description = Convert.ToString(objJson.SelectToken("description")); objMerchantPackages.Price = Convert.ToDecimal(objJson.SelectToken("price")); objMerchantPackages.CreatedDate = DateTime.UtcNow; objMerchantPackages.StartDate = objMerchantCampaignsDetails.StartDate; objMerchantPackages.EndDate = objMerchantCampaignsDetails.EndDate; await _appDbContext.MerchantPackages.AddAsync(objMerchantPackages); int returnVal = await _appDbContext.SaveChangesAsync(); if (returnVal > 0) { return(Ok(new { Status = "OK", Detail = "Merchant Package Created." })); } else { return(StatusCode(StatusCodes.Status500InternalServerError, (new { Status = "Error", Error = "Internal Server error. Please contact customer support" }))); } } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, (new { Status = "Error", Error = "Internal Server error. Please contact customer support", SystemError = ex.Message }))); } }