Beispiel #1
0
        public ActionResult <Attachment> Attachments(string id, Guid rowGuid)
        {
            if (string.IsNullOrWhiteSpace(id) || rowGuid == Guid.Empty)
            {
                throw new Exception("All parameters are needed to call this api");
            }

            CM_B_ATTACHMENT Item = DBContext.CM_B_ATTACHMENT.FirstOrDefault(E => E.CUSTOMER_CODE == id && E.ROWGUID == rowGuid);

            if (Item == null)
            {
                throw new NotFoundException($"No attachment found with rowGuid: {rowGuid}");
            }

            Attachment Result = EntityMapper.Map <Attachment, CM_B_ATTACHMENT>(DBContext, Item);

            return(Result);
        }
Beispiel #2
0
        public void AttachmentPost([FromBody] Attachment value)
        {
            if (value == null)
            {
                throw new ArgumentNullException($"Argument value cannot be null");
            }

            long   WEIGHT_MAX            = 363520;
            string ATTACHMENT_WEIGHT_MAX = FoxDataService.GetGlobalParameterValue <string>("CM_B_ATTACHMENT_WEIGHT_MAX", "5120");

            if (!string.IsNullOrEmpty(ATTACHMENT_WEIGHT_MAX))
            {
                WEIGHT_MAX = Convert.ToInt64(ATTACHMENT_WEIGHT_MAX) * 1024;
                if (value.AttachmentData?.LongLength > WEIGHT_MAX)
                {
                    throw new InvalidOperationException($"Max attachment size is {WEIGHT_MAX}Kb");
                }
            }

            CM_B_ATTACHMENT Item = EntityMapper.CreateEntity <CM_B_ATTACHMENT>();

            EntityMapper.UpdateEntity(value, Item);

            Item.REASON_ID          = Item.ROWGUID;
            Item.ATTACHMENT_COUNTER = Convert.ToInt64(FoxDataService.GetNewCounter("CM_B_ATTACHMENT", "ATTACHMENT_COUNTER", value.ShopCode, Item.USERINSERT).FORMATTEDVALUE);

            value.SaveData <CM_B_ATTACHMENT>(DBContext, Item);

            //Update customer's privacy flags
            if (value.AttachmentTypeCode == "PCF")
            {
                CU_B_ADDRESS_BOOK customer = DBContext.CU_B_ADDRESS_BOOK.Where(E => E.CUSTOMER_CODE == Item.CUSTOMER_CODE).FirstOrDefault();
                customer.FLG_PRIVACYPERSDATA = "Y";
                customer.CU_B_ADDRESS_BOOK_EXT_AUS.FLG_TO_CALL = "Y";
                EntityMapper.UpdateEntityStandardFields(customer);
                EntityMapper.UpdateEntityStandardFields(customer.CU_B_ADDRESS_BOOK_EXT_AUS);
            }

            DBContext.CM_B_ATTACHMENT.Add(Item);
            DBContext.SaveChanges();
        }