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); }
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(); }