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> > 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; } } }