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')}";
                }
            }
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 5
0
        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());
        }
Ejemplo n.º 7
0
        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());
        }
Ejemplo n.º 8
0
        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;
                }
            }
        }
Ejemplo n.º 9
0
        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());
 }