public async Task <IActionResult> Create([FromBody] AdDesignModels.Create.Request request) { // Check session validation if (await CheckSessionValidationAndSignOutAsync() == false) { return(APIResponse(ErrorCode.InvalidSession)); } // Check valid parameters if (request == null || request.IsValidParameters() == false) { return(APIResponse(ErrorCode.InvalidParameters)); } // Check validation CampaignData campaignData = new CampaignData(); if (await campaignData.FromDBAsync(request.CampaignId) == false) { return(APIResponse(ErrorCode.InvalidParameters)); } if (campaignData.UserId != UserId) { return(APIResponse(ErrorCode.BadRequest)); } AdResourceData adResourceData = new AdResourceData(); if (await adResourceData.FromDBAsync(request.AdResourceId) == false) { return(APIResponse(ErrorCode.InvalidParameters)); } // Insert to db var insertQuery = new DBQuery_AdDesign_Insert(); var item = insertQuery.IN.Item; request.Copy(item); item.UserId = UserId; item.AdDesignId = IDGenerator.NewAdDesignId; item.AdDesignType = adResourceData.AdDesignType; if (await DBThread.Instance.ReqQueryAsync(insertQuery) == false) { return(APIResponse(ErrorCode.DatabaseError)); } // Response var response = new AdDesignModels.Create.Response(); if (await response.FromDBAsync(item.AdDesignId) == false) { return(APIResponse(ErrorCode.DatabaseError)); } return(Success(response)); }
public async Task <IActionResult> Modify([FromBody] CampaignModels.Modify.Request request) { // Check session validation if (await CheckSessionValidationAndSignOutAsync() == false) { return(APIResponse(ErrorCode.InvalidSession)); } // Check valid parameters if (request.IsValidParameters() == false) { return(APIResponse(ErrorCode.InvalidParameters)); } DBKey campaignId = request.CampaignId; CampaignData campaignData = new CampaignData(); // Check validation if (await campaignData.FromDBAsync(campaignId) == false) { return(APIResponse(ErrorCode.DatabaseError)); } if (UserId != campaignData.UserId) { return(APIResponse(ErrorCode.BadRequest)); } // Update to db var updateQuery = new DBQuery_Campaign_Update(); var item = updateQuery.IN.Item; request.Copy(item); item.UserId = UserId; if (await DBThread.Instance.ReqQueryAsync(updateQuery) == false) { return(APIResponse(ErrorCode.DatabaseError)); } // Response var response = new CampaignModels.Modify.Response(); if (await response.FromDBAsync(item.CampaignId) == false) { return(APIResponse(ErrorCode.DatabaseError)); } return(Success(response)); }
public async Task <IActionResult> Delete([FromBody] CampaignModels.Delete.Request request) { // Check session validation if (await CheckSessionValidationAndSignOutAsync() == false) { return(APIResponse(ErrorCode.InvalidSession)); } // Check valid parameters if (request.IsValidParameters() == false) { return(APIResponse(ErrorCode.InvalidParameters)); } DBKey campaignId = request.CampaignId; CampaignData campaignData = new CampaignData(); // Check validation if (await campaignData.FromDBAsync(campaignId) == false) { return(APIResponse(ErrorCode.DatabaseError)); } if (UserId != campaignData.UserId) { return(APIResponse(ErrorCode.BadRequest)); } // Delete from db var deleteQuery = new DBQuery_Campaign_Delete(); deleteQuery.IN.DBKey = request.CampaignId; if (await DBThread.Instance.ReqQueryAsync(deleteQuery) == false) { return(APIResponse(ErrorCode.DatabaseError)); } // Response return(Success()); }