Пример #1
0
        private void butCopy_Click(object sender, System.EventArgs e)
        {
            if (listClaimForms.SelectedIndex == -1)
            {
                MessageBox.Show(Lan.g(this, "Please select an item first."));
                return;
            }
            ClaimForm ClaimFormCur    = ClaimForms.ListLong[listClaimForms.SelectedIndex].Copy();
            long      oldClaimFormNum = ClaimFormCur.ClaimFormNum;

            ClaimFormCur.UniqueID = "";          //designates it as a user added claimform
            ClaimForms.Insert(ClaimFormCur);     //this duplicates the original claimform, but no items.
            long newClaimFormNum = ClaimFormCur.ClaimFormNum;

            //ClaimFormItems.GetListForForm(ClaimForms.ListLong[listClaimForms.SelectedIndex].ClaimFormNum);
            for (int i = 0; i < ClaimFormCur.Items.Length; i++)
            {
                //ClaimFormItems.Cur=ClaimFormItems.ListForForm[i];
                ClaimFormCur.Items[i].ClaimFormNum = newClaimFormNum;
                ClaimFormItems.Insert(ClaimFormCur.Items[i]);
            }
            ClaimFormItems.RefreshCache();
            changed = true;
            FillList();
        }
Пример #2
0
        ///<summary>Updates all claimforms with this unique id including all attached items.</summary>
        public static void UpdateByUniqueID(ClaimForm cf)
        {
            //first get a list of the ClaimFormNums with this UniqueId
            string command =
                "SELECT ClaimFormNum FROM claimform WHERE UniqueID ='" + cf.UniqueID.ToString() + "'";
            DataTable table = General.GetTable(command);

            int[] claimFormNums = new int[table.Rows.Count];
            for (int i = 0; i < table.Rows.Count; i++)
            {
                claimFormNums[i] = PIn.PInt(table.Rows[i][0].ToString());
            }
            //loop through each matching claimform
            for (int i = 0; i < claimFormNums.Length; i++)
            {
                cf.ClaimFormNum = claimFormNums[i];
                Update(cf);
                command = "DELETE FROM claimformitem "
                          + "WHERE ClaimFormNum = '" + POut.PInt(claimFormNums[i]) + "'";
                General.NonQ(command);
                for (int j = 0; j < cf.Items.Length; j++)
                {
                    cf.Items[j].ClaimFormNum = claimFormNums[i];
                    ClaimFormItems.Insert(cf.Items[j]);
                }
            }
        }
Пример #3
0
        ///<Summary>Can be called externally as part of the update sequence.  Surround with try catch.  Returns the ClaimFormNum of the new ClaimForm if it inserted a new claimform.</Summary>
        public static int ImportForm(string path, bool isUpdateSequence)
        {
            if (!File.Exists(path))
            {
                throw new ApplicationException(Lan.g("FormClaimForm", "File does not exist."));
            }
            ClaimForm     tempClaimForm = new ClaimForm();
            XmlSerializer serializer    = new XmlSerializer(typeof(ClaimForm));

            try{
                using (TextReader reader = new StreamReader(path)){
                    tempClaimForm = (ClaimForm)serializer.Deserialize(reader);
                }
            }
            catch {
                throw new ApplicationException(Lan.g("FormClaimForm", "Invalid file format"));
            }
            int  retVal = 0;
            bool isNew  = true;

            if (tempClaimForm.UniqueID != "")          //if it's blank, it's always inserted.
            {
                for (int i = 0; i < ClaimForms.ListLong.Length; i++)
                {
                    if (ClaimForms.ListLong[i].UniqueID == tempClaimForm.UniqueID)
                    {
                        isNew = false;
                    }
                }
            }
            if (isNew)
            {
                ClaimForms.Insert(tempClaimForm);                //now we have a primary key.
                retVal = tempClaimForm.ClaimFormNum;
                for (int j = 0; j < tempClaimForm.Items.Length; j++)
                {
                    tempClaimForm.Items[j].ClaimFormNum = tempClaimForm.ClaimFormNum;
                    ClaimFormItems.Insert(tempClaimForm.Items[j]);
                }
            }
            else
            {
                if (!isUpdateSequence)
                {
                    if (MessageBox.Show(tempClaimForm.Description + " already exists.  Replace?", "",
                                        MessageBoxButtons.OKCancel) != DialogResult.OK)
                    {
                        return(0);
                    }
                }
                ClaimForms.UpdateByUniqueID(tempClaimForm);
            }
            return(retVal);           //only if uniqueID
        }
Пример #4
0
 private void SaveAndClose()
 {
     CFIcur.ImageFileName = textImageFileName.Text;
     CFIcur.FormatString  = textFormatString.Text;
     if (listFieldName.SelectedIndex == -1)
     {
         CFIcur.FieldName = "";
     }
     else
     {
         CFIcur.FieldName = FieldNames[listFieldName.SelectedIndex];
     }
     if (IsNew)
     {
         ClaimFormItems.Insert(CFIcur);
     }
     else
     {
         ClaimFormItems.Update(CFIcur);
     }
     DialogResult = DialogResult.OK;
 }