using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;

namespace ACS.Bluegrass
{
    /// 
    /// Object collection class creates a storage medium for items to be
    /// displayed in a datagridcontrol.
    /// The collection implements ObservableCollection in order to facilitate
    /// real time updates to the user interface.  ObservableCollection implements
    /// INotify automatically.
    /// 
    public class EDataCollection : ObservableCollection
    {
        //Facilitates archiving of spreadsheets.
        public string originalPath { get; set; }
        public int fileKey { get; set; }
    }
    public class EDataItem
    {
        #region Properties/Accessors

        public System.Drawing.Bitmap Icon { get; set; }
        public int FileKey { get; set; }
        public string DCN { get; set; }
        public string DetailLineNumber { get; set; }
        public string ItemType { get; set; }
        public string GroupNum { get; set; }

        public string MemberNumber { get; set; }
        public string MemFName { get; set; }
        public string MemLName { get; set; }
        public string Street1 { get; set; }
        public string Street2 { get; set; }
        public string City { get; set; }
        public string State { get; set; }
        public string ZipCode { get; set; }
        public string MemberValidated { get; set; }

        public string CarrierCode { get; set; }

        public string PatFName { get; set; }
        public string PatLName { get; set; }
        public string DOB { get; set; }
        public string Gender { get; set; }
        public string DepCode { get; set; }

        public string Qty { get; set; }
        public string DS { get; set; }

        public string NABPPharm { get; set; }
        public string NPIPharm { get; set; }
        public string PharmAcctNum{ get; set; }
        public string PharmName { get; set; }
        public string PharmAddress { get; set; }
        public string PharmZip { get; set; }
        public string PharmPhone { get; set; }

        //public string OV { get; set; }
        public string Override1 { get; set; }
        public string Override2 { get; set; }
        public string Override3 { get; set; }

        public string BatchNumber { get; set; }
        public string SequenceNumber { get; set; }

        public string ClaimAGN { get; set; }
        public string DOS { get; set; }
        public string RXNum { get; set; }
        public string COBSubmitAmount { get; set; }
        public string NDC { get; set; }
        public string NDCValidated { get; set; }

        public string Compound { get; set; }
        public string OutputSuccess { get; set; }
        public string PharmValidated { get; set; }
        public string PatientValidated { get; set; }

        public string RejectCode { get; set; }
        public string Messages { get; set; }

        public string TotalAmt { get; set; }
        public string Status { get; set; }
        public string ErrMessage { get; set; }
        public string AuthCode { get; set; }
        public string ForeignIndicator { get; set; }

        public string CheckPull { get; set; }
        public string RcptAttchFlg { get; set; }
        public string ClntSig { get; set; }
        public string ResponseStatus { get; set; }

        public string AgencyAccountNumber { get; set; }
        public string AgencyName { get; set; }
        public string AgencyAddress { get; set; }
        public string AgencyZip { get; set; }
        public string AgencyState { get; set; }

        #endregion

        //Default constructor.
        public EDataItem()
        {
            DetailLineNumber = "0";
            ItemType = "LNG";
            GroupNum = string.Empty;
            MemberNumber = string.Empty;
            MemFName = string.Empty;
            MemLName = string.Empty;
            Street1 = string.Empty;
            Street2 = string.Empty;
            City = string.Empty;
            State = string.Empty;
            ZipCode = string.Empty;
            
            CarrierCode = string.Empty;
            
            PatFName = string.Empty;
            PatLName = string.Empty;
            DOB = string.Empty;
            Gender = string.Empty;
            DepCode = string.Empty;

            Qty = string.Empty;
            DS = string.Empty;

            ClntSig = "N";
            MemberValidated = "0";

            NABPPharm = string.Empty;
            NPIPharm = string.Empty;
            PharmAcctNum = string.Empty;
            PharmName = string.Empty;
            PharmAddress = string.Empty;
            PharmZip = string.Empty;
            PharmPhone = string.Empty;

            PharmValidated = "0";
            PatientValidated = "0";
            NDCValidated = "0";

            AuthCode = string.Empty;
            COBSubmitAmount = string.Empty;
            Override2 = string.Empty;
            Override3 = string.Empty;
            BatchNumber = string.Empty;
            SequenceNumber = string.Empty;
            ClaimAGN = string.Empty;
            Compound = string.Empty;
            OutputSuccess = string.Empty;
            Messages = string.Empty;
            RcptAttchFlg = string.Empty;

            Override1 = string.Empty;
            Override2 = string.Empty;
            Override3 = string.Empty;

            BatchNumber = string.Empty;
            SequenceNumber = string.Empty;

            ClaimAGN = string.Empty;
            DOS = string.Empty;
            RXNum = string.Empty;
            NDC = string.Empty;
            RejectCode = string.Empty;
            Messages = string.Empty;

            TotalAmt = string.Empty;
            Status = string.Empty;
            ErrMessage = string.Empty;
            AuthCode = string.Empty;
            ForeignIndicator = string.Empty;

            ResponseStatus = string.Empty;

            AgencyAccountNumber = string.Empty;
            AgencyName = string.Empty;
            AgencyAddress = string.Empty;
            AgencyZip = string.Empty;
            AgencyState = string.Empty;
        }
    }
}