public async virtual Task <Message> Get(Message message)
        {
            try
            {
                var resultMessage = new Message();
                var model         = message.DeSerializeObject <Mexpress.Backend.Common.Ac_Mtr_Agreement_Document>();
                using (var repository = new Gbl_Mtr_Evidence_Repository(message.Connection))
                {
                    var returnObject = await repository.Get(model);

                    resultMessage.Status      = Status.Success;
                    resultMessage.Result      = "Proceso efectuado satisfactoriamente...";
                    resultMessage.MessageInfo = returnObject.SerializeObject();
                    return(resultMessage);
                }
            }
            catch (Exception ex)
            {
                var resultMessage = new Message();
                resultMessage.Status      = Status.Failed;
                resultMessage.Result      = string.Format("{0}", ex.Message);
                resultMessage.MessageInfo = string.Empty;
                return(resultMessage);
            }
        }
        public async virtual Task <Message> Save(Message message)
        {
            try
            {
                var resultMessage = new Message();
                var model         = message.DeSerializeObject <Mexpress.Backend.Common.Import_Product>();

                using (var repository = new Gbl_Mtr_Evidence_Repository(message.Connection))
                {
                    if (model.list_Agreement_Document.Count == 0 || model.list_Agreement_Document == null)
                    {
                        await repository.SaveSpecial(model);
                    }
                    else
                    {
                        foreach (var item in model.list_Agreement_Document)
                        {
                            var document = new Mexpress.Backend.Common.Ac_Mtr_Agreement_Document
                            {
                                Pk_Cat_Document_Agreement = item.Pk_Cat_Document_Agreement,
                                Pk_Ac_Trade_Agreement     = item.Pk_Ac_Trade_Agreement,
                                Creation_User             = item.Creation_User,
                                Modification_User         = item.Modification_User,
                                Url_Attachment            = item.Url_Attachment,
                                Archive_Original_Name     = item.Archive_Original_Name,
                                Archive_New_Name          = item.Archive_New_Name,
                                File_Description          = item.File_Description,
                                Name_Agreement            = item.Name_Agreement,
                                Active     = item.Active,
                                Is_Invoice = item.Is_Invoice
                            };

                            await repository.Save(document);
                        }
                    }
                }

                resultMessage.Status      = Status.Success;
                resultMessage.Result      = "Proceso efectuado satisfactoriamente...";
                resultMessage.MessageInfo = String.Empty;
                return(resultMessage);
            }
            catch (Exception ex)
            {
                var resultMessage = new Message();
                resultMessage.Status      = Status.Failed;
                resultMessage.Result      = string.Format("{0}", ex.Message);
                resultMessage.MessageInfo = string.Empty;
                return(resultMessage);
            }
        }