private void btnSendRequest_Click(object sender, EventArgs e)
        {
            Session2Entities     db      = new Session2Entities();
            EmergencyMaintenance records = new EmergencyMaintenance();

            //check has emergency closed?
            Asset asset             = (from x in db.Assets where x.AssetSN == lblAssetSNValue.Text select x).FirstOrDefault <Asset>();
            EmergencyMaintenance em = (from x in db.EmergencyMaintenances where x.AssetID == asset.ID && x.EMEndDate == null select x).FirstOrDefault <EmergencyMaintenance>();

            records.PriorityID           = (cbPriority.SelectedItem as Priority).ID;
            records.DescriptionEmergency = txtDescription.Text;
            records.OtherConsiderations  = txtOtherConsideration.Text;
            records.EMReportDate         = DateTime.Now.Date;
            records.AssetID = asset.ID;
            if (em != null)
            {
                MessageBox.Show("Asset is maintaining!", "Error");
                return;
            }
            else
            {
                db.EmergencyMaintenances.Add(records);
                db.SaveChanges();
            }
        }
        private void LoadDataTable()
        {
            Session2Entities db = new Session2Entities();

            dgvEmergencyMaintenance.DataSource = db.SP_GetdgvEmergency(this.username);
            foreach (DataGridViewRow row in dgvEmergencyMaintenance.Rows)
            {
                string assetSN          = row.Cells["AssetSN"].Value.ToString();
                string assetName        = row.Cells["AssetName"].Value.ToString();
                string assetID          = (from x in db.Assets where assetSN == x.AssetSN && assetName == x.AssetName select x.ID).SingleOrDefault <string>();
                EmergencyMaintenance em = (from x in db.EmergencyMaintenances where assetID == x.AssetID && x.EMEndDate == null select x).FirstOrDefault <EmergencyMaintenance>();
                if (em != null)
                {
                    dgvEmergencyMaintenance.Rows[row.Index].DefaultCellStyle.BackColor = Color.Red;
                }
            }
        }
Ejemplo n.º 3
0
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            Session2Entities db = new Session2Entities();

            //Check date in MaskedTextBox
            DateTime startDate = new DateTime(), endDate = new DateTime();

            try
            {
                startDate = DateTime.Parse(mktStartDate.Text);
            }
            catch (Exception)
            {
                bool flag = false;
                for (int i = 0; i < mktStartDate.Text.Length; i++)
                {
                    if (mktStartDate.Text[i] <= '9' && mktStartDate.Text[i] >= '0')
                    {
                        flag = true;
                        break;
                    }
                }
                if (flag)
                {
                    MessageBox.Show("Start date invalid", "Error");
                }
                else
                {
                    startDate = new DateTime();
                }
            }
            try
            {
                endDate = DateTime.Parse(mktCompleteOn.Text);
            }
            catch (Exception)
            {
                bool flag = false;
                for (int i = 0; i < mktCompleteOn.Text.Length; i++)
                {
                    if (mktCompleteOn.Text[i] <= '9' && mktCompleteOn.Text[i] >= '0')
                    {
                        flag = true;
                        break;
                    }
                }
                if (flag)
                {
                    MessageBox.Show("End date invalid", "Error");
                }
                else
                {
                    endDate = new DateTime();
                }
            }

            //submit StartDate, CompleteDate, TextNote
            if (startDate.Equals(new DateTime()))
            {
                MessageBox.Show("Start date is empty", "Error");
                return;
            }
            if (!startDate.Equals(new DateTime()) && !endDate.Equals(new DateTime()))
            {
                if (startDate > endDate)
                {
                    MessageBox.Show("Start date must be before Complete On date", "Error");
                    return;
                }
            }
            int emid                  = int.Parse(dataReceived["EmergencyMaintenanceID"]);
            EmergencyMaintenance one1 = (from x in db.EmergencyMaintenances where x.ID == emid select x).SingleOrDefault <EmergencyMaintenance>();

            one1.EMTechnicianNote = txtNote.Text;
            if (startDate.Equals(new DateTime()) == false)
            {
                one1.EMStartDate = startDate;
            }
            if (endDate.Equals(new DateTime()) == false)
            {
                one1.EMEndDate = endDate;
            }
            db.SaveChanges();

            //submit dgvParts
            //delete changedpart where emid
            IEnumerable <ChangedPart> temp = from x in db.ChangedParts
                                             where x.EmergencyMaintenanceID == emid
                                             select x;

            foreach (ChangedPart cp in temp)
            {
                db.ChangedParts.Remove(cp);
            }
            db.SaveChanges();
            //add changedpart from dgvParts
            for (int i = 0; i < dgvParts.Rows.Count; i++)
            {
                ChangedPart one = new ChangedPart();
                one.ID = "chp" + (i + 1) * DateTime.Now.ToString().GetHashCode();
                one.EmergencyMaintenanceID = int.Parse(dataReceived["EmergencyMaintenanceID"]);
                one.PartID = dgvParts.Rows[i].Cells["PartID"].Value.ToString();
                one.Amount = Convert.ToDouble(dgvParts.Rows[i].Cells["Amount"].Value);
                db.ChangedParts.Add(one);
            }
            db.SaveChanges();
            //LoadDataTable
            LoadDataTable();
            MessageBox.Show("Submit successful", "Notification");
        }