private void DOSalesNumberGenerator(DOSalesModel model) { int YearNow = DateTime.Now.Year; var YearNowString = DateTime.Now.ToString("yy"); DOSalesModel lastLocalData = DbSet.IgnoreQueryFilters().Where(w => w.Type.Equals(model.Type)).OrderByDescending(o => o.AutoIncreament).FirstOrDefault(); if (lastLocalData == null) { model.AutoIncreament = 1; model.DOSalesNo = $"{YearNowString}{model.Type}{model.AutoIncreament.ToString().PadLeft(6, '0')}"; } else { if (YearNow > lastLocalData.CreatedUtc.Year) { model.AutoIncreament = 1; model.DOSalesNo = $"{YearNowString}{model.Type}{model.AutoIncreament.ToString().PadLeft(6, '0')}"; } else { model.AutoIncreament = lastLocalData.AutoIncreament + 1; model.DOSalesNo = $"{YearNowString}{model.Type}{model.AutoIncreament.ToString().PadLeft(6, '0')}"; } } }
public async Task <int> CreateAsync(DOSalesModel model) { int result = 0; using (var transaction = DbContext.Database.BeginTransaction()) { try { int index = 0; do { model.Code = CodeGenerator.Generate(); }while (DbSet.Any(d => d.Code.Equals(model.Code))); DOSalesNumberGenerator(model, index); doSalesLogic.Create(model); index++; result = await DbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(result); }
public async Task <int> CreateAsync(DOSalesModel model) { using (var transaction = dbContext.Database.BeginTransaction()) { try { int index = 0; do { model.Code = CodeGenerator.Generate(); }while (dbSet.Any(d => d.Code.Equals(model.Code))); DOSalesNumberGenerator(model, index); doSalesLogic.CreateModel(model); var row = await dbContext.SaveChangesAsync(); transaction.Commit(); return(row); } catch (Exception ex) { transaction.Rollback(); throw ex; } } }
public void Should_Success_Map_DOSales() { var mapper = new MapperConfiguration(configuration => configuration.AddProfile <DOSalesProfile>()).CreateMapper(); var model = new DOSalesModel(); var vm = mapper.Map <DOSalesViewModel>(model); Assert.True(true); }
private void DOSalesNumberGenerator(DOSalesModel model, int index) { DOSalesModel lastData = dbSet.IgnoreQueryFilters().Where(w => w.DOSalesType.Equals(model.DOSalesType)).OrderByDescending(o => o.AutoIncreament).FirstOrDefault(); int YearNow = DateTime.Now.Year; if (lastData == null) { if (model.DOSalesType == "BL") { index = 28; } else if (model.DOSalesType == "GL") { index = 8; } else if (model.DOSalesType == "AF") { index = 98; } else if (model.DOSalesType == "CN") { index = 14; } else if (model.DOSalesType == "US") { index = 2; } else if (model.DOSalesType == "USS") { index = 19; } else if (model.DOSalesType == "UP") { index = 19; } else if (model.DOSalesType == "UPS") { index = 19; } else if (model.DOSalesType == "UK") { index = 19; } else { index = 0; } model.AutoIncreament = 1 + index; model.DOSalesNo = $"{model.DOSalesType}/{model.AutoIncreament.ToString().PadLeft(6, '0')}"; } else { model.AutoIncreament = lastData.AutoIncreament + (1 + index); model.DOSalesNo = $"{model.DOSalesType}/{model.AutoIncreament.ToString().PadLeft(6, '0')}"; } }
public Task <int> CreateAsync(DOSalesModel model) { do { model.Code = CodeGenerator.Generate(); }while (DbSet.Any(d => d.Code.Equals(model.Code))); DOSalesNumberGenerator(model); doAvalLogic.Create(model); return(DbContext.SaveChangesAsync()); }
public async Task <int> UpdateAsync(int id, DOSalesModel model) { using (var transaction = DbContext.Database.BeginTransaction()) { try { doSalesLogic.UpdateAsync(id, model); } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(await DbContext.SaveChangesAsync()); }
public async Task <int> UpdateAsync(int id, DOSalesModel model) { using (var transaction = dbContext.Database.BeginTransaction()) { try { await doSalesLogic.UpdateModelAsync(id, model); var row = await dbContext.SaveChangesAsync(); transaction.Commit(); return(row); } catch (Exception ex) { transaction.Rollback(); throw ex; } } }
public async Task <int> DeleteAsync(int id) { using (var transaction = DbContext.Database.BeginTransaction()) { try { DOSalesModel model = await doSalesLogic.ReadByIdAsync(id); if (model != null) { DOSalesModel doSalesModel = new DOSalesModel(); doSalesModel = model; await doSalesLogic.DeleteAsync(id); } } catch (Exception e) { transaction.Rollback(); throw new Exception(e.Message); } } return(await DbContext.SaveChangesAsync()); }
public Task <int> UpdateAsync(int id, DOSalesModel model) { doAvalLogic.UpdateAsync(id, model); return(DbContext.SaveChangesAsync()); }