Exemplo n.º 1
0
        public Task <Pemindahan> Post(Pemindahan value)
        {
            try
            {
                dbContext.ChangeTracker.Clear();
                var changeTracker = dbContext.ChangeTracker.Entries <Product>();
                Validate(value);
                dbContext.Entry(value.Dari).State   = EntityState.Detached;
                dbContext.Entry(value.Tujuan).State = EntityState.Detached;

                foreach (var item in value.Items)
                {
                    dbContext.Entry(item.Pemindahan).State = EntityState.Unchanged;
                    dbContext.Entry(item.Product).State    = EntityState.Unchanged;
                    dbContext.Entry(item.Unit).State       = EntityState.Unchanged;
                }
                dbContext.Pemindahan.Add(value);
                dbContext.SaveChanges();
                return(Task.FromResult(value));
            }
            catch (Exception ex)
            {
                throw new SystemException(ex.Message);
            }
        }
Exemplo n.º 2
0
        public Task <bool> Put(int id, Pemindahan value)
        {
            try
            {
                var existsModel = dbContext.Pemindahan.Include(x => x.Items).Where(x => x.Id == id).FirstOrDefault();
                if (existsModel == null)
                {
                    throw new SystemException("Data Not Found !");
                }

                dbContext.Entry(existsModel).CurrentValues.SetValues(value);
                foreach (var item in value.Items)
                {
                    if (item.Id <= 0)
                    {
                        dbContext.PemindahanItem.Add(item);
                    }
                    else
                    {
                        dbContext.Entry(item).State = EntityState.Modified;
                    }
                }
                var updated = dbContext.SaveChanges();
                if (updated <= 0)
                {
                    throw new SystemException("Data Not Saved !");
                }
                return(Task.FromResult(true));
            }
            catch (Exception ex)
            {
                throw new SystemException(ex.Message);
            }
        }
Exemplo n.º 3
0
        private void Validate(Pemindahan value)
        {
            if (value.Dari == null || value.Tujuan == null)
            {
                throw new SystemException("Asal Pemindahan Dan Tujuan Pemindahan Tidak Boleh Kosong !");
            }

            if (value.Dari != null && value.Tujuan != null && value.Dari.Id == value.Tujuan.Id)
            {
                throw new SystemException("Asal Pemindahan Dan Tujuan Pemindahan Tidak Boleh Sama !");
            }

            if (value.Items == null || value.Items.Count <= 0)
            {
                throw new SystemException("Data Pemindahan Tidak Boleh Kosong !");
            }
        }