Esempio n. 1
0
        /// <summary>
        /// single item insert/update with entity input
        /// </summary>
        /// <param name="input">to-be-insert/updated instance of entity class</param>
        public async Task <Elmah.DataSourceEntities.DataAccessLayerMessageOfEntityCollectionELMAH_Error> Upsert(Elmah.DataSourceEntities.ELMAH_Error input)
        {
            //log.Info(string.Format("{0}: Update", Framework.Models.LoggingOptions.Data_Access_Layer_Process_Started.ToString()));
            var _retval = new Elmah.DataSourceEntities.DataAccessLayerMessageOfEntityCollectionELMAH_Error();

            _retval.OriginalValue = new List <Elmah.DataSourceEntities.ELMAH_Error>();
            _retval.OriginalValue.Add(input);

            if (input != null)
            {
                var _LinqItem = await GetLinqObjectByIdentifier(input);

                if (_LinqItem == null)
                {
                    _LinqItem = input.GetAClone <Elmah.EntityFrameworkContext.ELMAH_Error>();
                    LinqContext.ELMAH_Error.Add(_LinqItem);
                }
                else
                {
                    input.CopyTo <Elmah.EntityFrameworkContext.ELMAH_Error>(_LinqItem);
                }

                await this.LinqContext.SaveChangesAsync();

                Elmah.DataSourceEntities.ELMAH_Error _Result = new Elmah.DataSourceEntities.ELMAH_Error();
                _Result.CopyFrom <Elmah.EntityFrameworkContext.ELMAH_Error>(_LinqItem);
                _retval.Result = new List <Elmah.DataSourceEntities.ELMAH_Error>();
                _retval.Result.Add(_Result);
            }
            //log.Info(string.Format("{0}: Update", Framework.Models.LoggingOptions.Data_Access_Layer_Process_Started.ToString()));
            return(_retval);
        }
Esempio n. 2
0
        /// <summary>
        /// single item delete by identifier with entity identifier input
        /// </summary>
        /// <param name="id">delete the item if its identifier equals to this parameter</param>
        public async Task <Elmah.DataSourceEntities.DataAccessLayerMessageOfEntityCollectionELMAH_Error> DeleteByIdentifier(Elmah.DataSourceEntities.ELMAH_ErrorIdentifier id)
        {
            //log.Info(string.Format("{0}: DeleteByIdentifier", Framework.Models.LoggingOptions.Data_Access_Layer_Process_Started.ToString()));

            Elmah.DataSourceEntities.DataAccessLayerMessageOfEntityCollectionELMAH_Error _retval = new Elmah.DataSourceEntities.DataAccessLayerMessageOfEntityCollectionELMAH_Error();

            if (id != null)
            {
                Elmah.EntityFrameworkContext.ELMAH_Error _LinqItem = await GetLinqObjectByIdentifier(id);

                if (_LinqItem != null)
                {
                    Elmah.DataSourceEntities.ELMAH_Error _Original = new Elmah.DataSourceEntities.ELMAH_Error();
                    _Original.CopyFrom <Elmah.EntityFrameworkContext.ELMAH_Error>(_LinqItem);

                    _retval.OriginalValue = new List <Elmah.DataSourceEntities.ELMAH_Error>();
                    _retval.OriginalValue.Add(_Original);

                    this.LinqContext.ELMAH_Error.Remove(_LinqItem);
                    await this.LinqContext.SaveChangesAsync();
                }
            }
            //log.Info(string.Format("{0}: DeleteByIdentifier", Framework.Models.LoggingOptions.Data_Access_Layer_Process_Ended.ToString()));
            return(_retval);
        }
Esempio n. 3
0
        /// <summary>
        /// Insert/Update an entity of <see cref=" Elmah.DataSourceEntities.ELMAH_Error"/>.
        /// http://[host]/api/ELMAH_ErrorApi/UpsertEntity
        /// </summary>
        /// <param name="input">input entity</param>
        public async Task <Elmah.CommonBLLEntities.ELMAH_ErrorResponseMessageBuiltIn.Default> UpsertEntityAsync(
            Elmah.DataSourceEntities.ELMAH_Error input)
        {
            const string ActionName_UpsertEntity = "UpsertEntity";
            string       url = GetHttpRequestUrl(ActionName_UpsertEntity);

            return(await Post <Elmah.DataSourceEntities.ELMAH_Error, Elmah.CommonBLLEntities.ELMAH_ErrorResponseMessageBuiltIn.Default>(url, input));
        }
Esempio n. 4
0
        public async Task <ActionResult> Edit(Elmah.AspNetMvcCoreViewModel.ELMAH_Error.ItemVM vm)
        {
            try
            {
                //log.Info(string.Format("{0}: Edit", Framework.Models.LoggingOptions.UI_Process_Started.ToString()));
                var entity = new Elmah.DataSourceEntities.ELMAH_Error();
                entity.CopyFrom <Elmah.EntityContracts.IELMAH_Error>(vm.Item);

                using (var scope = _serviceProvider.CreateScope())
                {
                    var serviceInstance = (Elmah.WcfContracts.IELMAH_ErrorService)scope.ServiceProvider.GetRequiredService(typeof(Elmah.WcfContracts.IELMAH_ErrorService));

                    var request1 = new Elmah.CommonBLLEntities.ELMAH_ErrorRequestMessageUserDefinedOfIdentifier();
                    request1.Criteria = new Elmah.CommonBLLEntities.ELMAH_ErrorChainedQueryCriteriaIdentifier();
                    request1.Criteria.Identifier.ErrorId.NullableValueToCompare = vm.Item.ErrorId;

                    var originalItem = await serviceInstance.GetCollectionOfEntityByIdentifier(request1);

                    entity.CopyFrom <Elmah.DataSourceEntities.ELMAH_Error>(originalItem.Message[0]);
                    // TODO: Some of the FKs not in view/.cshtml, must assigned here,
                    //entity.ParentBusinessEntityID = originalItem.Message[0].ParentBusinessEntityID;

                    var request = new Elmah.CommonBLLEntities.ELMAH_ErrorRequestMessageBuiltIn();

                    request.Criteria.Add(entity);
                    var _Response = await serviceInstance.UpsertEntity(request);

                    if (_Response.BusinessLogicLayerResponseStatus == Framework.Services.BusinessLogicLayerResponseStatus.MessageOK)
                    {
                        //log.Info(string.Format("{0}: Edit", Framework.Models.LoggingOptions.UI_Process_Ended.ToString()));
                        return(Redirect(Request.Headers["Referer"].ToString()));
                    }
                    else
                    {
                        vm.ContentData.Title = string.Format("{0} {1}", Framework.Resx.UIStringResource.Edit, Elmah.Resx.UIStringResourcePerApp.ELMAH_Error);
                        //TODO: create a new new entry in xxx.UIStringResourceExt.resx file if you need, and uncomment next line, reference resource key here, then add in .cshtml file.
                        //vm.ContentData.Summary = string.Format("{0} {1}", Framework.Resx.UIStringResource.Edit, Elmah.Resx.UIStringResourcePerApp.ELMAH_Error);
                        vm.StatusOfResult        = _Response.BusinessLogicLayerResponseStatus;
                        vm.StatusMessageOfResult = _Response.ServerErrorMessage;
                        //log.Error(string.Format("{0}: Edit: {1}", Framework.Models.LoggingOptions.Business_Logic_Layer_Process_Failed.ToString(), _Response.ServerErrorMessage));
                        return(View(vm));
                    }
                }
            }
            catch (Exception ex)
            {
                Framework.ViewModels.UIAction uiAction = Framework.ViewModels.UIAction.Update;
                vm.ContentData.Title = string.Format("{0} {1}", Framework.Resx.UIStringResource.Edit, Elmah.Resx.UIStringResourcePerApp.ELMAH_Error);
                //TODO: create a new new entry in xxx.UIStringResourceExt.resx file if you need, and uncomment next line, reference resource key here, then add in .cshtml file.
                //vm.ContentData.Summary = string.Format("{0} {1}", Framework.Resx.UIStringResource.Edit, Elmah.Resx.UIStringResourcePerApp.ELMAH_Error);
                vm.StatusOfResult        = Framework.Services.BusinessLogicLayerResponseStatus.MessageErrorDetected;
                vm.StatusMessageOfResult = ex.Message;
                vm.UIActionStatusMessage = new Framework.ViewModels.UIActionStatusMessage(typeof(Elmah.AspNetMvcCoreViewModel.ELMAH_Error.ItemVM).FullName, uiAction.ToString(), uiAction, Framework.ViewModels.UIActionStatus.Failed);
                //log.Error(string.Format("{0}: {1}, {2}, {3}", uiAction, Framework.Models.LoggingOptions.UI_Process_Failed.ToString(), vm.StatusOfResult, vm.StatusMessageOfResult));

                return(View(vm));
            }
        }
Esempio n. 5
0
        protected override async Task <Elmah.CommonBLLEntities.ELMAH_ErrorResponseMessageBuiltIn.Default> UpsertToServer()
        {
            var client = WebApiClientFactory.CreateELMAH_ErrorApiClient();
            var item   = new Elmah.DataSourceEntities.ELMAH_Error();

            item.CopyFrom <Elmah.EntityContracts.IELMAH_Error>(Item);

            var result = await client.UpsertEntityAsync(item);

            return(result);
        }
Esempio n. 6
0
        public async Task <Elmah.CommonBLLEntities.ELMAH_ErrorResponseMessageBuiltIn.Default> UpsertEntity(
            [FromBody] Elmah.DataSourceEntities.ELMAH_Error input)
        {
            var request = new Elmah.CommonBLLEntities.ELMAH_ErrorRequestMessageBuiltIn()
            {
                BusinessLogicLayerRequestTypes = Framework.Services.BusinessLogicLayerRequestTypes.CreateWithParent
            };

            request.Criteria.Add(input);
            Elmah.CommonBLLEntities.ELMAH_ErrorResponseMessageBuiltIn responseMessage = await this.ThisService.UpsertEntity(request);

            return(await LoadDefaultItem(responseMessage));;
        }
Esempio n. 7
0
        //[Authorize(Roles = Elmah.MvcCore.Security.RolesCombination.AllRoles)]
        public async Task <ActionResult> AddNew(Elmah.AspNetMvcCoreViewModel.ELMAH_Error.ItemVM vm)
        {
            try
            {
                //log.Info(string.Format("{0}: AddNew", Framework.Models.LoggingOptions.UI_Process_Started.ToString()));
                var entity = new Elmah.DataSourceEntities.ELMAH_Error();
                entity.CopyFrom <Elmah.EntityContracts.IELMAH_Error>(vm.Item);

                using (var scope = _serviceProvider.CreateScope())
                {
                    var serviceInstance = (Elmah.WcfContracts.IELMAH_ErrorService)scope.ServiceProvider.GetRequiredService(typeof(Elmah.WcfContracts.IELMAH_ErrorService));
                    var request         = new Elmah.CommonBLLEntities.ELMAH_ErrorRequestMessageBuiltIn();

                    request.Criteria.Add(entity);
                    var _Response = await serviceInstance.UpsertEntity(request);

                    if (_Response.BusinessLogicLayerResponseStatus == Framework.Services.BusinessLogicLayerResponseStatus.MessageOK)
                    {
                        TempData[TempDataKey_ELMAH_ErrorController_Copy] = null;
                        TempData.Remove(TempDataKey_ELMAH_ErrorController_Copy);
                        //log.Info(string.Format("{0}: Insert", Framework.Models.LoggingOptions.UI_Process_Ended.ToString()));

                        return(Redirect(Request.Headers["Referer"].ToString()));
                    }
                    else
                    {
                        vm = await Elmah.AspNetMvcCoreViewModel.ELMAH_Error.ItemVM.CreateNewViewModel(this._serviceProvider, vm.Item);

                        vm.StatusOfResult        = _Response.BusinessLogicLayerResponseStatus;
                        vm.StatusMessageOfResult = _Response.ServerErrorMessage;
                        //log.Error(string.Format("{0}: AddNew: {1}", Framework.Models.LoggingOptions.Business_Logic_Layer_Process_Failed.ToString(), _Response.ServerErrorMessage));
                        return(View(vm));
                    }
                }
            }
            catch (Exception ex)
            {
                Framework.ViewModels.UIAction uiAction = Framework.ViewModels.UIAction.Create;
                var entity = CreateEmptyEntityOrGetFromTempData(TempDataKey_ELMAH_ErrorController_Copy);
                vm = await Elmah.AspNetMvcCoreViewModel.ELMAH_Error.ItemVM.CreateNewViewModel(this._serviceProvider, entity);

                vm.StatusOfResult        = Framework.Services.BusinessLogicLayerResponseStatus.MessageErrorDetected;
                vm.StatusMessageOfResult = ex.Message;
                vm.UIActionStatusMessage = new Framework.ViewModels.UIActionStatusMessage(typeof(Elmah.AspNetMvcCoreViewModel.ELMAH_Error.ItemVM).FullName, uiAction.ToString(), uiAction, Framework.ViewModels.UIActionStatus.Failed);
                //log.Error(string.Format("{0}: AddNew: {1}", Framework.Models.LoggingOptions.Business_Logic_Layer_Process_Failed.ToString(), ex.Message));
                return(View(vm));
            }
        }