public async Task <Result <TickFormulaErrorCodes> > UpdateAsync(ITickFormula model) { var entity = TickFormulaEntity.Create(model); using (var context = _contextFactory.CreateDataContext()) { context.TickFormulas.Update(entity); try { await context.SaveChangesAsync(); return(new Result <TickFormulaErrorCodes>()); } catch (DbUpdateConcurrencyException e) { if (e.Message.Contains(DoesNotExistException)) { return(new Result <TickFormulaErrorCodes>(TickFormulaErrorCodes.TickFormulaDoesNotExist)); } throw; } } }
public async Task <Result <TickFormulaErrorCodes> > DeleteAsync(string id) { using (var context = _contextFactory.CreateDataContext()) { var entity = new TickFormulaEntity { Id = id }; context.Attach(entity); context.TickFormulas.Remove(entity); try { await context.SaveChangesAsync(); return(new Result <TickFormulaErrorCodes>()); } catch (DbUpdateConcurrencyException e) { if (e.Message.Contains(DoesNotExistException)) { return(new Result <TickFormulaErrorCodes>(TickFormulaErrorCodes.TickFormulaDoesNotExist)); } throw; } } }
public async Task <Result <TickFormulaErrorCodes> > AddAsync(ITickFormula model) { var entity = TickFormulaEntity.Create(model); using (var context = _contextFactory.CreateDataContext()) { context.TickFormulas.Add(entity); try { await context.SaveChangesAsync(); return(new Result <TickFormulaErrorCodes>()); } catch (DbUpdateException e) { if (e.InnerException is SqlException sqlException && sqlException.Number == MsSqlErrorCodes.PrimaryKeyConstraintViolation) { return(new Result <TickFormulaErrorCodes>(TickFormulaErrorCodes.AlreadyExist)); } throw; } } }