예제 #1
0
        public async Task <IActionResult> Add(string values)
        {
            var newCustomer = JsonPopulateObjectHelper.PopulateObject <Customer>(values, unitOfWork);
            await unitOfWork.CommitChangesAsync();

            return(Ok(newCustomer));
        }
예제 #2
0
        public async Task <Customer> Add(Dictionary <string, object> values)
        {
            string json     = JsonConvert.SerializeObject(values);
            var    dataItem = JsonPopulateObjectHelper.PopulateObject <Customer>(json, unitOfWork);
            await unitOfWork.CommitChangesAsync();

            return(dataItem);
        }
예제 #3
0
 public async Task <Order> Update(Order dataItem, Dictionary <string, object> values)
 {
     if (dataItem != null)
     {
         string json = JsonConvert.SerializeObject(values);
         JsonPopulateObjectHelper.PopulateObject(json, unitOfWork, dataItem);
         await unitOfWork.CommitChangesAsync();
     }
     return(dataItem);
 }
예제 #4
0
        public async Task <Order> Add(Dictionary <string, object> values, Customer customer)
        {
            string json     = JsonConvert.SerializeObject(values);
            var    dataItem = JsonPopulateObjectHelper.PopulateObject <Order>(json, unitOfWork);

            dataItem.Customer = customer; //TODO: Remove once the DxDataGrid provides the InitNewItemRow event or passes current editor values even if they are unchanged.
            await unitOfWork.CommitChangesAsync();

            return(dataItem);
        }
예제 #5
0
        public async Task <Customer> Add(Dictionary <string, object> values)
        {
            string json = JsonConvert.SerializeObject(values);

            using (UnitOfWork uow = CreateModificationUnitOfWork()) {
                var newCustomer = JsonPopulateObjectHelper.PopulateObject <Customer>(json, uow);
                await uow.CommitChangesAsync();

                return(await readUnitOfWork.GetObjectByKeyAsync <Customer>(newCustomer.Oid, true));
            }
        }
예제 #6
0
        public async Task <Customer> Update(int oid, Dictionary <string, object> values)
        {
            string json = JsonConvert.SerializeObject(values);

            using (UnitOfWork uow = CreateModificationUnitOfWork()) {
                var customer = await uow.GetObjectByKeyAsync <Customer>(oid);

                JsonPopulateObjectHelper.PopulateObject(json, uow, customer);
                await uow.CommitChangesAsync();
            }
            return(await readUnitOfWork.GetObjectByKeyAsync <Customer>(oid, true));
        }
예제 #7
0
        public async Task <IActionResult> Update(int key, string values)
        {
            var customer = await unitOfWork.GetObjectByKeyAsync <Customer>(key);

            if (customer == null)
            {
                return(NotFound());
            }
            JsonPopulateObjectHelper.PopulateObject(values, unitOfWork, customer);
            await unitOfWork.CommitChangesAsync();

            return(Ok(customer));
        }
예제 #8
0
        public async Task <IActionResult> Add(string values)
        {
            Order newOrder = JsonPopulateObjectHelper.PopulateObject <Order>(values, unitOfWork);
            await unitOfWork.CommitChangesAsync();

            return(Ok(new {
                newOrder.Oid,
                newOrder.OrderDate,
                newOrder.ProductName,
                newOrder.Freight,
                Customer = new {
                    newOrder.Customer.Oid,
                    newOrder.Customer.FirstName,
                    newOrder.Customer.LastName,
                    newOrder.Customer.ContactName
                }
            }));
        }
예제 #9
0
        public async Task <IActionResult> Put(int id, [FromBody] JObject values)
        {
            try
            {
                ////PurchaseOrder customer = _uow.GetObjectByKey<PurchaseOrder>(id);
                ////JToken token;
                ////if (value.TryGetValue("Department", out token))
                ////{
                ////    customer.Department = _uow.GetObjectByKey<Departments>(token["Oid"].Value<int>());
                ////}

                ////if (value.TryGetValue("FullName", out token))
                ////{
                ////    customer.FullName = value["FullName"].Value<string>();
                ////}

                //PurchaseOrder customer = _uow.GetObjectByKey<PurchaseOrder>(id);

                //JsonPopulateObjectHelper.PopulateObject(value.ToString(), _uow, customer);
                //_uow.CommitChanges();
                PurchaseOrder obj = null;

                obj = await _uow.GetObjectByKeyAsync <PurchaseOrder>(id);

                if (obj == null)
                {
                    return(NotFound());
                }
                JsonPopulateObjectHelper.PopulateObject(values.ToString(), _uow, obj);

                addNewDetailsOnly(values, obj, false);
                deleteDetails(values, obj);

                await _uow.CommitChangesAsync();

                return(Ok(obj));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #10
0
        public async Task <IActionResult> Post([FromBody] JObject values)
        {
            try
            {
                //PurchaseRequest obj = JsonPopulateObjectHelper.PopulateObject<PurchaseRequest>(values.ToString(), _uow);
                //PurchaseRequest customer = new PurchaseRequest(_uow);
                //customer.FullName = values["FullName"].Value<string>();
                //_uow.CommitChanges();
                Positions obj = JsonPopulateObjectHelper.PopulateObject <Positions>(values.ToString(), _uow);
                //RuleSet rule = new RuleSet();
                //rule.ValidateAll((IObjectSpace)obj.Session, _uow.GetObjectsToSave(), "Any");
                await _uow.CommitChangesAsync();

                return(Ok(obj));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #11
0
        public async Task <IActionResult> Post([FromBody] JObject values)
        {
            try
            {
                PurchaseOrder obj = null;
                //PurchaseOrder obj = JsonPopulateObjectHelper.PopulateObject<PurchaseOrder>(values.ToString(), _uow);
                //PurchaseOrder customer = new PurchaseOrder(_uow);
                //customer.FullName = values["FullName"].Value<string>();
                //_uow.CommitChanges();
                obj = JsonPopulateObjectHelper.PopulateObject <PurchaseOrder>(values.ToString(), _uow);

                addNewDetailsOnly(values, obj, true);

                await _uow.CommitChangesAsync();

                //obj = JsonConvert.DeserializeObject<PurchaseOrder>(values.ToString());
                return(Ok(obj));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public async Task <IActionResult> Put(int id, [FromBody] JObject value)
        {
            try
            {
                ////PurchaseRequest customer = _uow.GetObjectByKey<PurchaseRequest>(id);
                ////JToken token;
                ////if (value.TryGetValue("Employee", out token))
                ////{
                ////    customer.Employee = _uow.GetObjectByKey<Employees>(token["Oid"].Value<int>());
                ////}

                ////if (value.TryGetValue("FullName", out token))
                ////{
                ////    customer.FullName = value["FullName"].Value<string>();
                ////}

                //PurchaseRequest customer = _uow.GetObjectByKey<PurchaseRequest>(id);

                //JsonPopulateObjectHelper.PopulateObject(value.ToString(), _uow, customer);
                //_uow.CommitChanges();

                Employee obj = await _uow.GetObjectByKeyAsync <Employee>(id);

                if (obj == null)
                {
                    return(NotFound());
                }
                JsonPopulateObjectHelper.PopulateObject(value.ToString(), _uow, obj);
                await _uow.CommitChangesAsync();

                return(Ok(obj));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #13
0
        public async Task <IActionResult> Update(int key, string values)
        {
            var order = await unitOfWork.GetObjectByKeyAsync <Order>(key);

            if (order == null)
            {
                return(NotFound());
            }
            JsonPopulateObjectHelper.PopulateObject(values, unitOfWork, order);
            await unitOfWork.CommitChangesAsync();

            return(Ok(new {
                order.Oid,
                order.OrderDate,
                order.ProductName,
                order.Freight,
                Customer = new {
                    order.Customer.Oid,
                    order.Customer.FirstName,
                    order.Customer.LastName,
                    order.Customer.ContactName
                }
            }));
        }
예제 #14
0
        public async Task <IActionResult> GenGRN(string docno, [FromBody] JObject values)
        {
            try
            {
                PurchaseOrder sobj = _uow.Query <PurchaseOrder>().Where(pp => pp.DocNo == docno).FirstOrDefault();
                if (sobj == null)
                {
                    return(NotFound());
                }
                PurchaseDelivery obj = JsonPopulateObjectHelper.PopulateObject <PurchaseDelivery>(values.ToString(), _uow);

                addNewDetailsOnly(values, obj, true);

                await _uow.CommitChangesAsync();

                //obj = JsonConvert.DeserializeObject<PurchaseRequest>(values.ToString());

                return(Ok(obj));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #15
0
//[HttpGet]
//public List<DocTypeSeries> Get()
//{
//    List<DocTypeSeries> result = null;
//    XPQuery<DocTypeSeries> query = (XPQuery<DocTypeSeries>)_uow.Query<DocTypeSeries>();
//    result = query.ToList<DocTypeSeries>();

//    return result;
//}

        private void addNewDetailsOnly(JObject value, PurchaseOrder obj, bool IsNewHeader)
        {
            try
            {
                #region add details
                string detalclassname = "PurchaseOrderDetail";
                bool   isnew          = false;
                int    intkeyvalue    = -1;
                JArray jarray         = (JArray)value[detalclassname];
                foreach (JObject Jdtl in jarray.Children())
                {
                    isnew = false;
                    if (IsNewHeader)
                    {
                        isnew = true;
                    }
                    else
                    {
                        if (Jdtl.ContainsKey("Oid"))
                        {
                            if (Jdtl["Oid"] == null)
                            {
                                isnew = true;
                            }
                            else
                            {
                                if (int.TryParse(Jdtl["Oid"].ToString(), out intkeyvalue))
                                {
                                    if (intkeyvalue == -1)
                                    {
                                        isnew = true;
                                    }
                                }
                            }
                        }
                        else
                        {
                            isnew = true;
                        }
                    }
                    if (isnew)
                    {
                        if (Jdtl.ContainsKey("IsBeingDelete"))
                        {
                            if (Jdtl["IsBeingDelete"].ToString() == "1" || Jdtl["IsBeingDelete"].ToString().ToUpper() == "TRUE")
                            {
                                isnew = false;
                            }
                        }
                        if (isnew)
                        {
                            PurchaseOrderDetail dtl = JsonPopulateObjectHelper.PopulateObject <PurchaseOrderDetail>(Jdtl.ToString(), _uow);
                            obj.PurchaseOrderDetail.Add(dtl);
                        }
                    }
                }
                #endregion
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }