Beispiel #1
0
        public virtual SalesOrderDetail_CreateOutput Detail_Create(SalesOrderDetail_CreateInput _data)
        {
            SalesOrderDetail_CreateOutput res = new SalesOrderDetail_CreateOutput();

            using (AdventureWorksEntities ctx = new AdventureWorksEntities())
            {
                EntityState      state = EntityState.Added;
                SalesOrderDetail obj   = new SalesOrderDetail();
                var entry = ctx.Entry(obj);
                entry.State = state;
                entry.CurrentValues.SetValues(_data);
                obj.SalesOrderObject = ctx.SalesOrder.Find(_data.SalesOrderId);
                if (obj.SalesOrderObject == null)
                {
                    ErrorList.Current.AddError("Invalid value {0} for parameter SalesOrderId. Cannot find the corresponding SalesOrder object.", _data.SalesOrderId);
                }
                // CUSTOM_CODE_START: use the SpecialOfferId input parameter of Detail_Create operation below
                // TODO: ??? = _data.SpecialOfferId; // CUSTOM_CODE_END
                // CUSTOM_CODE_START: use the ProductId input parameter of Detail_Create operation below
                // TODO: ??? = _data.ProductId; // CUSTOM_CODE_END
                // CUSTOM_CODE_START: add custom code for Detail_Create operation below
                // CUSTOM_CODE_END
                ErrorList.Current.AbortIfHasErrors(HttpStatusCode.BadRequest);
                ctx.SaveChanges();
                ServiceUtil.CopyProperties(obj, res);
            }
            return(res);
        }
Beispiel #2
0
        protected virtual void btnSave_Click(object sender, EventArgs e)
        {
            obj.Validate(true);
            ErrorList valErr = obj.GetValidationErrors();

            errors.List.DataSource = valErr.Errors;
            errors.List.DataBind();
            if (valErr.HasErrors())
            {
                return;
            }

            ISalesOrderService svcSalesOrder = DI.Resolve <ISalesOrderService>();

            try
            {
                // for new objects create the object and store its key
                if (IsNew)
                {
                    SalesOrderDetail_CreateInput inDetail_Create = new SalesOrderDetail_CreateInput();
                    obj.ToDataContract(inDetail_Create);
                    SalesOrderDetail_CreateOutput outDetail_Create;
                    using (TimeTracker.ServiceCall)
                        outDetail_Create = svcSalesOrder.Detail_Create(inDetail_Create);
                    obj.FromDataContract(outDetail_Create);
                    IsNew = false;
                }
                else
                {
                    SalesOrderDetail_UpdateInput_Data inDetail_Update_Data = new SalesOrderDetail_UpdateInput_Data();
                    obj.ToDataContract(inDetail_Update_Data);
                    using (TimeTracker.ServiceCall)
                        svcSalesOrder.Detail_Update((int)obj.SalesOrderDetailIdProperty.TransportValue, inDetail_Update_Data);
                }
                obj.SetModified(false, true);
                OnSaved(EventArgs.Empty);
            }
            catch (Exception ex)
            {
                errors.List.DataSource = ErrorList.FromException(ex).Errors;
                errors.List.DataBind();
            }
            finally
            {
                if (svcSalesOrder is IDisposable)
                {
                    ((IDisposable)svcSalesOrder).Dispose();
                }
            }
        }