Skip to content

Instantly share code, notes, and snippets.

@jipengxiang
Last active February 25, 2022 21:42
Show Gist options
  • Save jipengxiang/32dda180721ba5f624260ec35633668b to your computer and use it in GitHub Desktop.
Save jipengxiang/32dda180721ba5f624260ec35633668b to your computer and use it in GitHub Desktop.
(1) PLease upload your client side code to call talents API
(2) AWS url for web API if you have PUBLISHED your web api to AWS
or url to S3 image
(3) Sequence diagram for calling Stripe API
or calling global weather web service
@S0methingSimple
Copy link

  1. AJAX Timeout Retry

$.ajax({ type: 'GET', url: url, async: false, contentType: "application/json", jsonpCallback: callback, dataType: 'jsonp', tryCount: 0, retryLimit: 3, success: function (json) { console.dir('success'); }, error: function (xhr, textStatus, errorThrown ) { if (textStatus == 'timeout') { this.tryCount++; if (this.tryCount <= this.retryLimit) { sleep(1000); $.ajax(this); return; } return; } console.log(e.message); } });

  1. Entity Framework (DotNet Core)

2.1 Startup - Specify services used
public void ConfigureServices(IServiceCollection services) { services.AddDbContext<TalentDbContext>( options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddScoped<ITalentRepository, SqlTalentRepository>(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }

2.2 TalentDbContext - Create DB Context

`
public class TalentDbContext : DbContext
{
public TalentDbContext(DbContextOptions options) : base(options) {}

    public DbSet<Talent> Talents { get; set; }
}

`

2.3 SqlTalentRepository - DB CRUD operations

`
public class SqlTalentRepository : ITalentRepository
{
private TalentDbContext _context;

    public SqlTalentRepository(TalentDbContext context)
    {
        _context = context;
    }

    public void Post(Talent inputTalent)
    {
        _context.Add(inputTalent);
        _context.SaveChanges();
    }

    public IEnumerable<Talent> GetAll() => _context.Talents;

    public Talent Get(int inputId) => _context.Talents.FirstOrDefault(t => t.Id == inputId);

    public void Put(int inputId, Talent inputTalent)
    {
        Talent talent = _context.Talents.FirstOrDefault(x => x.Id == inputId);
        if (talent != null)
        {
            _context.Talents.Remove(talent);
            _context.Talents.Add(inputTalent);
        }
        _context.SaveChanges();
    }
    public void Delete(int inputId)
    {
        Talent talent = _context.Talents.FirstOrDefault(x => x.Id == inputId);
        _context.Talents.Remove(talent);
        _context.SaveChanges();
    }
}

`
3. AJAX Loading

$(document).ajaxStart(function () { $("#loading").show(); }).ajaxStop(function () { $("#loading").hide(); });

@WeeA5A3
Copy link

WeeA5A3 commented Jan 18, 2019

  1. Incorrect data type creating products:
    picture1

  2. Sequence Diagram Stripe:
    sequence_stripe

@Timelessly
Copy link

Lim Wen Hui 1646348

public class TalentsController : ApiController
{
static readonly TalentRepository repository = new TalentRepository();
[EnableCors(origins: "", headers: "", methods: "*")]
// download Microsoft.AspNet.Cors package library
[Route("api/talents")]
public IEnumerable GetAllTalents()
{
return repository.GetAll();
}

    [Route("api/talents/{id:int}")]
    public Talent GetTalent(int id)
    {
        Talent item = repository.Get(id);
        if (item == null)
        {
            throw new HttpResponseException(HttpStatusCode.NotFound);
        }
        return item;
    }
}
  1. https://s3-ap-southeast-1.amazonaws.com/cscassignment/talent

web payment stripe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment