Example #1
0
        public async Task <IActionResult> PutTargetMaster(int id, TargetMaster targetMaster)
        {
            if (id != targetMaster.TagetId)
            {
                return(BadRequest());
            }

            _context.Entry(targetMaster).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TargetMasterExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Example #2
0
 public void UpdateTargetMaster(TargetMaster model)
 {
     _unitOfWork.TargetMasterRepository.Update(model);
     #region Clear cache when insert or update
     _cacheProviderService.Invalidate("TrackingTargetMaster");
     #endregion
 }
Example #3
0
        public async Task <ActionResult <IEnumerable <TargetMasterViewModel> > > GetTargetByMonth(string month)
        {
            try
            {
                DateTime selectedMonth = Convert.ToDateTime(month);
                selectedMonth = new DateTime(selectedMonth.Year, selectedMonth.Month, 1);

                Guid currentCompanyId = new Guid(User.Claims.FirstOrDefault(p => p.Type == "CompanyId").Value);

                var telecallerList = _context.UserMaster.Include(p => p.TargetMaster).Where(r => r.RoleId == (int)Roles.TeleCaller && r.Status == true && r.CompanyId == currentCompanyId).AsEnumerable();

                List <TargetMasterViewModel> targetViewList = new List <TargetMasterViewModel>();
                foreach (var item in telecallerList)
                {
                    var objTarget = item.TargetMaster.FirstOrDefault(p => p.MonthYear == selectedMonth);
                    if (objTarget == null)
                    {
                        objTarget = new TargetMaster();
                    }
                    targetViewList.Add(new TargetMasterViewModel()
                    {
                        TagetId = objTarget.TagetId, TelecallerId = item.UserId, TelecallerName = item.FirstName, TargetWeek1 = objTarget.TargetWeek1, MonthYear = objTarget.MonthYear
                    });
                }

                return(await Task.FromResult(targetViewList.OrderBy(p => p.TelecallerName).ToList()));
            }
            catch (Exception ex)
            {
                GenericMethods.Log(LogType.ErrorLog.ToString(), "GetTargetByMonth: " + ex.ToString());
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }
    public DataTable BindGvAllocateDetail(string empcode, int FY, string Flag)
    {
        DataTable dt = new DataTable();

        dt = TargetMaster.Get_AllocateKRA(empcode, FY, Flag);
        return(dt);
    }
Example #5
0
        public async Task <ActionResult <TargetMatrix> > GetTargetMatrix(string month)
        {
            try
            {
                DateTime selectedMonth = Convert.ToDateTime(month);
                selectedMonth = new DateTime(selectedMonth.Year, selectedMonth.Month, 1);

                var ListofWeeks = GetWeekRange.GetListofWeeks(selectedMonth.Year, selectedMonth.Month);

                //int noOfWeek = GetWeekNumberOfMonth(selectedMonth);

                TargetMatrix targetMatrix = new TargetMatrix()
                {
                    Header = new List <string>(), RowDataTargetMaster = new List <TargetMasterViewModel>()
                };
                targetMatrix.Header.Add("Tele Caller");
                foreach (dynamic item in ListofWeeks)
                {
                    DateTime FromDate = Convert.ToDateTime(item.DateFrom);
                    DateTime ToDate   = Convert.ToDateTime(item.To);
                    targetMatrix.Header.Add(FromDate.Day.ToString() + " - " + ToDate.Day.ToString());
                }
                //for (int i = 1; i <= ListofWeeks.Count(); i++)
                //    targetMatrix.Header.Add("Week " + i);

                Guid currentCompanyId = new Guid(User.Claims.FirstOrDefault(p => p.Type == "CompanyId").Value);
                var  telecallerList   = _context.UserMaster.Include(p => p.TargetMaster).Where(r => r.RoleId == (int)Roles.TeleCaller && r.Status == true && r.CompanyId == currentCompanyId).AsEnumerable();

                foreach (var userMaster in telecallerList)
                {
                    var objTarget = userMaster.TargetMaster.FirstOrDefault(p => p.MonthYear == selectedMonth);
                    if (objTarget == null)
                    {
                        objTarget = new TargetMaster();
                    }

                    targetMatrix.RowDataTargetMaster.Add(new TargetMasterViewModel()
                    {
                        TagetId        = objTarget.TagetId,
                        TelecallerName = userMaster.FirstName,
                        TelecallerId   = userMaster.UserId,
                        TargetWeek1    = objTarget.TargetWeek1,
                        TargetWeek2    = objTarget.TargetWeek2,
                        TargetWeek3    = objTarget.TargetWeek3,
                        TargetWeek4    = objTarget.TargetWeek4,
                        TargetWeek5    = objTarget.TargetWeek5,
                        TargetWeek6    = objTarget.TargetWeek6,
                    });
                }

                GenericMethods.Log(LogType.ActivityLog.ToString(), "GetTargetMatrix: -get tele caller target matrix in admin");
                return(await Task.FromResult(targetMatrix));
            }
            catch (Exception ex)
            {
                GenericMethods.Log(LogType.ErrorLog.ToString(), "GetTargetByMonth: " + ex.ToString());
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }
    public DataView BindGvAllocateDetail()
    {
        DataTable dt = new DataTable();

        dt = TargetMaster.Get_AllocateKRA(EmpCode);
        DataView dv = new DataView(dt);

        return(dv);
    }
    public DataView BindGvTargetDetail(int FY)
    {
        DataTable dt = new DataTable();

        dt = TargetMaster.Get_TargetMaster(FY);
        DataView dv = new DataView(dt);

        return(dv);
    }
    public void BindSalesman()
    {
        DDLtargetperson.DataSource = TargetMaster.Get_Employee_onUserLogin(EmpCode, "Allocate");
        DDLtargetperson.DataBind();

        DataTable dt = new DataTable();

        dt = TargetMaster.Get_Employee_onUserLogin(Session["UserName"].ToString(), "Allocate").Tables[1];
        if (dt.Rows.Count > 0)
        {
            lbltargetid.Text = dt.Rows[0]["TargetID"].ToString();
        }
    }
    protected void DDLtargetperson_SelectedIndexChanged(object sender, EventArgs e)
    {
        string ID = TargetMaster.get_Target_validateh_valid(Convert.ToInt32(DDLtargetperson.SelectedItem.Value), strFY);

        if (ID.ToLower() != "not set!")
        {
            MessageBox("Already has target");
            DDLtargetperson.Focus();
            DDLtargetperson.SelectedIndex = 0;
        }
        else
        {
            txttargetamt.Focus();
        }
    }
    protected void DDLsuperzone_SelectedIndexChanged(object sender, EventArgs e)
    {
        string strsts = TargetMaster.get_Target_validateh_valid(Convert.ToInt32(DDLsuperzone.SelectedItem.Value), strFY);

        lblDetails.Text = "Target Amount is " + strsts;


        if (strsts.ToLower() == "not set!")
        {
            btn_Save.Visible = false;
        }
        else
        {
            btn_Save.Visible = true;
        }
        getDDLdata();
    }
Example #11
0
        public async Task <IActionResult> PostTargetMatrix(string month, TargetMatrix targetMatrix)
        {
            try
            {
                if (targetMatrix.RowDataTargetMaster.Count > 0)
                {
                    DateTime selectedMonth = Convert.ToDateTime(month);
                    selectedMonth = new DateTime(selectedMonth.Year, selectedMonth.Month, 1);
                    int noOfWeek = GetWeekNumberOfMonth(selectedMonth);

                    List <TargetMaster> collTargetEntry = new List <TargetMaster>();
                    foreach (var item in targetMatrix.RowDataTargetMaster)
                    {
                        TargetMaster objTarget = new TargetMaster()
                        {
                            TagetId      = item.TagetId,
                            TelecallerId = item.TelecallerId,
                            MonthYear    = selectedMonth,
                            TargetWeek1  = item.TargetWeek1,
                            TargetWeek2  = item.TargetWeek2,
                            TargetWeek3  = item.TargetWeek3,
                            TargetWeek4  = item.TargetWeek4,
                            TargetWeek5  = item.TargetWeek5,
                            TargetWeek6  = item.TargetWeek6,
                        };
                        collTargetEntry.Add(objTarget);
                    }

                    _context.TargetMaster.UpdateRange(collTargetEntry);

                    await _context.SaveChangesAsync();

                    return(Ok("Target Created successfully!"));
                }
                else
                {
                    GenericMethods.Log(LogType.ErrorLog.ToString(), "PostTargetEntry: -target not exist");
                    return(NotFound("Target not found!"));
                }
            }
            catch (Exception ex)
            {
                GenericMethods.Log(LogType.ErrorLog.ToString(), "PostTargetEntry: " + ex.ToString());
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }
Example #12
0
        public async Task <ActionResult <TargetMaster> > PostTargetMaster(TargetMaster targetMaster)
        {
            _context.TargetMaster.Add(targetMaster);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateException)
            {
                if (TargetMasterExists(targetMaster.TagetId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtAction("GetTargetMaster", new { id = targetMaster.TagetId }, targetMaster));
        }
 public void BindSalesman()
 {
     DDLtargetperson.DataSource = TargetMaster.Get_Employee_onUserLogin(EmpCode, "Target");
     DDLtargetperson.DataBind();
     DDLtargetperson.Items.Insert(0, new ListItem("-- Select --", "0"));
 }
Example #14
0
        public async Task <ActionResult <TargetMatrix> > GetTargetVsAchieve(string month)
        {
            try
            {
                DateTime selectedMonth = Convert.ToDateTime(month);
                selectedMonth = new DateTime(selectedMonth.Year, selectedMonth.Month, 1);

                var          ListofWeeks     = GetWeekRange.GetListofWeeks(selectedMonth.Year, selectedMonth.Month);
                TargetMatrix targetVsAchieve = new TargetMatrix()
                {
                    Header = new List <string>(), RowDataTargetMaster = new List <TargetMasterViewModel>()
                };
                targetVsAchieve.Header.Add("Tele Caller");
                foreach (dynamic item in ListofWeeks)
                {
                    DateTime FromDate = Convert.ToDateTime(item.DateFrom);
                    DateTime ToDate   = Convert.ToDateTime(item.To);
                    targetVsAchieve.Header.Add(FromDate.Day.ToString() + " - " + ToDate.Day.ToString());
                }
                targetVsAchieve.Header.Add("Total");

                Guid currentCompanyId = new Guid(User.Claims.FirstOrDefault(p => p.Type == "CompanyId").Value);
                var  telecallerList   = _context.UserMaster.Include(p => p.TargetMaster).Where(r => r.RoleId == (int)Roles.TeleCaller && r.Status == true && r.CompanyId == currentCompanyId).AsNoTracking().AsEnumerable();

                foreach (var userMaster in telecallerList)
                {
                    var objTarget = userMaster.TargetMaster.FirstOrDefault(p => p.MonthYear == selectedMonth);
                    if (objTarget == null)
                    {
                        objTarget = new TargetMaster();
                    }

                    targetVsAchieve.RowDataTargetMaster.Add(new TargetMasterViewModel()
                    {
                        TagetId        = objTarget.TagetId,
                        TelecallerName = userMaster.FirstName,
                        TelecallerId   = userMaster.UserId,
                        TargetWeek1    = objTarget.TargetWeek1,
                        TargetWeek2    = objTarget.TargetWeek2,
                        TargetWeek3    = objTarget.TargetWeek3,
                        TargetWeek4    = objTarget.TargetWeek4,
                        TargetWeek5    = objTarget.TargetWeek5,
                        TargetWeek6    = objTarget.TargetWeek6,
                    });

                    int cntWeek = 0;
                    foreach (dynamic item in ListofWeeks)
                    {
                        cntWeek++;
                        DateTime FromDate = Convert.ToDateTime(item.DateFrom);
                        DateTime ToDate   = Convert.ToDateTime(item.To);

                        //OmniCRMContext con_text = new OmniCRMContext();
                        var TeleCallerLeads = _context.CallTransactionDetail.AsEnumerable().Where(q => Convert.ToDateTime(q.CreatedDate).Date >= FromDate.Date && Convert.ToDateTime(q.CreatedDate).Date <= ToDate.Date &&
                                                                                                  q.OutComeId != (int)Enums.CallOutcome.NoResponse &&
                                                                                                  q.OutComeId != (int)Enums.CallOutcome.None &&
                                                                                                  q.OutComeId != (int)Enums.CallOutcome.Dropped &&
                                                                                                  q.OutComeId != (int)Enums.CallOutcome.Interested &&
                                                                                                  q.CreatedBy == userMaster.UserId).GroupBy(x => x.CallId).Select(r => r.OrderBy(a => a.CallTransactionId).LastOrDefault());

                        var objAchive = targetVsAchieve.RowDataTargetMaster.FirstOrDefault(p => p.TelecallerId == userMaster.UserId);
                        switch (cntWeek)
                        {
                        case 1:
                            objAchive.AchieveWeek1 = TeleCallerLeads.Count();
                            break;

                        case 2:
                            objAchive.AchieveWeek2 = TeleCallerLeads.Count();
                            break;

                        case 3:
                            objAchive.AchieveWeek3 = TeleCallerLeads.Count();
                            break;

                        case 4:
                            objAchive.AchieveWeek4 = TeleCallerLeads.Count();
                            break;

                        case 5:
                            objAchive.AchieveWeek5 = TeleCallerLeads.Count();
                            break;

                        case 6:
                            objAchive.AchieveWeek6 = TeleCallerLeads.Count();
                            break;

                        default:
                            break;
                        }
                    }
                }

                GenericMethods.Log(LogType.ActivityLog.ToString(), "GetTargetVsAchieve: -get tele caller target vs achievement in admin");
                return(await Task.FromResult(targetVsAchieve));
            }
            catch (Exception ex)
            {
                GenericMethods.Log(LogType.ErrorLog.ToString(), "GetTargetByMonth: " + ex.ToString());
                return(StatusCode(StatusCodes.Status500InternalServerError, ex));
            }
        }
 public void fillzones()
 {
     DDLsuperzone.DataSource = TargetMaster.Get_Employee_onUserLogin(EmpCode, "Target");
     DDLsuperzone.DataBind();
     DDLsuperzone.Items.Insert(0, new ListItem("-- Select --", "0"));
 }
    protected void btn_Save_Click(object sender, EventArgs e)
    {
        string from = txtstartDate.Text.Split('/')[1] + "/" + txtstartDate.Text.Split('/')[0] + "/" + txtstartDate.Text.Split('/')[2];
        string To   = txtendate.Text.Split('/')[1] + "/" + txtendate.Text.Split('/')[0] + "/" + txtendate.Text.Split('/')[2];

        fdate = Convert.ToDateTime(from);
        tdate = Convert.ToDateTime(To);
        if (fdate > tdate)
        {
            MessageBox("Start Date Should be Greater than End Date");
            txtstartDate.Focus();
        }
        else
        {
            try
            {
                TargetMaster _objtarget = new TargetMaster();
                if (lblID.Text != "0")
                {
                    _objtarget.TargetId = Convert.ToInt32(lblID.Text.Trim());
                }
                else
                {
                    _objtarget.TargetId = 0;
                }
                _objtarget.TargetPersonId = Convert.ToInt32(DDLtargetperson.SelectedItem.Value);

                _objtarget.TargetAmt = Convert.ToDecimal(txttargetamt.Text.Trim());
                string StartDate = txtstartDate.Text.Split('/')[1] + "/" + txtstartDate.Text.Split('/')[0] + "/" + txtstartDate.Text.Split('/')[2];
                string endDate   = txtendate.Text.Split('/')[1] + "/" + txtendate.Text.Split('/')[0] + "/" + txtendate.Text.Split('/')[2];
                _objtarget.TargetStartDate = Convert.ToDateTime(StartDate);
                _objtarget.TargetEndDate   = Convert.ToDateTime(endDate);
                _objtarget.IsActive        = true;
                _objtarget.FY        = Convert.ToInt32(strFY);
                _objtarget.CreatedBy = Session["UserName"].ToString();
                string ID = TargetMaster.get_Target_validateh_valid(Convert.ToInt32(DDLtargetperson.SelectedItem.Value), strFY);
                if (ID.ToLower() != "not set!" && lblID.Text == "0")
                {
                    MessageBox("Already has target");
                    DDLtargetperson.Focus();
                    DDLtargetperson.SelectedIndex = 0;
                }
                else
                {
                    _objtarget.Save();
                    MessageBox(Constants.save);
                    if (btn_Save.Text == "Update")
                    {
                        pnlTargetdetails.Visible    = true;
                        PnlTarget.Visible           = false;
                        grdtargetDetails.DataSource = BindGvTargetDetail(Convert.ToInt32(strFY));
                        grdtargetDetails.DataBind();
                        btn_Save.Text    = "Save";
                        btn_Save.Visible = false;
                    }
                    else
                    {
                        pnlTargetdetails.Visible      = false;
                        PnlTarget.Visible             = true;
                        btn_Save.Text                 = "Update";
                        txttargetamt.Text             = "";
                        txtstartDate.Text             = "";
                        txtendate.Text                = "";
                        DDLtargetperson.SelectedValue = "0";
                    }
                }
            }

            catch { }
        }
    }
    protected void btn_Save_Click(object sender, EventArgs e)
    {
        foreach (GridViewRow rows in DDLtargetperson.Rows)
        {
            CheckBox chkSelect    = (CheckBox)rows.FindControl("chkSelected");
            Label    ZoneId       = (Label)rows.FindControl("lblZoneID");
            Label    ZoneName     = (Label)rows.FindControl("lblZoneName");
            Label    lblID        = (Label)rows.FindControl("lblID");
            TextBox  txtstartDate = (TextBox)rows.FindControl("txtstartDate");
            TextBox  txtendate    = (TextBox)rows.FindControl("txtendate");
            TextBox  txtAmount    = (TextBox)rows.FindControl("txtAmount");

            if (chkSelect.Checked == true)
            {
                string from = txtstartDate.Text.Split('/')[1] + "/" + txtstartDate.Text.Split('/')[0] + "/" + txtstartDate.Text.Split('/')[2];
                string To   = txtendate.Text.Split('/')[1] + "/" + txtendate.Text.Split('/')[0] + "/" + txtendate.Text.Split('/')[2];
                fdate = Convert.ToDateTime(from);
                tdate = Convert.ToDateTime(To);
                if (fdate > tdate)
                {
                    MessageBox("Start Date Should be Greater than End Date");
                    txtstartDate.Focus();
                }
                else
                {
                    try
                    {
                        TargetMaster _objtarget = new TargetMaster();
                        if (Convert.ToInt32(lblID.Text.ToString()) != 0)
                        {
                            _objtarget.TargetdetailsId = Convert.ToInt32(lblID.Text.Trim());
                        }
                        else
                        {
                            _objtarget.TargetdetailsId = 0;
                        }
                        //_objtarget.TargetPersonId = Convert.ToInt32(DDLtargetperson.SelectedItem.Value);
                        _objtarget.TargetAmt = Convert.ToDecimal(txtAmount.Text.Trim());

                        _objtarget.FY              = Convert.ToInt32(strFY);
                        _objtarget.TargetId        = Convert.ToInt32(DDLsuperzone.SelectedValue.ToString());
                        _objtarget.TargetPersonId  = Convert.ToInt32(ZoneId.Text);
                        _objtarget.TargetStartDate = Convert.ToDateTime(fdate);
                        _objtarget.TargetEndDate   = Convert.ToDateTime(tdate);
                        _objtarget.IsActive        = true;
                        _objtarget.CreatedBy       = Session["UserName"].ToString();
                        _objtarget.SaveAllocate();
                        MessageBox(Constants.save);
                        if (btn_Save.Text == "Update")
                        {
                            pnlallocatedetails.Visible = true;
                            Pnlallocate.Visible        = false;
                            //grdallocateDetails.DataSource = BindGvAllocateDetail();
                            //grdallocateDetails.DataBind();
                            btn_Save.Text    = "Save";
                            btn_Save.Visible = false;
                        }
                        else
                        {
                            pnlallocatedetails.Visible = false;
                            Pnlallocate.Visible        = true;

                            //txttargetamt.Text = "";
                            //txtstartDate.Text = "";
                            // txtendate.Text = "";
                        }
                    }

                    catch (Exception ex) { MessageBox("Error " + ex.Message.ToString()); }
                }
                DDLtargetperson.DataSource = BindGvAllocateDetail(DDLsuperzone.SelectedValue.ToString(), Convert.ToInt32(strFY), "");
            }
        }
    }